@datagrok/eda 1.1.25 → 1.1.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/settings.json +5 -0
- package/CHANGELOG.md +12 -0
- package/README.md +1 -0
- package/dist/05e5e0770f54f07e9474.wasm +0 -0
- package/dist/111.js +2 -0
- package/dist/111.js.map +1 -0
- package/dist/153.js +2 -0
- package/dist/153.js.map +1 -0
- package/dist/23.js +2 -2
- package/dist/23.js.map +1 -0
- package/dist/234.js +2 -0
- package/dist/234.js.map +1 -0
- package/dist/242.js +2 -0
- package/dist/242.js.map +1 -0
- package/dist/260.js +2 -0
- package/dist/260.js.map +1 -0
- package/dist/317.js +2 -0
- package/dist/317.js.map +1 -0
- package/dist/33.js +2 -0
- package/dist/33.js.map +1 -0
- package/dist/348.js +2 -0
- package/dist/348.js.map +1 -0
- package/dist/377.js +2 -0
- package/dist/377.js.map +1 -0
- package/dist/412.js +2 -0
- package/dist/412.js.map +1 -0
- package/dist/415.js +2 -0
- package/dist/415.js.map +1 -0
- package/dist/531.js +2 -0
- package/dist/531.js.map +1 -0
- package/dist/583.js +2 -0
- package/dist/583.js.map +1 -0
- package/dist/589.js +2 -0
- package/dist/589.js.map +1 -0
- package/dist/603.js +2 -0
- package/dist/603.js.map +1 -0
- package/dist/656.js +2 -0
- package/dist/656.js.map +1 -0
- package/dist/682.js +2 -0
- package/dist/682.js.map +1 -0
- package/dist/705.js +2 -0
- package/dist/705.js.map +1 -0
- package/dist/731.js +2 -0
- package/dist/731.js.map +1 -0
- package/dist/738.js +3 -0
- package/dist/738.js.map +1 -0
- package/dist/763.js +2 -0
- package/dist/763.js.map +1 -0
- package/dist/778.js +2 -0
- package/dist/778.js.map +1 -0
- package/dist/783.js +2 -0
- package/dist/783.js.map +1 -0
- package/dist/793.js +2 -0
- package/dist/793.js.map +1 -0
- package/dist/907.js +2 -0
- package/dist/907.js.map +1 -0
- package/dist/91.js +2 -0
- package/dist/91.js.map +1 -0
- package/dist/950.js +2 -0
- package/dist/950.js.map +1 -0
- package/dist/package-test.js +2 -2
- package/dist/package-test.js.map +1 -0
- package/dist/package.js +2 -2
- package/dist/package.js.map +1 -0
- package/package.json +92 -92
- package/scripts/command.txt +1 -1
- package/scripts/func.json +1 -1
- package/scripts/module.json +1 -1
- package/src/missing-values-imputation/ui.ts +80 -66
- package/src/package.ts +288 -38
- package/src/pls/pls-tools.ts +16 -15
- package/src/regression.ts +232 -0
- package/src/svm.ts +78 -38
- package/tsconfig.json +4 -4
- package/wasm/EDA.js +65 -1
- package/wasm/EDA.wasm +0 -0
- package/wasm/EDAAPI.js +30 -0
- package/wasm/EDAForWebWorker.js +1 -1
- package/wasm/callWasm.js +384 -393
- package/wasm/regression-api.cpp +66 -0
- package/wasm/regression.h +128 -0
- package/wasm/workers/fitLinearRegressionParamsWithDataNormalizingWorker.js +13 -0
- package/wasm/workers/fitLinearRegressionParamsWorker.js +13 -0
- package/webpack.config.js +1 -1
- package/dist/208.js +0 -2
- package/dist/221.js +0 -2
- package/dist/231.js +0 -2
- package/dist/261.js +0 -2
- package/dist/282.js +0 -2
- package/dist/334.js +0 -2
- package/dist/356.js +0 -2
- package/dist/36.js +0 -2
- package/dist/367.js +0 -2
- package/dist/374.js +0 -2
- package/dist/40.js +0 -2
- package/dist/413.js +0 -2
- package/dist/42.js +0 -2
- package/dist/427.js +0 -2
- package/dist/467.js +0 -2
- package/dist/523.js +0 -3
- package/dist/533.js +0 -2
- package/dist/590.js +0 -2
- package/dist/65.js +0 -2
- package/dist/694.js +0 -2
- package/dist/729.js +0 -2
- package/dist/796.js +0 -2
- package/dist/902.js +0 -2
- package/dist/910.js +0 -2
- package/dist/972.js +0 -2
- package/dist/f5343e2c2e15952ce916.wasm +0 -0
- /package/dist/{523.js.LICENSE.txt → 738.js.LICENSE.txt} +0 -0
package/dist/package-test.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var eda_test;(()=>{var t={7905:(t,e,n)=>{"use strict";t=n.hmd(t);var i,r=(i="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(t={}){var e,n,r=void 0!==t?t:{};r.ready=new Promise((function(t,i){e=t,n=i}));var s,o=Object.assign({},r),a="object"==typeof window,c="function"==typeof importScripts,l=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(a||c)&&(c?l=self.location.href:"undefined"!=typeof document&&document.currentScript&&(l=document.currentScript.src),i&&(l=i),l=0!==l.indexOf("blob:")?l.substr(0,l.replace(/[?#].*/,"").lastIndexOf("/")+1):"",c&&(s=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)})),r.print||console.log.bind(console);var u,h,f=r.printErr||console.warn.bind(console);Object.assign(r,o),o=null,r.arguments&&r.arguments,r.thisProgram&&r.thisProgram,r.quit&&r.quit,r.wasmBinary&&(u=r.wasmBinary),r.noExitRuntime,"object"!=typeof WebAssembly&&b("no native wasm support detected");var d,y,g,m=!1;function p(){var t=h.buffer;r.HEAP8=d=new Int8Array(t),r.HEAP16=new Int16Array(t),r.HEAP32=new Int32Array(t),r.HEAPU8=y=new Uint8Array(t),r.HEAPU16=new Uint16Array(t),r.HEAPU32=g=new Uint32Array(t),r.HEAPF32=new Float32Array(t),r.HEAPF64=new Float64Array(t)}var x=[],C=[],A=[],v=0,_=null,E=null;function b(t){r.onAbort&&r.onAbort(t),f(t="Aborted("+t+")"),m=!0,t+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(t);throw n(e),e}var N,w;function M(t){return t.startsWith("data:application/octet-stream;base64,")}function S(t){try{if(t==N&&u)return new Uint8Array(u);if(s)return s(t);throw"both async and sync fetching of the wasm failed"}catch(t){b(t)}}function I(t,e,n){return function(t){return u||!a&&!c||"function"!=typeof fetch?Promise.resolve().then((function(){return S(t)})):fetch(t,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+t+"'";return e.arrayBuffer()})).catch((function(){return S(t)}))}(t).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(t){return t})).then(n,(function(t){f("failed to asynchronously prepare wasm: "+t),b(t)}))}function O(t){for(;t.length>0;)t.shift()(r)}function L(t){this.excPtr=t,this.ptr=t-24,this.set_type=function(t){g[this.ptr+4>>2]=t},this.get_type=function(){return g[this.ptr+4>>2]},this.set_destructor=function(t){g[this.ptr+8>>2]=t},this.get_destructor=function(){return g[this.ptr+8>>2]},this.set_caught=function(t){t=t?1:0,d[this.ptr+12>>0]=t},this.get_caught=function(){return 0!=d[this.ptr+12>>0]},this.set_rethrown=function(t){t=t?1:0,d[this.ptr+13>>0]=t},this.get_rethrown=function(){return 0!=d[this.ptr+13>>0]},this.init=function(t,e){this.set_adjusted_ptr(0),this.set_type(t),this.set_destructor(e)},this.set_adjusted_ptr=function(t){g[this.ptr+16>>2]=t},this.get_adjusted_ptr=function(){return g[this.ptr+16>>2]},this.get_exception_ptr=function(){if(W(this.get_type()))return g[this.excPtr>>2];var t=this.get_adjusted_ptr();return 0!==t?t:this.excPtr}}function T(t){var e=h.buffer;try{return h.grow(t-e.byteLength+65535>>>16),p(),1}catch(t){}}function R(t){return r["_"+t]}M(N="wasmDbscan.wasm")||(w=N,N=r.locateFile?r.locateFile(w,l):l+w);var D="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function k(t,e,n,i,r){var s={string:t=>{var e=0;return null!=t&&0!==t&&(e=function(t){var e=function(t){for(var e=0,n=0;n<t.length;++n){var i=t.charCodeAt(n);i<=127?e++:i<=2047?e+=2:i>=55296&&i<=57343?(e+=4,++n):e+=3}return e}(t)+1,n=F(e);return function(t,e,n){!function(t,e,n,i){if(!(i>0))return 0;for(var r=n+i-1,s=0;s<t.length;++s){var o=t.charCodeAt(s);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&t.charCodeAt(++s)),o<=127){if(n>=r)break;e[n++]=o}else if(o<=2047){if(n+1>=r)break;e[n++]=192|o>>6,e[n++]=128|63&o}else if(o<=65535){if(n+2>=r)break;e[n++]=224|o>>12,e[n++]=128|o>>6&63,e[n++]=128|63&o}else{if(n+3>=r)break;e[n++]=240|o>>18,e[n++]=128|o>>12&63,e[n++]=128|o>>6&63,e[n++]=128|63&o}}e[n]=0}(t,y,e,n)}(t,n,e),n}(t)),e},array:t=>{var e,n,i=F(t.length);return e=t,n=i,d.set(e,n),i}},o=R(t),a=[],c=0;if(i)for(var l=0;l<i.length;l++){var u=s[n[l]];u?(0===c&&(c=U()),a[l]=u(i[l])):a[l]=i[l]}var h=o.apply(null,a);return function(t){return 0!==c&&B(c),function(t){return"string"===e?(n=t)?function(t,e,n){for(var i=e+n,r=e;t[r]&&!(r>=i);)++r;if(r-e>16&&t.buffer&&D)return D.decode(t.subarray(e,r));for(var s="";e<r;){var o=t[e++];if(128&o){var a=63&t[e++];if(192!=(224&o)){var c=63&t[e++];if((o=224==(240&o)?(15&o)<<12|a<<6|c:(7&o)<<18|a<<12|c<<6|63&t[e++])<65536)s+=String.fromCharCode(o);else{var l=o-65536;s+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s}(y,n,i):"":"boolean"===e?Boolean(t):t;var n,i}(t)}(h)}var H,P={__cxa_throw:function(t,e,n){throw new L(t).init(e,n),t},abort:function(){b("")},emscripten_memcpy_big:function(t,e,n){y.copyWithin(t,e,e+n)},emscripten_resize_heap:function(t){var e,n=y.length,i=2147483648;if((t>>>=0)>i)return!1;for(var r=1;r<=4;r*=2){var s=n*(1+.2/r);if(s=Math.min(s,t+100663296),T(Math.min(i,(e=Math.max(t,s))+(65536-e%65536)%65536)))return!0}return!1}},U=(function(){var t,e,i,s,o={env:P,wasi_snapshot_preview1:P};function a(t,e){var n,i=t.exports;return r.asm=i,h=r.asm.memory,p(),r.asm.__indirect_function_table,n=r.asm.__wasm_call_ctors,C.unshift(n),function(t){if(v--,r.monitorRunDependencies&&r.monitorRunDependencies(v),0==v&&(null!==_&&(clearInterval(_),_=null),E)){var e=E;E=null,e()}}(),i}if(v++,r.monitorRunDependencies&&r.monitorRunDependencies(v),r.instantiateWasm)try{return r.instantiateWasm(o,a)}catch(t){f("Module.instantiateWasm callback failed with error: "+t),n(t)}(t=u,e=N,i=o,s=function(t){a(t.instance)},t||"function"!=typeof WebAssembly.instantiateStreaming||M(e)||"function"!=typeof fetch?I(e,i,s):fetch(e,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,i).then(s,(function(t){return f("wasm streaming compile failed: "+t),f("falling back to ArrayBuffer instantiation"),I(e,i,s)}))}))).catch(n)}(),r._dbscan=function(){return(r._dbscan=r.asm.dbscan).apply(null,arguments)},r._malloc=function(){return(r._malloc=r.asm.malloc).apply(null,arguments)},r._free=function(){return(r._free=r.asm.free).apply(null,arguments)},function(){return(U=r.asm.stackSave).apply(null,arguments)}),B=function(){return(B=r.asm.stackRestore).apply(null,arguments)},F=function(){return(F=r.asm.stackAlloc).apply(null,arguments)},W=function(){return(W=r.asm.__cxa_is_pointer_type).apply(null,arguments)};function V(){function t(){H||(H=!0,r.calledRun=!0,m||(O(C),e(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)t=r.postRun.shift(),A.unshift(t);var t;O(A)}()))}v>0||(function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)t=r.preRun.shift(),x.unshift(t);var t;O(x)}(),v>0||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),t()}),1)):t()))}if(r.ccall=k,r.cwrap=function(t,e,n,i){var r=!n||n.every((t=>"number"===t||"boolean"===t));return"string"!==e&&r&&!i?R(t):function(){return k(t,e,n,arguments)}},E=function t(){H||V(),H||(E=t)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return V(),t.ready});"object"==typeof exports?t.exports=r:"function"==typeof define&&n.amdO?define([],(function(){return r})):"object"==typeof exports&&(exports.exportCppDbscanLib=r)},9133:function(t,e,n){var i;!function(e,r){var s={};!function(t){"use strict";t.__esModule=!0,t.digestLength=32,t.blockSize=64;var e=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function n(t,n,i,r,s){for(var o,a,c,l,u,h,f,d,y,g,m,p,x;s>=64;){for(o=n[0],a=n[1],c=n[2],l=n[3],u=n[4],h=n[5],f=n[6],d=n[7],g=0;g<16;g++)m=r+4*g,t[g]=(255&i[m])<<24|(255&i[m+1])<<16|(255&i[m+2])<<8|255&i[m+3];for(g=16;g<64;g++)p=((y=t[g-2])>>>17|y<<15)^(y>>>19|y<<13)^y>>>10,x=((y=t[g-15])>>>7|y<<25)^(y>>>18|y<<14)^y>>>3,t[g]=(p+t[g-7]|0)+(x+t[g-16]|0);for(g=0;g<64;g++)p=(((u>>>6|u<<26)^(u>>>11|u<<21)^(u>>>25|u<<7))+(u&h^~u&f)|0)+(d+(e[g]+t[g]|0)|0)|0,x=((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+(o&a^o&c^a&c)|0,d=f,f=h,h=u,u=l+p|0,l=c,c=a,a=o,o=p+x|0;n[0]+=o,n[1]+=a,n[2]+=c,n[3]+=l,n[4]+=u,n[5]+=h,n[6]+=f,n[7]+=d,r+=64,s-=64}return r}var i=function(){function e(){this.digestLength=t.digestLength,this.blockSize=t.blockSize,this.state=new Int32Array(8),this.temp=new Int32Array(64),this.buffer=new Uint8Array(128),this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this.reset()}return e.prototype.reset=function(){return this.state[0]=1779033703,this.state[1]=3144134277,this.state[2]=1013904242,this.state[3]=2773480762,this.state[4]=1359893119,this.state[5]=2600822924,this.state[6]=528734635,this.state[7]=1541459225,this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this},e.prototype.clean=function(){for(var t=0;t<this.buffer.length;t++)this.buffer[t]=0;for(t=0;t<this.temp.length;t++)this.temp[t]=0;this.reset()},e.prototype.update=function(t,e){if(void 0===e&&(e=t.length),this.finished)throw new Error("SHA256: can't update because hash was finished.");var i=0;if(this.bytesHashed+=e,this.bufferLength>0){for(;this.bufferLength<64&&e>0;)this.buffer[this.bufferLength++]=t[i++],e--;64===this.bufferLength&&(n(this.temp,this.state,this.buffer,0,64),this.bufferLength=0)}for(e>=64&&(i=n(this.temp,this.state,t,i,e),e%=64);e>0;)this.buffer[this.bufferLength++]=t[i++],e--;return this},e.prototype.finish=function(t){if(!this.finished){var e=this.bytesHashed,i=this.bufferLength,r=e/536870912|0,s=e<<3,o=e%64<56?64:128;this.buffer[i]=128;for(var a=i+1;a<o-8;a++)this.buffer[a]=0;this.buffer[o-8]=r>>>24&255,this.buffer[o-7]=r>>>16&255,this.buffer[o-6]=r>>>8&255,this.buffer[o-5]=r>>>0&255,this.buffer[o-4]=s>>>24&255,this.buffer[o-3]=s>>>16&255,this.buffer[o-2]=s>>>8&255,this.buffer[o-1]=s>>>0&255,n(this.temp,this.state,this.buffer,0,o),this.finished=!0}for(a=0;a<8;a++)t[4*a+0]=this.state[a]>>>24&255,t[4*a+1]=this.state[a]>>>16&255,t[4*a+2]=this.state[a]>>>8&255,t[4*a+3]=this.state[a]>>>0&255;return this},e.prototype.digest=function(){var t=new Uint8Array(this.digestLength);return this.finish(t),t},e.prototype._saveState=function(t){for(var e=0;e<this.state.length;e++)t[e]=this.state[e]},e.prototype._restoreState=function(t,e){for(var n=0;n<this.state.length;n++)this.state[n]=t[n];this.bytesHashed=e,this.finished=!1,this.bufferLength=0},e}();t.Hash=i;var r=function(){function t(t){this.inner=new i,this.outer=new i,this.blockSize=this.inner.blockSize,this.digestLength=this.inner.digestLength;var e=new Uint8Array(this.blockSize);if(t.length>this.blockSize)(new i).update(t).finish(e).clean();else for(var n=0;n<t.length;n++)e[n]=t[n];for(n=0;n<e.length;n++)e[n]^=54;for(this.inner.update(e),n=0;n<e.length;n++)e[n]^=106;for(this.outer.update(e),this.istate=new Uint32Array(8),this.ostate=new Uint32Array(8),this.inner._saveState(this.istate),this.outer._saveState(this.ostate),n=0;n<e.length;n++)e[n]=0}return t.prototype.reset=function(){return this.inner._restoreState(this.istate,this.inner.blockSize),this.outer._restoreState(this.ostate,this.outer.blockSize),this},t.prototype.clean=function(){for(var t=0;t<this.istate.length;t++)this.ostate[t]=this.istate[t]=0;this.inner.clean(),this.outer.clean()},t.prototype.update=function(t){return this.inner.update(t),this},t.prototype.finish=function(t){return this.outer.finished?this.outer.finish(t):(this.inner.finish(t),this.outer.update(t,this.digestLength).finish(t)),this},t.prototype.digest=function(){var t=new Uint8Array(this.digestLength);return this.finish(t),t},t}();function s(t){var e=(new i).update(t),n=e.digest();return e.clean(),n}function o(t,e){var n=new r(t).update(e),i=n.digest();return n.clean(),i}function a(t,e,n,i){var r=i[0];if(0===r)throw new Error("hkdf: cannot expand more");e.reset(),r>1&&e.update(t),n&&e.update(n),e.update(i),e.finish(t),i[0]++}t.HMAC=r,t.hash=s,t.default=s,t.hmac=o;var c=new Uint8Array(t.digestLength);t.hkdf=function(t,e,n,i){void 0===e&&(e=c),void 0===i&&(i=32);for(var s=new Uint8Array([1]),l=o(e,t),u=new r(l),h=new Uint8Array(u.digestLength),f=h.length,d=new Uint8Array(i),y=0;y<i;y++)f===h.length&&(a(h,u,n,s),f=0),d[y]=h[f++];return u.clean(),h.fill(0),s.fill(0),d},t.pbkdf2=function(t,e,n,i){for(var s=new r(t),o=s.digestLength,a=new Uint8Array(4),c=new Uint8Array(o),l=new Uint8Array(o),u=new Uint8Array(i),h=0;h*o<i;h++){var f=h+1;a[0]=f>>>24&255,a[1]=f>>>16&255,a[2]=f>>>8&255,a[3]=f>>>0&255,s.reset(),s.update(e),s.update(a),s.finish(l);for(var d=0;d<o;d++)c[d]=l[d];for(d=2;d<=n;d++){s.reset(),s.update(l).finish(l);for(var y=0;y<o;y++)c[y]^=l[y]}for(d=0;d<o&&h*o+d<i;d++)u[h*o+d]=c[d]}for(h=0;h<o;h++)c[h]=l[h]=0;for(h=0;h<4;h++)a[h]=0;return s.clean(),u}}(s);var o=s.default;for(var a in s)o[a]=s[a];"object"==typeof t.exports?t.exports=o:void 0===(i=function(){return o}.call(s,n,s,t))||(t.exports=i)}()},3979:(t,e)=>{"use strict";e.H$=void 0,e.H$=function(t,e,n){var i=function(t,e,n){if(0===t.length||0===e.length)return 0;if(n&&!n.caseSensitive&&(t=t.toUpperCase(),e=e.toUpperCase()),t===e)return 1;for(var i=0,r=t.length,s=e.length,o=Math.floor(Math.max(r,s)/2)-1,a=new Array(r),c=new Array(s),l=0;l<r;l++)for(var u=Math.max(0,l-o);u<=Math.min(s,l+o+1);u++)if(!a[l]&&!c[u]&&t[l]===e[u]){++i,a[l]=c[u]=!0;break}if(0===i)return 0;var h=0,f=0;for(l=0;l<r;l++)if(a[l]){for(;!c[f];)f++;t.charAt(l)!==e.charAt(f++)&&h++}return(i/r+i/s+(i-(h/=2))/i)/3}(t,e,n),r=0;if(i>.7){for(var s=Math.min(t.length,e.length),o=0;t[o]===e[o]&&o<4&&o<s;)++r,o++;i+=.1*r*(1-i)}return i}}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var s=e[i]={id:i,loaded:!1,exports:{}};return t[i].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.m=t,n.amdO={},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.u=t=>t+".js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.hmd=t=>((t=Object.create(t)).children||(t.children=[]),Object.defineProperty(t,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+t.id)}}),t),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t;n.g.importScripts&&(t=n.g.location+"");var e=n.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var i=e.getElementsByTagName("script");if(i.length)for(var r=i.length-1;r>-1&&!t;)t=i[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=t})(),n.b=document.baseURI||self.location.href;var i={};(()=>{"use strict";n.r(i),n.d(i,{_package:()=>bt,test:()=>Nt,tests:()=>f});const t=DG,e=grok;n(9133);const r=t.DataFrame.fromCsv('countries,fasta,smiles,molregno,LON,Zip Code,Street Address Line 1,ImageUrl,user_id,error_message,xray,flag,magnitude,CS-id,pdb_id,accel_a,time_offset,chart,fit,Questions,empty_number,empty_string\nBelgium,MSNFHNEHVMQFYRNNLKTKGVFGRQ,CC(C(=O)OCCCc1cccnc1)c2cccc(c2)C(=O)c3ccccc3,1480014,36.276729583740234,995042300,14016 ROUTE 31W,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,1,1,1QBS,1,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[2.497360340644872, 1.7058694986686864, 5.278052678195135, 0.16000320889028383],""points"":[{""x"":0.10000000149011612,""y"":2.374499797821045},{""x"":0.6000000238418579,""y"":2.6242473125457764},{""x"":1.100000023841858,""y"":2.367267608642578},{""x"":1.600000023841858,""y"":2.6723148822784424},{""x"":2.0999999046325684,""y"":2.6537344455718994},{""x"":2.5999999046325684,""y"":2.3651671409606934},{""x"":3.0999999046325684,""y"":2.5654284954071045},{""x"":3.5999999046325684,""y"":2.4160959720611572},{""x"":4.099999904632568,""y"":2.286726713180542},{""x"":4.599999904632568,""y"":2.5100042819976807},{""x"":5.099999904632568,""y"":1.6676985025405884},{""x"":5.599999904632568,""y"":0.680136501789093},{""x"":6.099999904632568,""y"":0.3391543924808502},{""x"":6.599999904632568,""y"":0.09038983285427094},{""x"":7.099999904632568,""y"":0.19802775979042053}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[7.525235855508179, 1.3186911876809984, 5.335672608564294, 0.7860743343958098],""points"":[{""x"":0.10000000149011612,""y"":7.988070487976074},{""x"":0.6000000238418579,""y"":7.018453121185303},{""x"":1.100000023841858,""y"":8.115279197692871},{""x"":1.600000023841858,""y"":7.486658096313477},{""x"":2.0999999046325684,""y"":7.396438121795654},{""x"":2.5999999046325684,""y"":7.477052211761475},{""x"":3.0999999046325684,""y"":6.913095474243164},{""x"":3.5999999046325684,""y"":8.01385498046875},{""x"":4.099999904632568,""y"":6.985900402069092},{""x"":4.599999904632568,""y"":6.970335960388184},{""x"":5.099999904632568,""y"":5.448817253112793},{""x"":5.599999904632568,""y"":2.5534818172454834},{""x"":6.099999904632568,""y"":1.893947958946228},{""x"":6.599999904632568,""y"":0.6340042352676392},{""x"":7.099999904632568,""y"":0.8403874039649963}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,100,abc\nBurundi,MDYKETLLMPKTDFPMRGGLPNKEPQIQEKW,COc1ccc2cc(ccc2c1)C(C)C(=O)Oc3ccc(C)cc3OC,1480015,36.276729583740234,995073444,80 STATE HIGHWAY 310,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,2,2,1ZP8,2,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[4.431460753103398, 2.1691498799246745, 5.266445597102774, 0.7825762827017926],""points"":[{""x"":0.10000000149011612,""y"":4.751083850860596},{""x"":0.6000000238418579,""y"":4.203000068664551},{""x"":1.100000023841858,""y"":4.415858745574951},{""x"":1.600000023841858,""y"":4.68414306640625},{""x"":2.0999999046325684,""y"":4.198400974273682},{""x"":2.5999999046325684,""y"":4.179222106933594},{""x"":3.0999999046325684,""y"":4.638473987579346},{""x"":3.5999999046325684,""y"":4.708553314208984},{""x"":4.099999904632568,""y"":4.291589260101318},{""x"":4.599999904632568,""y"":4.038082599639893},{""x"":5.099999904632568,""y"":3.4349939823150635},{""x"":5.599999904632568,""y"":1.2194708585739136},{""x"":6.099999904632568,""y"":1.1920831203460693},{""x"":6.599999904632568,""y"":0.5352635979652405},{""x"":7.099999904632568,""y"":0.3346920311450958}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[2.339458017970126, -1.0734184310171178, 4.746332950550934, 0.2482416857595658],""points"":[{""x"":0.10000000149011612,""y"":0.2139337658882141},{""x"":0.6000000238418579,""y"":0.4269562065601349},{""x"":1.100000023841858,""y"":0.2441573292016983},{""x"":1.600000023841858,""y"":0.146635964512825},{""x"":2.0999999046325684,""y"":0.08818462491035461},{""x"":2.5999999046325684,""y"":0.2560656666755676},{""x"":3.0999999046325684,""y"":0.42434045672416687},{""x"":3.5999999046325684,""y"":0.37111231684684753},{""x"":4.099999904632568,""y"":0.5581737160682678},{""x"":4.599999904632568,""y"":1.183590054512024},{""x"":5.099999904632568,""y"":1.5629843473434448},{""x"":5.599999904632568,""y"":2.3211288452148438},{""x"":6.099999904632568,""y"":2.229961633682251},{""x"":6.599999904632568,""y"":2.2560226917266846},{""x"":7.099999904632568,""y"":2.2142398357391357}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nCameroon,MIEVFLFGIVLGLIPITLAGLFVTAYLQYRRGDQLDL,COc1ccc2cc(ccc2c1)C(C)C(=O)OCCCc3cccnc3,1480016,36.26095962524414,995153596,30-56 WHITESTONE EXPY,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,3,3,2BDJ,3,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[4.6760652578642325, 0.9046956320756703, 5.651408971856738, 0.07738846012184185],""points"":[{""x"":0.10000000149011612,""y"":4.32425594329834},{""x"":0.6000000238418579,""y"":4.668442249298096},{""x"":1.100000023841858,""y"":4.379785060882568},{""x"":1.600000023841858,""y"":5.0345139503479},{""x"":2.0999999046325684,""y"":4.878653526306152},{""x"":2.5999999046325684,""y"":4.3451313972473145},{""x"":3.0999999046325684,""y"":4.336992263793945},{""x"":3.5999999046325684,""y"":5.037430286407471},{""x"":4.099999904632568,""y"":5.0092692375183105},{""x"":4.599999904632568,""y"":4.151902675628662},{""x"":5.099999904632568,""y"":3.4066951274871826},{""x"":5.599999904632568,""y"":2.3732759952545166},{""x"":6.099999904632568,""y"":1.673728108406067},{""x"":6.599999904632568,""y"":0.48574790358543396},{""x"":7.099999904632568,""y"":0.2783052325248718}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[2.938395863010111, -1.4658480661392117, 5.462702751996584, 0.3473139023615039],""points"":[{""x"":0.10000000149011612,""y"":0.4941710829734802},{""x"":0.6000000238418579,""y"":0.15323974192142487},{""x"":1.100000023841858,""y"":0.46373432874679565},{""x"":1.600000023841858,""y"":0.3370431363582611},{""x"":2.0999999046325684,""y"":0.5179030299186707},{""x"":2.5999999046325684,""y"":0.27899765968322754},{""x"":3.0999999046325684,""y"":0.22075064480304718},{""x"":3.5999999046325684,""y"":0.5789918899536133},{""x"":4.099999904632568,""y"":0.21169911324977875},{""x"":4.599999904632568,""y"":0.27857646346092224},{""x"":5.099999904632568,""y"":1.0906332731246948},{""x"":5.599999904632568,""y"":1.8520300388336182},{""x"":6.099999904632568,""y"":2.7177059650421143},{""x"":6.599999904632568,""y"":2.8680918216705322},{""x"":7.099999904632568,""y"":3.2413077354431152}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nCanada,MMELVLKTIIGPIVVGVVLRIVDKWLNKDK,CC(C(=O)NCCS)c1cccc(c1)C(=O)c2ccccc2,1480017,36.26095962524414,99515,30-56 WHITESTONE EXPY,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,4,4,1IAN,4,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[0.8597390975430008, 1.0957625732481946, 5.260537067987958, 0.07974187998177736],""points"":[{""x"":0.10000000149011612,""y"":0.8190152645111084},{""x"":0.6000000238418579,""y"":0.8421689867973328},{""x"":1.100000023841858,""y"":0.8740922212600708},{""x"":1.600000023841858,""y"":0.8924275040626526},{""x"":2.0999999046325684,""y"":0.8249067664146423},{""x"":2.5999999046325684,""y"":0.9327669143676758},{""x"":3.0999999046325684,""y"":0.8522974252700806},{""x"":3.5999999046325684,""y"":0.8174492716789246},{""x"":4.099999904632568,""y"":0.8394647240638733},{""x"":4.599999904632568,""y"":0.7139387726783752},{""x"":5.099999904632568,""y"":0.5561167597770691},{""x"":5.599999904632568,""y"":0.3276226818561554},{""x"":6.099999904632568,""y"":0.12479474395513535},{""x"":6.599999904632568,""y"":0.13006797432899475},{""x"":7.099999904632568,""y"":0.059702079743146896}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[5.760930219582546, 1.6591793293833013, 4.667155929720851, 0.7858109544121652],""points"":[{""x"":0.10000000149011612,""y"":6.156993389129639},{""x"":0.6000000238418579,""y"":5.236701965332031},{""x"":1.100000023841858,""y"":6.010560512542725},{""x"":1.600000023841858,""y"":5.495512962341309},{""x"":2.0999999046325684,""y"":6.087770462036133},{""x"":2.5999999046325684,""y"":5.79986572265625},{""x"":3.0999999046325684,""y"":5.597546577453613},{""x"":3.5999999046325684,""y"":5.520902156829834},{""x"":4.099999904632568,""y"":5.360654354095459},{""x"":4.599999904632568,""y"":3.5539746284484863},{""x"":5.099999904632568,""y"":1.577236294746399},{""x"":5.599999904632568,""y"":1.0001264810562134},{""x"":6.099999904632568,""y"":0.9305797815322876},{""x"":6.599999904632568,""y"":0.6033638715744019},{""x"":7.099999904632568,""y"":0.4203685522079468}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nColombia,MDRTDEVSNHTHDKPTLTWFEEIFEEYHSPFHN,FC(F)(F)c1ccc(OC2CCNCC2)cc1,1480029,36.3309440612793,995152050,1 COURT HOUSE SQUARE,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,5,5,4UJ1,5,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[6.4995088314153655, 2.4270351004539914, 5.178659535348579, 0.625653346241577],""points"":[{""x"":0.10000000149011612,""y"":6.496231555938721},{""x"":0.6000000238418579,""y"":6.42543363571167},{""x"":1.100000023841858,""y"":7.040063858032227},{""x"":1.600000023841858,""y"":6.1115403175354},{""x"":2.0999999046325684,""y"":6.680728435516357},{""x"":2.5999999046325684,""y"":6.406774520874023},{""x"":3.0999999046325684,""y"":6.611269474029541},{""x"":3.5999999046325684,""y"":5.889094352722168},{""x"":4.099999904632568,""y"":6.75344705581665},{""x"":4.599999904632568,""y"":6.361435890197754},{""x"":5.099999904632568,""y"":4.1666975021362305},{""x"":5.599999904632568,""y"":1.172118902206421},{""x"":6.099999904632568,""y"":0.801048994064331},{""x"":6.599999904632568,""y"":0.4640021026134491},{""x"":7.099999904632568,""y"":0.0010357667924836278}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[1.4734381347446401, 1.1649805188074196, 4.82958608866421, 0.09500545496710007],""points"":[{""x"":0.10000000149011612,""y"":1.5279096364974976},{""x"":0.6000000238418579,""y"":1.3559974431991577},{""x"":1.100000023841858,""y"":1.5246378183364868},{""x"":1.600000023841858,""y"":1.5567657947540283},{""x"":2.0999999046325684,""y"":1.4114240407943726},{""x"":2.5999999046325684,""y"":1.4045010805130005},{""x"":3.0999999046325684,""y"":1.4769829511642456},{""x"":3.5999999046325684,""y"":1.4875500202178955},{""x"":4.099999904632568,""y"":1.2991987466812134},{""x"":4.599999904632568,""y"":0.922961413860321},{""x"":5.099999904632568,""y"":0.6520044803619385},{""x"":5.599999904632568,""y"":0.15350978076457977},{""x"":6.099999904632568,""y"":0.1078903079032898},{""x"":6.599999904632568,""y"":0.17276449501514435},{""x"":7.099999904632568,""y"":0.14066608250141144}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nCosta Rica,MKSTKEEIQTIKTLLKDSRTAKYHKRLQIVL,CC(C)Cc1ccc(cc1)C(C)C(=O)N2CCCC2C(=O)OCCCc3ccccc3,1480018,36.3309440612793,995084218,4041 SOUTHWESTERN BLVD,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,6,6,2BPW,6,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[2.4833641843311227, -1.8945978742090062, 4.671127708092568, 0.24159861311815153],""points"":[{""x"":0.10000000149011612,""y"":0.0969524160027504},{""x"":0.6000000238418579,""y"":0.028483040630817413},{""x"":1.100000023841858,""y"":0.22087176144123077},{""x"":1.600000023841858,""y"":0.0068915546871721745},{""x"":2.0999999046325684,""y"":0.4305879771709442},{""x"":2.5999999046325684,""y"":0.44774115085601807},{""x"":3.0999999046325684,""y"":0.45346319675445557},{""x"":3.5999999046325684,""y"":0.2370593100786209},{""x"":4.099999904632568,""y"":0.4657953977584839},{""x"":4.599999904632568,""y"":1.155200719833374},{""x"":5.099999904632568,""y"":2.2294070720672607},{""x"":5.599999904632568,""y"":2.4311530590057373},{""x"":6.099999904632568,""y"":2.33846116065979},{""x"":6.599999904632568,""y"":2.608201026916504},{""x"":7.099999904632568,""y"":2.8136143684387207}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[5.224573521642033, 1.4454033924198528, 5.6014197746076535, 0.2823216054197577],""points"":[{""x"":0.10000000149011612,""y"":4.95027494430542},{""x"":0.6000000238418579,""y"":5.1754679679870605},{""x"":1.100000023841858,""y"":5.276752948760986},{""x"":1.600000023841858,""y"":5.589294910430908},{""x"":2.0999999046325684,""y"":5.616994857788086},{""x"":2.5999999046325684,""y"":5.120813846588135},{""x"":3.0999999046325684,""y"":5.340766906738281},{""x"":3.5999999046325684,""y"":4.876471042633057},{""x"":4.099999904632568,""y"":4.94999361038208},{""x"":4.599999904632568,""y"":5.162564754486084},{""x"":5.099999904632568,""y"":4.399557590484619},{""x"":5.599999904632568,""y"":2.7977969646453857},{""x"":6.099999904632568,""y"":1.0229872465133667},{""x"":6.599999904632568,""y"":0.48275601863861084},{""x"":7.099999904632568,""y"":0.10408931970596313}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nCuba,MHAILRYFIRRLFYHIFYKIYSLISKKHQSLPSDVRQF,COc1ccc2c(c1)c(CC(=O)N3CCCC3C(=O)Oc4ccc(C)cc4OC)c(C)n2C(=O)c5ccc(Cl)cc5,1480019,36.33115768432617,995081928,1227 US HIGHWAY 11,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,7,7,1QBS,7,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[3.320838679713925, -1.2421619987316728, 4.831325425225256, 0.3236011098403072],""points"":[{""x"":0.10000000149011612,""y"":0.3727470338344574},{""x"":0.6000000238418579,""y"":0.12365014106035233},{""x"":1.100000023841858,""y"":0.48422467708587646},{""x"":1.600000023841858,""y"":0.2264465093612671},{""x"":2.0999999046325684,""y"":0.16821794211864471},{""x"":2.5999999046325684,""y"":0.3879014551639557},{""x"":3.0999999046325684,""y"":0.5470244884490967},{""x"":3.5999999046325684,""y"":0.3419053554534912},{""x"":4.099999904632568,""y"":0.7655120491981506},{""x"":4.599999904632568,""y"":1.2346516847610474},{""x"":5.099999904632568,""y"":2.453336715698242},{""x"":5.599999904632568,""y"":2.9565491676330566},{""x"":6.099999904632568,""y"":3.335299491882324},{""x"":6.599999904632568,""y"":3.240290880203247},{""x"":7.099999904632568,""y"":3.1107218265533447}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[3.6401853521511094, 1.26211588875013, 5.399028074402744, 0.5089580830068091],""points"":[{""x"":0.10000000149011612,""y"":3.8585598468780518},{""x"":0.6000000238418579,""y"":3.6077206134796143},{""x"":1.100000023841858,""y"":3.855252265930176},{""x"":1.600000023841858,""y"":3.619039297103882},{""x"":2.0999999046325684,""y"":3.839388370513916},{""x"":2.5999999046325684,""y"":3.335283041000366},{""x"":3.0999999046325684,""y"":3.571141481399536},{""x"":3.5999999046325684,""y"":3.4155046939849854},{""x"":4.099999904632568,""y"":3.7316646575927734},{""x"":4.599999904632568,""y"":3.0680155754089355},{""x"":5.099999904632568,""y"":2.891066551208496},{""x"":5.599999904632568,""y"":1.6022753715515137},{""x"":6.099999904632568,""y"":0.7652576565742493},{""x"":6.599999904632568,""y"":0.6875326037406921},{""x"":7.099999904632568,""y"":0.5828871726989746}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nItaly,MSNFHNEHVMQFYRNNLKTKGVFGRQ,CC(C)Cc1ccc(cc1)C(C)C(=O)N2CCCC2C(=O)OCCO[N+](=O)[O-],1480020,36.33115768432617,99502,"168-46 91ST AVE., 2ND FLR",https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,8,8,1ZP8,8,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[2.293592105923809, 1.3781586549141835, 5.1025898038676605, 0.03493851245291291],""points"":[{""x"":0.10000000149011612,""y"":2.1287283897399902},{""x"":0.6000000238418579,""y"":2.267972230911255},{""x"":1.100000023841858,""y"":2.398442506790161},{""x"":1.600000023841858,""y"":2.5130622386932373},{""x"":2.0999999046325684,""y"":2.3255116939544678},{""x"":2.5999999046325684,""y"":2.127340793609619},{""x"":3.0999999046325684,""y"":2.47259783744812},{""x"":3.5999999046325684,""y"":2.131181478500366},{""x"":4.099999904632568,""y"":2.090421438217163},{""x"":4.599999904632568,""y"":2.02299165725708},{""x"":5.099999904632568,""y"":1.1105059385299683},{""x"":5.599999904632568,""y"":0.4494485855102539},{""x"":6.099999904632568,""y"":0.1375635862350464},{""x"":6.599999904632568,""y"":0.036351121962070465},{""x"":7.099999904632568,""y"":0.1619771122932434}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[5.953125499439879, 1.2528620255306528, 5.187637440149802, 0.3110348753260886],""points"":[{""x"":0.10000000149011612,""y"":5.6585283279418945},{""x"":0.6000000238418579,""y"":5.911152362823486},{""x"":1.100000023841858,""y"":5.924920082092285},{""x"":1.600000023841858,""y"":5.8469438552856445},{""x"":2.0999999046325684,""y"":5.929472923278809},{""x"":2.5999999046325684,""y"":6.190037727355957},{""x"":3.0999999046325684,""y"":6.236179828643799},{""x"":3.5999999046325684,""y"":6.141019344329834},{""x"":4.099999904632568,""y"":5.295210838317871},{""x"":4.599999904632568,""y"":5.265801906585693},{""x"":5.099999904632568,""y"":3.3722851276397705},{""x"":5.599999904632568,""y"":1.8299226760864258},{""x"":6.099999904632568,""y"":0.32690900564193726},{""x"":6.599999904632568,""y"":0.6274543404579163},{""x"":7.099999904632568,""y"":0.8441857099533081}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nRwanda,MPNSEPASLLELFNSIATQGELVRSLKAGNASK,CC(C)Cc1ccc(cc1)C(C)C(=O)N2CCCC2C(=O)OCCO,1480021,36.33137130737305,995037247,"168-46 91ST AVE., 2ND FLR",https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,9,9,2BDJ,9,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[3.8209972202654474, 1.3779216716448506, 5.299882228439686, 0.06040645519069608],""points"":[{""x"":0.10000000149011612,""y"":3.7821109294891357},{""x"":0.6000000238418579,""y"":3.542433023452759},{""x"":1.100000023841858,""y"":3.7008674144744873},{""x"":1.600000023841858,""y"":3.717301607131958},{""x"":2.0999999046325684,""y"":4.024452209472656},{""x"":2.5999999046325684,""y"":4.013899326324463},{""x"":3.0999999046325684,""y"":3.945094347000122},{""x"":3.5999999046325684,""y"":3.866621971130371},{""x"":4.099999904632568,""y"":3.7461626529693604},{""x"":4.599999904632568,""y"":3.3454740047454834},{""x"":5.099999904632568,""y"":2.61944317817688},{""x"":5.599999904632568,""y"":0.999405026435852},{""x"":6.099999904632568,""y"":0.46259793639183044},{""x"":6.599999904632568,""y"":0.054134611040353775},{""x"":7.099999904632568,""y"":0.05711187422275543}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[5.6318079657726035, 1.8495493770000595, 5.391793312471116, 0.17060707587348442],""points"":[{""x"":0.10000000149011612,""y"":5.458079814910889},{""x"":0.6000000238418579,""y"":5.554427146911621},{""x"":1.100000023841858,""y"":5.799983024597168},{""x"":1.600000023841858,""y"":5.364140033721924},{""x"":2.0999999046325684,""y"":5.864485740661621},{""x"":2.5999999046325684,""y"":5.4509806632995605},{""x"":3.0999999046325684,""y"":5.702574729919434},{""x"":3.5999999046325684,""y"":5.7314534187316895},{""x"":4.099999904632568,""y"":5.5123443603515625},{""x"":4.599999904632568,""y"":5.724395751953125},{""x"":5.099999904632568,""y"":4.354506969451904},{""x"":5.599999904632568,""y"":1.7307666540145874},{""x"":6.099999904632568,""y"":0.6305936574935913},{""x"":6.599999904632568,""y"":0.035183437168598175},{""x"":7.099999904632568,""y"":0.7575169205665588}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nSwitzerland,IRVVGRYLIEVWKAAGMDMDKVLFLWSSDEI,CN1CCC(CC1)Oc2ccc(cc2)C(F)(F)F,1480028,36.33137130737305,99504,92-11 179TH PLACE,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,9,10,1IAN,10,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[1.1190255865097471, 2.3163895161544437, 5.4968866182279195, 0.2035204047289052],""points"":[{""x"":0.10000000149011612,""y"":1.1057683229446411},{""x"":0.6000000238418579,""y"":1.1019697189331055},{""x"":1.100000023841858,""y"":1.0818607807159424},{""x"":1.600000023841858,""y"":1.062997817993164},{""x"":2.0999999046325684,""y"":1.046447515487671},{""x"":2.5999999046325684,""y"":1.1217249631881714},{""x"":3.0999999046325684,""y"":1.2166996002197266},{""x"":3.5999999046325684,""y"":1.215477705001831},{""x"":4.099999904632568,""y"":1.0581893920898438},{""x"":4.599999904632568,""y"":1.1747995615005493},{""x"":5.099999904632568,""y"":1.0181127786636353},{""x"":5.599999904632568,""y"":0.5344523191452026},{""x"":6.099999904632568,""y"":0.2569526433944702},{""x"":6.599999904632568,""y"":0.1912207305431366},{""x"":7.099999904632568,""y"":0.15060538053512573}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[3.1038581025805785, 2.0032224204185245, 5.087602825989163, 0.13277988512492753],""points"":[{""x"":0.10000000149011612,""y"":3.0498509407043457},{""x"":0.6000000238418579,""y"":2.805217742919922},{""x"":1.100000023841858,""y"":3.3415253162384033},{""x"":1.600000023841858,""y"":3.0549843311309814},{""x"":2.0999999046325684,""y"":3.250074863433838},{""x"":2.5999999046325684,""y"":3.0432586669921875},{""x"":3.0999999046325684,""y"":3.265852451324463},{""x"":3.5999999046325684,""y"":2.9475724697113037},{""x"":4.099999904632568,""y"":3.1929898262023926},{""x"":4.599999904632568,""y"":2.7460060119628906},{""x"":5.099999904632568,""y"":1.6175861358642578},{""x"":5.599999904632568,""y"":0.3006608486175537},{""x"":6.099999904632568,""y"":0.3444803059101105},{""x"":6.599999904632568,""y"":0.015537971630692482},{""x"":7.099999904632568,""y"":0.5527358055114746}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\n,,,,,,,,,,,,,,,,,,,,,');r.columns.add(t.Column.fromList(t.TYPE.BYTE_ARRAY,"BinaryImage",Array.from(new Uint8Array(11))));var s=function(t,e,n,i){return new(n||(n=Promise))((function(r,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}c((i=i.apply(t,e||[])).next())}))};const o=3e4,a=108e5,c=console.log.bind(console),l=console.info.bind(console),u=console.warn.bind(console),h=console.error.bind(console),f={},d="Auto Tests",y="Demo",g="Detectors",m="Core",p={};let x;var C,A,v,_,E,b,N,w,M,S;!function(t){t.notNull=function(t,e){if(null==t)throw new Error(`${null==e?"Value":e} not defined`)}}(C||(C={}));class I{constructor(t,e){this.catchUnhandled=!0,this.report=!1,void 0!==t&&(this.catchUnhandled=t),void 0!==e&&(this.report=e)}}class O{constructor(t,e,n,i){var r;this.category=t,this.name=e,null!=i||(i={}),null!==(r=i.timeout)&&void 0!==r||(i.timeout=o),this.options=i,this.test=()=>s(this,void 0,void 0,(function*(){return new Promise(((t,e)=>s(this,void 0,void 0,(function*(){let i="";try{i=yield n()}catch(t){e(t)}t(i)}))))}))}}function L(t,e,n){null==f[x]&&(f[x]={}),null==f[x].tests&&(f[x].tests=[]),f[x].tests.push(new O(x,t,e,n))}function T(t,e=!0,n){if(n=n?`${n}, `:"",t!==e)throw new Error(`${n}Expected "${e}", got "${t}"`)}function R(t,e,n){var i;x=t,e(),f[x]&&(f[x].clear=null===(i=null==n?void 0:n.clear)||void 0===i||i,f[x].timeout=null==n?void 0:n.timeout)}function D(t,e){return t.replace(new RegExp(e.name,"gi"),e.nqName)}function k(e){return`${e.toString()}\n${e.stack?t.Logger.translateStackTrace(e.stack):""}`}function H(n,i,r,l,u,h){var f,d,y,g,m,p;return s(this,void 0,void 0,(function*(){let s;r.length=0;let x="package";const C=null!=i&&n.name.toLowerCase()!==i.toLowerCase(),A=(null===(f=n.options)||void 0===f?void 0:f.skipReason)||C,v=C?"skipped":null===(d=n.options)||void 0===d?void 0:d.skipReason;A||c(`Started ${n.category} ${n.name}`);const _=Date.now();try{if(A)s={success:!0,result:v,ms:0,skipped:!0};else{let e=(null===(y=n.options)||void 0===y?void 0:y.timeout)===o&&l?l:null===(g=n.options)||void 0===g?void 0:g.timeout;e=t.Test.isInBenchmark&&e===o?a:e,s={success:!0,result:null!==(m=yield U(n.test,e))&&void 0!==m?m:"OK",ms:0,skipped:!1}}}catch(t){s={success:!1,result:k(t),ms:0,skipped:!1}}if((null===(p=n.options)||void 0===p?void 0:p.isAggregated)&&s.result.constructor===t.DataFrame){const t=s.result.col("success");if(x="core",t&&(s.success=t.stats.sum===t.length),!h){const t=s.result;t.columns.remove("stack"),t.rows.removeWhere((t=>t.get("success"))),s.result=t}s.result=s.result.toCsv()}if(s.logs=r.join("\n"),s.ms=Date.now()-_,A||c(`Finished ${n.category} ${n.name} for ${s.ms} ms`),s.category=n.category,s.name=n.name,!C){let t={success:s.success,result:s.result,ms:s.ms,skipped:s.skipped,type:x,packageName:u,category:n.category,test:n.name,logs:s.logs};if(s.result.constructor==Object){const e=Object.keys(s.result).reduce(((t,e)=>Object.assign(Object.assign({},t),{["result."+e]:s.result[e]})),{});t=Object.assign(Object.assign({},t),e)}e.log.usage(`${u}: ${n.category}: ${n.name}`,t,`test-${x} ${u}: ${n.category}: ${n.name}`)}return s}))}function P(t){return s(this,void 0,void 0,(function*(){yield new Promise((e=>setTimeout(e,t)))}))}function U(t,e){return s(this,void 0,void 0,(function*(){let n=null;const i=new Promise(((t,i)=>{n=setTimeout((()=>{i("EXECUTION TIMEOUT")}),e)}));try{return yield Promise.race([t(),i])}finally{n&&clearTimeout(n)}}))}t.DataFrame.fromColumns([t.Column.fromStrings("col",["val1","val2","val3"])]),function(t){t.UMAP="UMAP",t.T_SNE="t-SNE"}(A||(A={})),function(t){t.Levenshtein="Levenshtein",t.JaroWinkler="Jaro-Winkler",t.Manhattan="Manhattan",t.Onehot="One-Hot"}(v||(v={})),function(t){t.Euclidean="Euclidean"}(_||(_={})),function(t){t.Tanimoto="Tanimoto",t.Dice="Dice",t.Asymmetric="Asymmetric",t.BraunBlanquet="Braun-Blanquet",t.Cosine="Cosine",t.Kulczynski="Kulczynski",t.McConnaughey="Mc-Connaughey",t.RogotGoldberg="Rogot-Goldberg",t.Russel="Russel",t.Sokal="Sokal",t.Hamming="Hamming",t.Euclidean="Euclidean"}(E||(E={})),function(t){t.TanimotoIntArray="TanimotoIntArray"}(b||(b={})),(S=N||(N={})).Vector="Vector",S.String="String",S.BitArray="BitArray",S.MacroMolecule="MacroMolecule",S.Number="Number",S.IntArray="IntArray",S.NumberArray="NumberArray",function(t){t.Difference="Difference"}(w||(w={})),function(t){t.CommonItems="Common Items"}(M||(M={}));const B=new Uint32Array(65536),F=(t,e)=>{if(t.length<e.length){const n=e;e=t,t=n}return 0===e.length?t.length:t.length<=32?((t,e)=>{const n=t.length,i=e.length,r=1<<n-1;let s=-1,o=0,a=n,c=n;for(;c--;)B[t.charCodeAt(c)]|=1<<c;for(c=0;c<i;c++){let t=B[e.charCodeAt(c)];const n=t|o;t|=(t&s)+s^s,o|=~(t|s),s&=t,o&r&&a++,s&r&&a--,o=o<<1|1,s=s<<1|~(n|o),o&=n}for(c=n;c--;)B[t.charCodeAt(c)]=0;return a})(t,e):((t,e)=>{const n=e.length,i=t.length,r=[],s=[],o=Math.ceil(n/32),a=Math.ceil(i/32);for(let t=0;t<o;t++)s[t]=-1,r[t]=0;let c=0;for(;c<a-1;c++){let o=0,a=-1;const l=32*c,u=Math.min(32,i)+l;for(let e=l;e<u;e++)B[t.charCodeAt(e)]|=1<<e;for(let t=0;t<n;t++){const n=B[e.charCodeAt(t)],i=s[t/32|0]>>>t&1,c=r[t/32|0]>>>t&1,l=n|o,u=((n|c)&a)+a^a|n|c;let h=o|~(u|a),f=a&u;h>>>31^i&&(s[t/32|0]^=1<<t),f>>>31^c&&(r[t/32|0]^=1<<t),h=h<<1|i,f=f<<1|c,a=f|~(l|h),o=h&l}for(let e=l;e<u;e++)B[t.charCodeAt(e)]=0}let l=0,u=-1;const h=32*c,f=Math.min(32,i-h)+h;for(let e=h;e<f;e++)B[t.charCodeAt(e)]|=1<<e;let d=i;for(let t=0;t<n;t++){const n=B[e.charCodeAt(t)],o=s[t/32|0]>>>t&1,a=r[t/32|0]>>>t&1,c=n|l,h=((n|a)&u)+u^u|n|a;let f=l|~(h|u),y=u&h;d+=f>>>i-1&1,d-=y>>>i-1&1,f>>>31^o&&(s[t/32|0]^=1<<t),y>>>31^a&&(r[t/32|0]^=1<<t),f=f<<1|o,y=y<<1|a,u=y|~(c|f),l=f&c}for(let e=h;e<f;e++)B[t.charCodeAt(e)]=0;return d})(t,e)};var W=n(3979);class V{constructor(t,e=!1){if(this._length=0,this._version=0,this._updateLevel=0,this._selectedCount=0,this._selectedCountVersion=-1,this._selectedIndexesVersion=-1,this._versionedName="",this._versionedNameVersion=-1,this.SHRINK_THRESHOLD=256,"number"==typeof t){const n=t,i=V._createBuffer(n);if(e)for(let t=0;t<i.length;t++)i[t]=-1;this._data=i,this._length=n}else{if(!(t instanceof Uint32Array))throw new Error("Invalid constructor");this._data=t,this._length=e}}getRawData(){return this._data}assureGoez(t,e){if(t<0)throw new Error(`${e} should be greater than zero`)}assureInRange(t,e,n,i){if(t<e||t>n)throw new Error(`Argument ${i} (${t}) out of range (${e}, ${n})`)}copy(t,e,n){for(let i=0;i<n;i++)e[i]=t[i]}copyFrom(t){if(this._length!=t._length)throw new Error(`Lengths differ (${this._length} != ${t._length})`);this.copy(t._data,this._data,this.lengthInInts),this._version++}get length(){return this._length}get buffer(){return this._data}set buffer(t){this._data=t,this._version++}get version(){return this._version}set version(t){this._version=t}incrementVersion(t=!0){this._version++}get lengthInInts(){return Math.floor((this._length+31)/32)}get versionedName(){return this._version==this._versionedNameVersion?this._versionedName:""}set versionedName(t){this._versionedName=t,this._versionedNameVersion=this._version}get self(){return this}setLength(t){if(t<0)throw new Error("should be >= 0");if(t==this._length)return;const e=Math.floor((t+31)/32);if(e>this._data.length||e+this.SHRINK_THRESHOLD<this._data.length){const t=new Uint32Array(e);this.copy(this._data,t,e>this._data.length?this._data.length:e),this._data=t}t>this._length&&(this._length%32>0&&(this._data[this.lengthInInts-1]&=(1<<(this._length%32&31))-1),this._data.fill(0,this.lengthInInts,e)),this._length=t,this._version++}static fromAnd(t,e){if(t._length!=e._length)throw new Error(`Lengths differ (${t._length} != ${e._length})`);const n=new V(t._length);n._length=t._length,n._data=V._createBuffer(n._length),n._version=0;const i=t.lengthInInts;for(let r=0;r<i;r++)n._data[r]=t._data[r]&e._data[r];return n}static _createBuffer(t){return new Uint32Array(Math.floor((t+31)/32))}static fromValues(t){const e=new V(t.length);e._version=0;for(let n=0;n<e._length;n++)t[n]&&(e._data[Math.floor(n/32)]|=1<<(n%32&31));return e}static fromSeq(t,e){const n=new V(t);for(let i=0;i<t;++i)n.setBit(i,e(i));return n._version=0,n}static fromString(t){return V.fromSeq(t.length,(e=>"1"==t.charAt(e)))}static fromUint32Array(t,e){const n=new V(t);return n._data=e,n}static fromBytes(t){const e=t.length,n=new V(8*e);n._data=new Uint32Array(Math.floor((e+3)/4)),n._length=8*e;let i=0,r=0;for(;e-r>=4;)n._data[i++]=255&t[r]|(255&t[r+1])<<8|(255&t[r+2])<<16|(255&t[r+3])<<24,r+=4;return e-r==3&&(n._data[i]=(255&t[r+2])<<16),e-r==2&&(n._data[i]|=(255&t[r+1])<<8),e-r==1&&(n._data[i]|=255&t[r]),n._version=0,n}toString(){return`${this._length} bits, ${this.countBits(!0)} set`}equals(t){if(this==t)return!0;if(null==t)return!1;if(this._length!=t._length)return!1;if(0==this._length)return!0;for(let e=0;e<this._data.length-1;e++)if(this._data[e]!=t._data[e])return!1;for(let e=8*(this._data.length-1);e<this._length;e++)if(this.getBit(e)!=t.getBit(e))return!1;return!0}clone(){const t=new V(0,!1);return t._data=Uint32Array.from(this._data),t._length=this._length,t._version=this._version,t}init(t,e){this.setAll(!1,!1);for(let e=0;e<this._length;e++)t(e)&&(this._data[Math.floor(e/32)]|=1<<(e%32&31));return this.incrementVersion(e),this}invert(t=!0){for(let t=0;t<this._data.length;t++)this._data[t]^=-1;this.incrementVersion(t)}setAll(t,e=!1){const n=t?-1:0,i=this.lengthInInts;for(let t=0;t<i;t++)this._data[t]=n;this.incrementVersion(e)}setIndexes(t,e=!0,n=!0,i=!0){n&&this.setAll(!e,!1);for(const n of t)this.setFast(n,e);this.incrementVersion(i)}everyIndex(t,e=!0){for(const n of t)if(this.getBit(n)!=e)return!1;return!0}anyIndex(t,e=!0){for(const n of t)if(this.getBit(n)==e)return!0;return!1}setWhere(t,e=!0,n=!0,i=!0,r=!0){if(n&&r&&this.setAll(!e,!1),r)for(let n=0;n<this._length;n++)t(n)&&this.setFast(n,e);else for(let n=0;n<this._length;n++)this.setFast(n,t(n)?e:!e);this.incrementVersion(i)}getRange(t,e){this.assureInRange(t,0,this._length-1,"from"),this.assureInRange(e,0,this._length,"to");const n=[];for(let i=t;i<e;++i)n.push(this.getBit(i));return V.fromValues(n)}getRangeAsList(t,e){this.assureInRange(t,0,this._length-1,"from"),this.assureInRange(e,0,this._length,"to");const n=[];for(let i=t;i<e;++i)n.push(this.getBit(i));return n}setRange(t,e,n,i=!0){this.assureInRange(t,0,this._length-1,"from"),this.assureInRange(e,0,this._length-1,"to");const r=Math.min(t,e),s=Math.max(t,e);if(n)for(let t=r;t<=s;t++)this.setTrue(t);else for(let t=r;t<=s;t++)this.setFalse(t);return this.incrementVersion(i),this}setRandom(t,e,n=!0){if(t<0||t>this._length)throw new Error("n must be >= 0 && <= Count");t>this._length/2&&this.setRandom(this._length-t,!e),this.setAll(!e);for(let n=0;n<t;){const t=Math.floor(Math.random()*this._length);this.getBit(t)!=e&&(this.setFast(t,e),n++)}this.incrementVersion(n)}and(t,e=!0){if(this._length!=t._length)throw new Error("Array lengths differ.");for(let e=0,n=this.lengthInInts;e<n;e++)this._data[e]&=t._data[e];return this.incrementVersion(e),this}andNot(t,e=!0){if(this._length!=t._length)throw new Error("Array lengths differ.");const n=this.lengthInInts;for(let e=0;e<n;e++)this._data[e]&=~t._data[e];return this.incrementVersion(e),this}notAnd(t,e=!0){if(this._length!=t._length)throw new Error("Array lengths differ.");for(let e=0,n=this.lengthInInts;e<n;e++)this._data[e]=~this._data[e]&t._data[e];return this.incrementVersion(e),this}not(t=!0){for(let t=0,e=this.lengthInInts;t<e;t++)this._data[t]=~this._data[t];return this.incrementVersion(t),this}or(t,e=!0){if(this._length!=t._length)throw new Error("Array lengths differ.");for(let e=0,n=this.lengthInInts;e<n;e++)this._data[e]|=t._data[e];return this.incrementVersion(e),this}xor(t,e=!0){if(this._length!=t._length)throw new Error("Array lengths differ.");for(let e=0,n=this.lengthInInts;e<n;e++)this._data[e]^=t._data[e];return this.incrementVersion(e),this}insertAt(t,e,n=!1){if(this.assureInRange(t,0,this._length,"pos"),0==e)return;const i=this._length;this.setLength(this._length+e);for(let n=i-1;n>=t;n--)this.setBit(n+e,this.getBit(n));for(let i=t;i<t+e;i++)this.setBit(i,n)}removeAt(t,e=1){if(e<0)throw new Error("n cannot be negative");if(this.assureInRange(t,0,this._length-e,"pos"),this.contains(!0))for(let n=t;n<this._length-e;n++)this.setBit(n,this.getBit(n+e));this.setLength(this._length-e)}removeByMask(t,e=!0){if(this._length!=t.length)throw new Error("length != mask.length");if(t==this)this.setLength(t.countBits(!e)),this.setAll(!e);else{let n=0;for(let i=-1;-1!=(i=t.findNext(i,!e));)this.setFast(n++,this.getBit(i));this._length=n,this._version++}return this}getBit(t){return 0!=(this._data[Math.floor(t/32)]&1<<(31&t))}setBit(t,e,n=!0){this.setFast(t,e),this._version++}setFast(t,e){e?this._data[Math.floor(t/32)]|=1<<(31&t):this._data[Math.floor(t/32)]&=~(1<<(31&t))}setTrue(t){this._data[Math.floor(t/32)]|=1<<(31&t)}setFalse(t){this._data[Math.floor(t/32)]&=~(1<<(31&t))}trueCount(){return this.countBits(!0)}falseCount(){return this.countBits(!1)}countBits(t){if(0==this._length)return 0;if(this._selectedCountVersion!=this._version){this._selectedCount=0;const t=this.lengthInInts;let e=0;for(;e<t-1;e++)for(let t=this._data[e];0!=t;t>>>=8)this._selectedCount+=V._onBitCount[255&t];let n=this._data[e];const i=31&this._length;for(0!=i&&(n&=~(4294967295<<i));0!=n;n>>>=8)this._selectedCount+=V._onBitCount[255&n];this._selectedCountVersion=this._version}return t?this._selectedCount:this._length-this._selectedCount}countWhere(t){let e=0;if(this.trueCount()==this._length)for(let n=0;n<this._length;n++)e+=t(n)?1:0;else for(let n=-1;-1!=(n=this.findNext(n,!0));)e+=t(n)?1:0;return e}andWithCountBits(t,e){if(0==this._length)return 0;let n=0;const i=this.lengthInInts;let r=0;for(;r<i-1;r++)for(let e=this._data[r]&t._data[r];0!=e;e>>>=8)n+=V._onBitCount[255&e];let s=this._data[r]&t._data[r];const o=31&this._length;for(0!=o&&(s&=~(4294967295<<o));0!=s;s>>>=8)n+=V._onBitCount[255&s];return e?n:this._length-n}clear(){this.setLength(0)}contains(t){return this.findNext(-1,t)>=0}get allTrue(){return this.countBits(!0)==this._length}get allFalse(){return this.countBits(!1)==this._length}get anyTrue(){return this.countBits(!0)>0}get anyFalse(){return this.countBits(!1)>0}findNext(t,e=!0){if(this.assureInRange(t,-1,this._length,"index"),t>=this._length-1)return-1;let n=31&(t=t<0?0:t+1);const i=this.lengthInInts;for(let r=Math.floor(t/32);r<i;r++){let i=e?this._data[r]:~this._data[r];if(0!=n)i&=4294967295<<n&4294967295,n=0;else if(!e&&-4294967296==i)continue;for(let e=0;0!=i;e+=8,i>>>=8){const n=V._firstOnBit[255&i];if(n>=0)return(t=n+32*r+e)>=this._length?-1:t}}return-1}findPrev(t,e=!0){if(0==t)return-1;this.assureInRange(t,-1,this._length,"index");let n=1+(t=t<0?this._length-1:t-1)&31;for(let i=Math.floor(t/32);i>=0;i--){let t=e?this._data[i]:~this._data[i];0!=n&&(t&=~(4294967295<<n),n=0);for(let e=24;0!=t;e-=8,t<<=8){const n=V._lastOnBit[t>>>24];if(n>=0)return n+32*i+e}}return-1}}function $(t={}){const e=function(){if(!t||!t.scoringMatrix||!t.alphabetIndexes)return(t,e)=>t===e?0:1;if(t.scoringMatrix.length!==Object.keys(t.alphabetIndexes).length)throw new Error("Scoring matrix and alphabet indexes should have the same length");const e=t.alphabetIndexes,n=t.scoringMatrix,i=Math.min(...Object.keys(e).map((t=>t.charCodeAt(0))))+1,r=new Float32Array((n.length+i)*(n.length+i));return Object.entries(e).forEach((([t,i])=>{const s=n[i];Object.entries(e).forEach((([e,i])=>{r[t.charCodeAt(0)*n.length+e.charCodeAt(0)]=s[i]}))})),(t,e)=>1-r[t.charCodeAt(0)*n.length+e.charCodeAt(0)]}(),n=t?.threshold??0;return(t,i)=>{let r=0;const s=t.length,o=i.length,a=Math.ceil(Math.max(s,o)*(1-n));s!==o&&(r=Math.abs(s-o));let c=0;for(let n=0;n<Math.min(s,o);n++)if(t[n]!==i[n]&&(c+=e(t[n],i[n]),c>a))return 1;return c+=r,c/=Math.max(s,o),c}}V._onBitCount=Int8Array.from([0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8]),V._firstOnBit=Int8Array.from([-1,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0]),V._lastOnBit=Int8Array.from([-1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7]);const G={gapOpen:1,gapExtend:.6,scoringMatrix:[[4,-1,-2,-2,0,-1,-1,0,-2,-1,-1,-1,-1,-2,-1,1,0,-3,-2,0,-2,-1,0,-4],[-1,5,0,-2,-3,1,0,-2,0,-3,-2,2,-1,-3,-2,-1,-1,-3,-2,-3,-1,0,-1,-4],[-2,0,6,1,-3,0,0,0,1,-3,-3,0,-2,-3,-2,1,0,-4,-2,-3,3,0,-1,-4],[-2,-2,1,6,-3,0,2,-1,-1,-3,-4,-1,-3,-3,-1,0,-1,-4,-3,-3,4,1,-1,-4],[0,-3,-3,-3,9,-3,-4,-3,-3,-1,-1,-3,-1,-2,-3,-1,-1,-2,-2,-1,-3,-3,-2,-4],[-1,1,0,0,-3,5,2,-2,0,-3,-2,1,0,-3,-1,0,-1,-2,-1,-2,0,3,-1,-4],[-1,0,0,2,-4,2,5,-2,0,-3,-3,1,-2,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-2,0,-1,-3,-2,-2,6,-2,-4,-4,-2,-3,-3,-2,0,-2,-2,-3,-3,-1,-2,-1,-4],[-2,0,1,-1,-3,0,0,-2,8,-3,-3,-1,-2,-1,-2,-1,-2,-2,2,-3,0,0,-1,-4],[-1,-3,-3,-3,-1,-3,-3,-4,-3,4,2,-3,1,0,-3,-2,-1,-3,-1,3,-3,-3,-1,-4],[-1,-2,-3,-4,-1,-2,-3,-4,-3,2,4,-2,2,0,-3,-2,-1,-2,-1,1,-4,-3,-1,-4],[-1,2,0,-1,-3,1,1,-2,-1,-3,-2,5,-1,-3,-1,0,-1,-3,-2,-2,0,1,-1,-4],[-1,-1,-2,-3,-1,0,-2,-3,-2,1,2,-1,5,0,-2,-1,-1,-1,-1,1,-3,-1,-1,-4],[-2,-3,-3,-3,-2,-3,-3,-3,-1,0,0,-3,0,6,-4,-2,-2,1,3,-1,-3,-3,-1,-4],[-1,-2,-2,-1,-3,-1,-1,-2,-2,-3,-3,-1,-2,-4,7,-1,-1,-4,-3,-2,-2,-1,-2,-4],[1,-1,1,0,-1,0,0,0,-1,-2,-2,0,-1,-2,-1,4,1,-3,-2,-2,0,0,0,-4],[0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-2,-1,1,5,-2,-2,0,-1,-1,0,-4],[-3,-3,-4,-4,-2,-2,-3,-2,-2,-3,-2,-3,-1,1,-4,-3,-2,11,2,-3,-4,-3,-2,-4],[-2,-2,-2,-3,-2,-1,-2,-3,2,-1,-1,-2,-1,3,-3,-2,-2,2,7,-1,-3,-2,-1,-4],[0,-3,-3,-3,-1,-2,-2,-3,-3,3,1,-2,1,-1,-2,-2,0,-3,-1,4,-3,-2,-1,-4],[-2,-1,3,4,-3,0,1,-1,0,-3,-4,0,-3,-3,-2,0,-1,-4,-3,-3,4,1,-1,-4],[-1,0,0,1,-3,3,4,-2,0,-3,-3,1,-1,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,0,0,-2,-1,-1,-1,-1,-1,-4],[-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,1]],alphabetIndexes:{A:0,R:1,N:2,D:3,C:4,Q:5,E:6,G:7,H:8,I:9,L:10,K:11,M:12,F:13,P:14,S:15,T:16,W:17,Y:18,V:19,B:20,Z:21,X:22,"*":23}};var j;!function(t){t.HAMMING="Hamming",t.LEVENSHTEIN="Levenshtein",t.NEEDLEMANN_WUNSCH="Needlemann-Wunsch",t.MONOMER_CHEMICAL_DISTANCE="Monomer chemical distance"}(j||(j={}));const K={[j.HAMMING]:$,[j.LEVENSHTEIN]:function(){return(t,e)=>F(t,e)/Math.max(t.length,e.length)},[j.NEEDLEMANN_WUNSCH]:function(t){const e=new Uint16Array(65536),{gapOpen:n,gapExtend:i,scoringMatrix:r,alphabetIndexes:s}={...G,...t};Object.entries(s).forEach((([t,n])=>e[t.charCodeAt(0)]=n));const o=[new Float32Array(1e4),new Float32Array(1e4)];return(t,s)=>{const a=new Array(t.length+1).fill(!1),c=new Array(t.length+1).fill(!1);let l=0,u=1;for(let e=1;e<t.length+1;e++)o[0][e]=-n-(e-1)*i,o[1][e]=0;o[0][0]=0;for(let h=1;h<s.length+1;h++){o[u][0]=-n-(h-1)*i;for(let f=1;f<t.length+1;f++){const d=o[l][f-1]+r[e[t.charCodeAt(f-1)]][e[s.charCodeAt(h-1)]],y=o[l][f]-(a[f]?i:n),g=o[u][f-1]-(c[f-1]?i:n);o[u][f]=Math.max(d,g,y),o[u][f]===d?(a[f]=!1,c[f]=!1):o[u][f]===g?(a[f]=!1,c[f]=!0):(a[f]=!0,c[f]=!1)}l=u,u=(u+1)%2}const h=Math.max(t.length,s.length);return(h-o[l][t.length])/h}},[j.MONOMER_CHEMICAL_DISTANCE]:$};function Y(t,e){const n=t.trueCount()+e.trueCount();if(0==n)return 1;const i=t.andWithCountBits(e,!0);return i/(n-i)}function z(t){return 0===t?3402823e32:1/t-1}E.Tanimoto,E.Dice,E.Asymmetric,E.BraunBlanquet,E.Cosine,E.Kulczynski,E.McConnaughey,E.RogotGoldberg,E.Russel,E.Sokal,E.Hamming,E.Euclidean,E.Tanimoto,E.Dice,E.Asymmetric,E.BraunBlanquet,E.Cosine,E.Kulczynski,E.McConnaughey,E.RogotGoldberg,E.Russel,E.Sokal,E.Hamming,E.Euclidean,E.Tanimoto,E.Dice,E.Cosine,E.Tanimoto,E.Asymmetric,E.Cosine,E.Sokal,j.HAMMING,j.LEVENSHTEIN,j.MONOMER_CHEMICAL_DISTANCE,j.NEEDLEMANN_WUNSCH;class Q extends Float32Array{}const q={[_.Euclidean]:function(t,e){let n=0;const i=t.length;if(i!==e.length)throw new Error("The dimensionality of the vectors must match");for(let r=0;r<i;++r)n+=Math.pow(t[r]-e[r],2);return Math.sqrt(n)}},X={[v.Levenshtein]:F,[v.JaroWinkler]:W.H$,[v.Manhattan]:function(t,e){if(t.length!==e.length)return 1;{let n=0;for(let i=1;i<t.length;i++)n+=t[i]==e[i]?0:1;return n/t.length}},[v.Onehot]:function(t,e){return t===e?0:1}},J={[E.Tanimoto]:function(t,e){return 1-Y(t,e)},[E.Dice]:function(t,e){return 1-function(t,e){const n=t.trueCount()+e.trueCount();return 0==n?0:2*t.andWithCountBits(e,!0)/n}(t,e)},[E.Asymmetric]:function(t,e){return 1-function(t,e){const n=Math.min(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e)},[E.BraunBlanquet]:function(t,e){return z(function(t,e){const n=Math.max(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e))},[E.Cosine]:function(t,e){return 1-function(t,e){const n=t.trueCount()*e.trueCount();return 0==n?0:t.andWithCountBits(e,!0)/Math.sqrt(n)}(t,e)},[E.Kulczynski]:function(t,e){return z(function(t,e){const n=t.trueCount()+e.trueCount(),i=t.trueCount()*e.trueCount();return 0==i?0:t.andWithCountBits(e,!0)*n/(2*i)}(t,e))},[E.McConnaughey]:function(t,e){return z(function(t,e){const n=t.trueCount()+e.trueCount(),i=t.trueCount()*e.trueCount();return 0==i?0:(t.andWithCountBits(e,!0)*n-i)/i}(t,e))},[E.RogotGoldberg]:function(t,e){return z(function(t,e){const n=t.andWithCountBits(e,!0),i=t.countBits(!0)+e.countBits(!0),r=t.length,s=r-i+n;return n==r||s==r?1:n/i+s/(2*r-i)}(t,e))},[E.Russel]:function(t,e){return z(function(t,e){return 0==t.length?0:t.andWithCountBits(e,!0)/t.length}(t,e))},[E.Sokal]:function(t,e){return 1-function(t,e){const n=t.trueCount()+e.trueCount(),i=t.andWithCountBits(e,!0);return i/(2*n-3*i)}(t,e)},[E.Hamming]:function(t,e){return t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0)},[E.Euclidean]:function(t,e){return Math.sqrt(t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0))}},Z={[b.TanimotoIntArray]:function(t,e){return z(Y(new V(t,32*t.length),new V(e,32*e.length)))}},tt={[w.Difference]:function(t){if(t&&null!=t.range&&t.range>0){const e=t.range;return(t,n)=>Math.abs(t-n)/e}return(t,e)=>Math.abs(t-e)}},et={[M.CommonItems]:function(t){const e=function(t){const e=t?.mostCommon??new Set;return(t,n)=>{const i=t.length,r=n.length;let s=0,o=0,a=0;for(;o<i&&a<r;)t[o]===n[a]?(e?.has(t[o])||++s,++o,++a):t[o]<n[a]?++o:++a;return s}}(t);return(t,n)=>0===n.length||0===t.length?1e4:Math.min(t.length,n.length)/(e(t,n)+1e-4)}},nt={[N.Vector]:{[_.Euclidean]:q[_.Euclidean]},[N.String]:{[v.Levenshtein]:X[v.Levenshtein],[v.JaroWinkler]:X[v.JaroWinkler],[v.Manhattan]:X[v.Manhattan],[v.Onehot]:X[v.Onehot]},[N.BitArray]:{[E.Tanimoto]:J[E.Tanimoto],[E.Dice]:J[E.Dice],[E.Asymmetric]:J[E.Asymmetric],[E.BraunBlanquet]:J[E.BraunBlanquet],[E.Cosine]:J[E.Cosine],[E.Kulczynski]:J[E.Kulczynski],[E.McConnaughey]:J[E.McConnaughey],[E.RogotGoldberg]:J[E.RogotGoldberg],[E.Russel]:J[E.Russel],[E.Sokal]:J[E.Sokal]},[N.MacroMolecule]:{[j.HAMMING]:K[j.HAMMING],[j.LEVENSHTEIN]:K[j.LEVENSHTEIN],[j.NEEDLEMANN_WUNSCH]:K[j.NEEDLEMANN_WUNSCH],[j.MONOMER_CHEMICAL_DISTANCE]:K[j.MONOMER_CHEMICAL_DISTANCE]},[N.Number]:{[w.Difference]:tt[w.Difference]},[N.IntArray]:{[b.TanimotoIntArray]:Z[b.TanimotoIntArray]},[N.NumberArray]:{[M.CommonItems]:et[M.CommonItems]}};Object.keys(nt).reduce(((t,e)=>{for(const n of Object.keys(nt[e]))t[n]=e;return t}),{});const it=ui,rt="bypassLargeDataWarning",st="show-scatterplot-progress";var ot,at,ct,lt,ut,ht,ft,dt=function(t,e,n,i){return new(n||(n=Promise))((function(r,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}c((i=i.apply(t,e||[])).next())}))};n(7905),(at=ot||(ot={})).EUCLIDEAN="EUCLIDEAN",at.MANHATTAN="MANHATTAN",ot.EUCLIDEAN,ot.MANHATTAN,(lt=ct||(ct={})).HAMMING="Hamming",lt.EUCLIDEAN="Euclidean",lt.MANHATTAN="Manhattan",lt.TANIMOTO="Tanimoto",lt.LEVENSTEIN="Levenshtein",lt.NEEDLEMAN_WUNSCH="Needlemann-Wunsch",lt.MONOMER_CHEMICAL_DISTANCE="Monomer chemical distance",lt.SOKAL="Sokal",lt.COSINE="Cosine",lt.ASYMMETRIC="Asymmetric",lt.Difference="Difference",lt.OneHot="One-Hot",ct.HAMMING,ct.EUCLIDEAN,ct.MANHATTAN,ct.TANIMOTO,ct.LEVENSTEIN,ct.NEEDLEMAN_WUNSCH,ct.MONOMER_CHEMICAL_DISTANCE,ct.SOKAL,ct.COSINE,ct.ASYMMETRIC,ct.Difference,ct.OneHot,ct.HAMMING,ct.EUCLIDEAN,ct.MANHATTAN,ct.TANIMOTO,ct.SOKAL,ct.COSINE,ct.ASYMMETRIC,ct.LEVENSTEIN,ct.NEEDLEMAN_WUNSCH,ct.MONOMER_CHEMICAL_DISTANCE,ct.Difference,ct.OneHot,new Set([ct.HAMMING,ct.LEVENSTEIN,ct.NEEDLEMAN_WUNSCH,ct.MONOMER_CHEMICAL_DISTANCE,ct.OneHot]),new Set([ct.HAMMING,ct.EUCLIDEAN,ct.MANHATTAN,ct.MONOMER_CHEMICAL_DISTANCE,ct.LEVENSTEIN,ct.NEEDLEMAN_WUNSCH,ct.TANIMOTO,ct.COSINE,ct.SOKAL,ct.ASYMMETRIC,ct.OneHot,ct.Difference]),new Set([ct.EUCLIDEAN,ct.MANHATTAN,ct.OneHot,ct.Difference]),new Set([ct.EUCLIDEAN,ct.MANHATTAN,ct.Difference]),new Set([ct.EUCLIDEAN,ct.MANHATTAN,ct.Difference]),new Set([ct.TANIMOTO,ct.COSINE,ct.SOKAL,ct.ASYMMETRIC]),function(t){t.ADD="ADD",t.SUB="SUB",t.MULT="MULT"}(ut||(ut={})),function(t){t.SQUARE="SQUARE",t.INVERSE="INVERSE",t.TRANSPOSE="TRANSPOSE",t.NORM="NORM",t.COLUMN_NORM="COLUMN_NORM"}(ht||(ht={})),function(t){t.SCALARMULT="SCALARMULT",t.SCALARADD="SCALARADD",t.SCALARPOW="SCALARPOW"}(ft||(ft={})),Object.prototype.toString;const yt="dimensionality-reducer-terminate-event";var gt,mt;(mt=gt||(gt={})).EUCLIDEAN="EUCLIDEAN",mt.MANHATTAN="MANHATTAN";const pt=t=>null==t;function xt(t,e){return`${e} (${t.length>4?`${t.length} columns`:t.map((t=>t.name)).join(", ")})`}async function Ct(i,r,s,o,a,c,l,u=!0,h=!1,f={preprocessingFuncArgs:[]},d={},y=null,g={}){const m={showXAxis:!1,showYAxis:!1,showXSelector:!1,showYSelector:!1};if(r.length!==o.length||r.length!==c.length||r.length!==a.length||r.length!==f.preprocessingFuncArgs.length)throw new Error("columns, metrics and preprocessing functions, weights and function argumentsmust have the same length");const p=u?e.shell.tableView(i.name)??e.shell.addTableView(i):null,x=async()=>{const x=t.TaskBarProgressIndicator.create(`Initializing ${d.scatterPlotName??"dimensionality reduction"} ...`);let C;try{const A=function(t){const e=["Embed_X","Embed_Y"],n=t.columns.names().filter((t=>t.includes(e[0]))).length+1;return e.map((t=>`${t}_${n}`))}(i);function v(e,n,o){let a=null,c=null;i.columns.names().includes(A[0])?(a=i.columns.byName(A[0]),c=i.columns.byName(A[1])):(a=i.columns.add(t.Column.float(A[0],i.rowCount)),c=i.columns.add(t.Column.float(A[1],i.rowCount)),u&&!C&&(C=p.scatterPlot({...m,x:A[0],y:A[1],title:d.scatterPlotName??xt(r,s)}))),d[st]&&(C?.root&&it.setUpdateIndicator(C.root,!1),a.init((t=>o[0]?o[0][t]:void 0)),c.init((t=>o[1]?o[1][t]:void 0)));const l=e/n*100;x.update(l,`Running ${d.scatterPlotName??"dimensionality reduction"}... ${l.toFixed(0)}%`)}async function _(){i.columns.add(t.Column.float(A[0],i.rowCount)),i.columns.add(t.Column.float(A[1],i.rowCount));let h=null;u&&(C=p.scatterPlot({...m,x:A[0],y:A[1],title:d.scatterPlotName??xt(r,s)}),it.setUpdateIndicator(C.root,!0));const y=e.events.onViewerClosed.subscribe((t=>{const n=t.args.viewer;n?.getOptions()?.look?.title&&C?.getOptions()?.look?.title&&n?.getOptions()?.look?.title===C?.getOptions()?.look?.title&&(e.events.fireCustomEvent(yt,{}),y.unsubscribe(),h?.(),x.close())})),g=new Promise((async(t,i)=>{try{h=t;const i=[];for(let t=0;t<c.length;++t){const e=c[t];if(f.distanceFnArgs||(f.distanceFnArgs=[]),e){const n=e.inputs[0].name,s=e.inputs[1].name,{entries:a,options:c}=await e.apply({[n]:r[t],[s]:o[t],...f.preprocessingFuncArgs[t]??{}});i.push({entries:a,options:c}),f.distanceFnArgs.push(c)}else{const e=r[t].toList(),n={};i.push({entries:e,options:n}),f.distanceFnArgs.push(n)}}t(await async function(t,i,r,s,o,a,c){let l=await async function(t,i,r,s,o,a,c){if(!a.distanceFnArgs)throw new Error("options.distanceFnArgs must be defined");if(t.length!==i.length||t.length!==a.distanceFnArgs.length||t.length!==s.length)throw new Error("data, metrics and options and weights must have the same length");return new Promise((function(l,u){const h=new Worker(new URL(n.p+n.u(42),n.b));h.postMessage({columnsData:t,distanceMetrics:i,method:r,options:a,weights:s,aggregationMethod:o});const f=e.events.onCustomEvent(yt).subscribe((()=>{try{h?.terminate()}finally{f.unsubscribe()}}));h.onmessage=({data:{error:t,embedding:e,epochNum:n,epochsLength:i}})=>{pt(n)||pt(i)?(f.unsubscribe(),t?u(t):l(e),setTimeout((()=>h.terminate()),100)):c&&c(n,i,e)}}))}(t,r,i,s,o,a,c);return l=l.map((t=>function(t){const e=t.length;let n=0,i=0;for(let r=0;r<e;++r)n+=t[r],i+=Math.pow(t[r],2);const r=n/e,s=1/Math.sqrt(i/e-Math.pow(r,2));for(let n=0;n<e;++n)t[n]=(t[n]-r)*s;return t}(t))),l}(i.map((t=>t.entries)),s,o,a,l,f,d[rt]?void 0:v))}catch(t){i(t)}})),_=await g;return x.close(),y.unsubscribe(),_}const E=await _();if(h&&E){const b=t.TaskBarProgressIndicator.create("Clustering embeddings ...");try{const N=await function(t,e,i,r){return dt(this,void 0,void 0,(function*(){return new Promise((function(s,o){const a=new Worker(new URL(n.p+n.u(796),n.b));a.postMessage({embedX:t,embedY:e,minPts:r,epsilon:i}),a.onmessage=({data:{error:t,clusters:e}})=>{a.terminate(),t?o(t):s(e)}}))}))}(E[0],E[1],f.dbScanEpsilon??.01,f.dbScanMinPts??4),w=i.columns.getUnusedName("Cluster (DBSCAN)");i.columns.addNewString(w).init((t=>N[t].toString())),C&&(C.props.colorColumnName=w)}catch(M){e.shell.error("Clustering embeddings failed"),console.error(M)}finally{b.close()}}if(E){const S=i.columns.byName(A[0]),I=i.columns.byName(A[1]);if(S.init((t=>E[0][t])),I.init((t=>E[1][t])),y)try{const O=y.inputs[0].name,L=y.inputs[1].name;await y.prepare({[O]:S,[L]:I,...g}).call(!0)}catch(T){e.shell.error("Post-processing failed"),console.error(T)}if(C)return it.setUpdateIndicator(C.root,!1),C.helpUrl="/help/compute/sequence-space",C}}catch(R){e.shell.error("Dimensionality reduction failed"),console.error(R),x.close(),C&&it.setUpdateIndicator(C.root,!1)}};return new Promise((async(t,e)=>{try{if(d.fastRowCount&&i.rowCount>d.fastRowCount&&!d[rt])it.dialog().add(it.divText("Analysis might take several minutes. Do you want to continue?")).onOK((async()=>{try{const e=await x();t(e)}catch(t){e(t)}})).onCancel((()=>t(void 0))).show();else{const e=await x();t(e)}}catch(t){e(t)}}))}var At=function(t,e,n,i){return new(n||(n=Promise))((function(r,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}c((i=i.apply(t,e||[])).next())}))};const vt={SUBJ:"subj",STUDY:"study",SITE:"site",AGE:"age",SEX:"sex",RACE:"race",DISEASE:"disease",WEIGHT:"weight",HEIGHT:"height"};function _t(t,n,i){return At(this,void 0,void 0,(function*(){const r=e.data.demo.demog(100);e.shell.addTableView(r),T(!!(yield Ct(r,t.map((t=>r.col(t))),n,i,t.map((()=>1)),t.map((()=>{})),"EUCLIDEAN",!0,!0,{preprocessingFuncArgs:t.map((()=>({})))})),!0,"No scatterplot returned");const s=r.columns.names().filter((t=>t.toLowerCase().startsWith("embed")));T(s.length,2,"Wrong number of embeddings added"),T(!!r.columns.names().find((t=>t.toLowerCase().startsWith("cluster"))),!0,"No cluster column added");for(const t of s){const e=r.col(t);T(new Array(e.length).fill(null).every(((t,n)=>!e.isNone(n)&&!isNaN(e.get(n)))),!0,"Embedding column has null-ish values")}yield new Promise((t=>setTimeout(t,500)))}))}R("Dimensionality reduction: UMAP",(()=>{L("Numeric column",(()=>At(void 0,void 0,void 0,(function*(){yield _t([vt.AGE],A.UMAP,[w.Difference])}))),{timeout:3e4}),L("String column",(()=>At(void 0,void 0,void 0,(function*(){yield _t([vt.SEX],A.UMAP,[v.Onehot])}))),{timeout:3e4}),L("Numeric and string columns",(()=>At(void 0,void 0,void 0,(function*(){yield _t([vt.SEX,vt.AGE],A.UMAP,[v.Onehot,w.Difference])})))),L("All demog columns",(()=>At(void 0,void 0,void 0,(function*(){const n=e.data.demo.demog(10).columns.toList().filter((t=>Object.values(vt).includes(t.name))),i=n.map((e=>e.type===t.COLUMN_TYPE.STRING?v.Onehot:w.Difference)),r=n.map((t=>t.name));yield _t(r,A.UMAP,i)}))))})),R("Dimensionality reduction: T-SNE",(()=>{L("Numeric column",(()=>At(void 0,void 0,void 0,(function*(){yield _t([vt.AGE],A.T_SNE,[w.Difference])}))),{timeout:3e4}),L("String column",(()=>At(void 0,void 0,void 0,(function*(){yield _t([vt.SEX],A.T_SNE,[v.Onehot])}))),{timeout:3e4}),L("Numeric and string columns",(()=>At(void 0,void 0,void 0,(function*(){yield _t([vt.SEX,vt.AGE],A.T_SNE,[v.Onehot,w.Difference])})))),L("All demog columns",(()=>At(void 0,void 0,void 0,(function*(){const n=e.data.demo.demog(10).columns.toList().filter((t=>Object.values(vt).includes(t.name))),i=n.map((e=>e.type===t.COLUMN_TYPE.STRING?v.Onehot:w.Difference)),r=n.map((t=>t.name));yield _t(r,A.T_SNE,i)}))))}));var Et=function(t,e,n,i){return new(n||(n=Promise))((function(r,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(o,a)}c((i=i.apply(t,e||[])).next())}))};const bt=new t.Package;function Nt(n,i,o){return Et(this,void 0,void 0,(function*(){const a=yield function(n){var i,o,a,x,C,A,v;return s(this,void 0,void 0,(function*(){const _=null===(o=null===(i=e.functions.getCurrentCall())||void 0===i?void 0:i.func)||void 0===o?void 0:o.package;yield function(n,i){var o;return s(this,void 0,void 0,(function*(){const i=n.id;if(p[i])return;const a=f;if(void 0!==a[d]||void 0!==a[y]||Object.keys(a).find((t=>t.startsWith(d)||t.startsWith(m))))return void(p[i]=!0);if("DevTools"===n.name){const e=t.Func.find({tags:["dartTest"]});for(const t of e){const e=t.name.split(/\s*\|\s*/g),n=null!==(o=e.pop())&&void 0!==o?o:t.name,i=e.length?m+": "+e.join(": "):m;void 0===a[i]&&(a[i]={tests:[],clear:!0}),a[i].tests.push(new O(i,n,(()=>s(this,void 0,void 0,(function*(){return yield t.apply()}))),{isAggregated:t.outputs.length>0,timeout:3e5}))}}const c=[],l=[],u=[],h=yield e.dapi.functions.filter(`package.id = "${i}"`).list(),x=new RegExp(/skip:\s*([^,\s]+)|wait:\s*(\d+)|cat:\s*([^,\s]+)|timeout:\s*(\d+)/g);for(const t of h){const n=t.options.test,i=t.options.demoPath;if(n&&Array.isArray(n)&&n.length)for(let i=0;i<n.length;i++){const r=n[i].matchAll(x),o={};Array.from(r).forEach((t=>{t[0].startsWith("skip")?o.skip=t[1]:t[0].startsWith("wait")?o.wait=parseInt(t[2]):t[0].startsWith("cat")?o.cat=t[3]:t[0].startsWith("timeout")&&(o.timeout=parseInt(t[4]))}));const l=new O(d,1===n.length?t.name:`${t.name} ${i+1}`,(()=>s(this,void 0,void 0,(function*(){const r=yield e.functions.eval(D(n[i],t));if(o.wait&&(yield P(o.wait)),"boolean"==typeof r&&!r)throw`Failed: ${n[i]}, expected true, got ${r}`}))),{skipReason:o.skip,timeout:o.timeout});if(o.cat){const t=d+": "+o.cat;l.category=t,void 0===a[t]&&(a[t]={tests:[],clear:!0}),a[t].tests.push(l)}else c.push(l)}if(i){const n=t.options.demoWait?parseInt(t.options.demoWait):void 0,i=new O(y,t.friendlyName,(()=>s(this,void 0,void 0,(function*(){if(e.shell.lastError="",yield t.apply(),yield P(n||2e3),e.shell.lastError)throw new Error(e.shell.lastError)}))),{skipReason:t.options.demoSkip});l.push(i)}if(t.hasTag("semTypeDetector")){const e=new O(g,t.friendlyName,(()=>s(this,void 0,void 0,(function*(){const e=[];for(const n of r.clone().columns){const i=yield t.apply([n]);e.push(i||n.semType)}T(e.filter((t=>t)).length,1)}))),{skipReason:t.options.skipTest});u.push(e)}}p[i]=!0,c.length&&(a[d]={tests:c,clear:!0}),l.length&&(a[y]={tests:l,clear:!0}),u.length&&(a[g]={tests:u,clear:!1})}))}(_);const E=[];console.log("Running tests"),null!=n||(n={}),null!==(a=(v=n).testContext)&&void 0!==a||(v.testContext=new I),e.shell.lastError="";const b=[],N=function(){const t=[];return console.log=(...e)=>{t.push(...e),c(...e)},console.info=(...e)=>{t.push(...e),l(...e)},console.warn=(...e)=>{t.push(...e),u(...e)},console.error=(...e)=>{t.push(...e),h(...e)},t}();try{for(const[i,r]of Object.entries(f)){if((null==n?void 0:n.category)&&!i.toLowerCase().startsWith(null==n?void 0:n.category.toLowerCase())||(null===(x=n.exclude)||void 0===x?void 0:x.some((t=>i.startsWith(t)))))continue;c(`Started ${i} category`),b.push(i);const s=null===(C=r.tests)||void 0===C?void 0:C.every((t=>{var e;return null===(e=t.options)||void 0===e?void 0:e.skipReason}));try{r.before&&!s&&(yield r.before())}catch(t){r.beforeStatus=k(t)}const o=null!==(A=r.tests)&&void 0!==A?A:[],a=[];if(r.clear)for(let i=0;i<o.length;i++)a.push(yield H(o[i],null==n?void 0:n.test,N,r.timeout,_.name,n.verbose)),e.shell.closeAll(),t.Balloon.closeAll();else for(let t=0;t<o.length;t++)a.push(yield H(o[t],null==n?void 0:n.test,N,r.timeout,_.name,n.verbose));const l=a.filter((t=>"skipped"!=t.result));try{r.after&&!s&&(yield r.after())}catch(t){r.afterStatus=k(t)}r.afterStatus&&l.push({category:i,name:"after",result:r.afterStatus,success:!1,ms:0,skipped:!1}),r.beforeStatus&&l.push({category:i,name:"before",result:r.beforeStatus,success:!1,ms:0,skipped:!1}),E.push(...l)}}finally{console.log=c,console.info=l,console.warn=u,console.error=h}if(n.testContext.catchUnhandled&&(yield P(1e3),e.shell.lastError.length>0&&E.push({category:"Unhandled exceptions",name:"exceptions",result:e.shell.lastError,success:!1,ms:0,skipped:!1})),!n.test&&E.length){const i=E.filter((t=>t.success)).length,r=E.filter((t=>t.skipped)).length,s=E.filter((t=>!t.success)),o=_.name;for(const t of b){const n=E.filter((e=>e.category===t)),i=n.filter((t=>!t.success)).length,r={success:0===i,passed:n.filter((t=>t.success)).length,skipped:n.filter((t=>t.skipped)).length,failed:i,type:"package",packageName:o,category:t};e.log.usage(`${o}: ${t}`,r,`category-package ${o}: ${t}`)}if(!n.category){const t={success:0===s.length,passed:i,skipped:r,failed:s.length,type:"package",packageName:o};e.log.usage(o,t,`package-package ${o}`)}if(n.testContext.report){const e=new t.Logger,n="Package @package tested: @successful successful, @skipped skipped, @failed failed tests",o={successful:i,skipped:r,failed:s.length,package:_};for(const t of s)Object.assign(o,{[`${t.category} | ${t.name}`]:t.result});e.log(n,o,"package-tested")}}return E}))}({category:n,test:i,testContext:o});return t.DataFrame.fromObjects(a)}))}})(),eda_test=i})();
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUM3QyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxJQUVqRDhNLEVBQVNrRyxZQUFjeGYsVUFBVXdNLEtBQUssRUFDakMsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDOUMsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFDN0MsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsSUFFakQ4TSxFQUFTb0csV0FBYTFmLFVBQVV3TSxLQUFLLEVBQ2hDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzlDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQzdDLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLElFM21CakQsTUE4Qk15VSxFQUFjLENBQ2hCQyxRQUFTLEVBQ1RDLFVBQVcsR0FDWHRCLGNBakNhLENBQUMsQ0FBQyxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxFQUFHLEdBQUksR0FDckcsRUFBRSxFQUFHLEVBQUcsR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxHQUFJLEdBQUksR0FDdkYsRUFBRSxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FDbEYsRUFBRSxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FDdkYsQ0FBQyxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FDNUYsRUFBRSxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FDbkYsRUFBRSxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FDcEYsQ0FBQyxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FDMUYsRUFBRSxFQUFHLEVBQUcsR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FDdEYsRUFBRSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksRUFBRyxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FDekYsRUFBRSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksRUFBRyxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FDekYsRUFBRSxFQUFHLEVBQUcsR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FDdEYsRUFBRSxHQUFJLEdBQUksR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksRUFBRyxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FDeEYsRUFBRSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksRUFBRyxFQUFHLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FDeEYsRUFBRSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FDN0YsQ0FBQyxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEdBQUksR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxFQUFHLEdBQUksR0FDbEYsQ0FBQyxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxFQUFHLEdBQUksR0FDeEYsRUFBRSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FDNUYsRUFBRSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FDMUYsQ0FBQyxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksRUFBRyxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FDeEYsRUFBRSxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksRUFBRyxHQUFJLEdB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aUJBQ3BDLENBQ0osQ0FDQSxPQUFPdVosQ0FDWCxHQUNKLEMyQnBaMkJlLENBQVMsQ0FBRXRkLFdBQVVDLE9BQU00YSxnQkFDOUMsT0FBTyx3QkFBeUJyakIsRUFDcEMsR0FDSixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWF0aC9zcmMvZGJzY2FuL3dhc20vd2FzbURic2Nhbi5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvZmFzdC1zaGEyNTYvc2hhMjU2LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9qYXJvLXdpbmtsZXItdHlwZXNjcmlwdC9saWIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvYW1kIG9wdGlvbnMiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2dldCBqYXZhc2NyaXB0IGNodW5rIGZpbGVuYW1lIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvZ2xvYmFsIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvaGFybW9ueSBtb2R1bGUgZGVjb3JhdG9yIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvbWFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvcHVibGljUGF0aCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2pzb25wIGNodW5rIGxvYWRpbmciLCJ3ZWJwYWNrOi8vZWRhL2V4dGVybmFsIHZhciBcIkRHXCIiLCJ3ZWJwYWNrOi8vZWRhL2V4dGVybmFsIHZhciBcImdyb2tcIiIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvZGF0YWZyYW1lLXV0aWxzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy90ZXN0LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9tdWx0aS1jb2x1bW4tZGltZW5zaW9uYWxpdHktcmVkdWN0aW9uL3R5cGVzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy90eXBlZC1tZXRyaWNzL2NvbnN0cy5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvZmFzdGVzdC1sZXZlbnNodGVpbi9lc20vbW9kLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy9iaXQtYXJyYXkuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL21hY3JvbW9sZWN1bGUtZGlzdGFuY2UtZnVuY3Rpb25zL2hhbW1pbmcuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL21hY3JvbW9sZWN1bGUtZGlzdGFuY2UtZnVuY3Rpb25zL25lZWRsZW1hbi13dW5zY2guanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL21hY3JvbW9sZWN1bGUtZGlzdGFuY2UtZnVuY3Rpb25zL21hY3JvbW9sZWN1bGUtZGlzdGFuY2UtZnVuY3Rpb25zLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9tYWNyb21vbGVjdWxlLWRpc3RhbmNlLWZ1bmN0aW9ucy9sZXZlbnN0ZWluLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tZXRyaWNzLW1ldGhvZHMuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3R5cGUtZGVjbGFyYXRpb25zLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy90eXBlZC1tZXRyaWNzL3R5cGVkLW1ldHJpY3MuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3ZlY3Rvci1vcGVyYXRpb25zLmpzIiwid2VicGFjazovL2VkYS9leHRlcm5hbCB2YXIgXCJ1aVwiIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9mdW5jdGlvbkVkaXRvcnMvY29uc3RzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21hdGgvc3JjL2Ric2Nhbi93YXNtL2Ric2Nhbi13b3JrZXItY3JlYXRvci5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tYXRoL3NyYy93ZWJHUFUvbXVsdGktY29sLWRpc3RhbmNlcy93ZWJHUFUtYWdncmVnYXRpb24uanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWF0aC9zcmMvd2ViR1BVL211bHRpLWNvbC1kaXN0YW5jZXMvd2ViR1BVLW11bHRpY29sLWRpc3RhbmNlcy5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tYXRoL3NyYy93ZWJHUFUvdHlwZXMuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWF0aC9ub2RlX21vZHVsZXMvaXMtYW55LWFycmF5L2xpYi1lc20vaW5kZXguanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL211bHRpLWNvbHVtbi1kaW1lbnNpb25hbGl0eS1yZWR1Y3Rpb24vY29uc3RzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tYXRyaXgvdHlwZXMuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC91dGlscy5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvbXVsdGktY29sdW1uLWRpbWVuc2lvbmFsaXR5LXJlZHVjdGlvbi9yZWR1Y2UtZGltZW5zaW9uYWxpdHkuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL211bHRpLWNvbHVtbi1kaW1lbnNpb25hbGl0eS1yZWR1Y3Rpb24vZW1iZWRkaW5ncy1zcGFjZS5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvbXVsdGktY29sdW1uLWRpbWVuc2lvbmFsaXR5LXJlZHVjdGlvbi9tdWx0aS1kaW0tcmVkLXdvcmtlci1jcmVhdG9yLmpzIiwid2VicGFjazovL2VkYS8uL3NyYy90ZXN0cy9kaW0tcmVkdWN0aW9uLXRlc3RzLnRzIiwid2VicGFjazovL2VkYS8uL3NyYy9wYWNrYWdlLXRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCB2YXIgZXhwb3J0Q3BwRGJzY2FuTGliID0gKCgpID0+IHtcclxuICB2YXIgX3NjcmlwdERpciA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgZG9jdW1lbnQuY3VycmVudFNjcmlwdCA/IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjIDogdW5kZWZpbmVkO1xyXG4gIFxyXG4gIHJldHVybiAoXHJcbmZ1bmN0aW9uKGV4cG9ydENwcERic2NhbkxpYiA9IHt9KSAge1xyXG5cclxuLy8gaW5jbHVkZTogc2hlbGwuanNcclxuLy8gVGhlIE1vZHVsZSBvYmplY3Q6IE91ciBpbnRlcmZhY2UgdG8gdGhlIG91dHNpZGUgd29ybGQuIFdlIGltcG9ydFxyXG4vLyBhbmQgZXhwb3J0IHZhbHVlcyBvbiBpdC4gVGhlcmUgYXJlIHZhcmlvdXMgd2F5cyBNb2R1bGUgY2FuIGJlIHVzZWQ6XHJcbi8vIDEuIE5vdCBkZWZpbmVkLiBXZSBjcmVhdGUgaXQgaGVyZVxyXG4vLyAyLiBBIGZ1bmN0aW9uIHBhcmFtZXRlciwgZnVuY3Rpb24oTW9kdWxlKSB7IC4uZ2VuZXJhdGVkIGNvZGUuLiB9XHJcbi8vIDMuIHByZS1ydW4gYXBwZW5kZWQgaXQsIHZhciBNb2R1bGUgPSB7fTsgLi5nZW5lcmF0ZWQgY29kZS4uXHJcbi8vIDQuIEV4dGVybmFsIHNjcmlwdCB0YWcgZGVmaW5lcyB2YXIgTW9kdWxlLlxyXG4vLyBXZSBuZWVkIHRvIGNoZWNrIGlmIE1vZHVsZSBhbHJlYWR5IGV4aXN0cyAoZS5nLiBjYXNlIDMgYWJvdmUpLlxyXG4vLyBTdWJzdGl0dXRpb24gd2lsbCBiZSByZXBsYWNlZCB3aXRoIGFjdHVhbCBjb2RlIG9uIGxhdGVyIHN0YWdlIG9mIHRoZSBidWlsZCxcclxuLy8gdGhpcyB3YXkgQ2xvc3VyZSBDb21waWxlciB3aWxsIG5vdCBtYW5nbGUgaXQgKGUuZy4gY2FzZSA0LiBhYm92ZSkuXHJcbi8vIE5vdGUgdGhhdCBpZiB5b3Ugd2FudCB0byBydW4gY2xvc3VyZSwgYW5kIGFsc28gdG8gdXNlIE1vZHVsZVxyXG4vLyBhZnRlciB0aGUgZ2VuZXJhdGVkIGNvZGUsIHlvdSB3aWxsIG5lZWQgdG8gZGVmaW5lICAgdmFyIE1vZHVsZSA9IHt9O1xyXG4vLyBiZWZvcmUgdGhlIGNvZGUuIFRoZW4gdGhhdCBvYmplY3Qgd2lsbCBiZSB1c2VkIGluIHRoZSBjb2RlLCBhbmQgeW91XHJcbi8vIGNhbiBjb250aW51ZSB0byB1c2UgTW9kdWxlIGFmdGVyd2FyZHMgYXMgd2VsbC5cclxudmFyIE1vZHVsZSA9IHR5cGVvZiBleHBvcnRDcHBEYnNjYW5MaWIgIT0gJ3VuZGVmaW5lZCcgPyBleHBvcnRDcHBEYnNjYW5MaWIgOiB7fTtcclxuXHJcbi8vIFNldCB1cCB0aGUgcHJvbWlzZSB0aGF0IGluZGljYXRlcyB0aGUgTW9kdWxlIGlzIGluaXRpYWxpemVkXHJcbnZhciByZWFkeVByb21pc2VSZXNvbHZlLCByZWFkeVByb21pc2VSZWplY3Q7XHJcbk1vZHVsZVsncmVhZHknXSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge1xyXG4gIHJlYWR5UHJvbWlzZVJlc29sdmUgPSByZXNvbHZlO1xyXG4gIHJlYWR5UHJvbWlzZVJlamVjdCA9IHJlamVjdDtcclxufSk7XHJcblxyXG4vLyAtLXByZS1qc2VzIGFyZSBlbWl0dGVkIGFmdGVyIHRoZSBNb2R1bGUgaW50ZWdyYXRpb24gY29kZSwgc28gdGhhdCB0aGV5IGNhblxyXG4vLyByZWZlciB0byBNb2R1bGUgKGlmIHRoZXkgY2hvb3NlOyB0aGV5IGNhbiBhbHNvIGRlZmluZSBNb2R1bGUpXHJcblxyXG5cclxuLy8gU29tZXRpbWVzIGFuIGV4aXN0aW5nIE1vZHVsZSBvYmplY3QgZXhpc3RzIHdpdGggcHJvcGVydGllc1xyXG4vLyBtZWFudCB0byBvdmVyd3JpdGUgdGhlIGRlZmF1bHQgbW9kdWxlIGZ1bmN0aW9uYWxpdHkuIEhlcmVcclxuLy8gd2UgY29sbGVjdCB0aG9zZSBwcm9wZXJ0aWVzIGFuZCByZWFwcGx5IF9hZnRlcl8gd2UgY29uZmlndXJlXHJcbi8vIHRoZSBjdXJyZW50IGVudmlyb25tZW50J3MgZGVmYXVsdHMgdG8gYXZvaWQgaGF2aW5nIHRvIGJlIHNvXHJcbi8vIGRlZmVuc2l2ZSBkdXJpbmcgaW5pdGlhbGl6YXRpb24uXHJcbnZhciBtb2R1bGVPdmVycmlkZXMgPSBPYmplY3QuYXNzaWduKHt9LCBNb2R1bGUpO1xyXG5cclxudmFyIGFyZ3VtZW50c18gPSBbXTtcclxudmFyIHRoaXNQcm9ncmFtID0gJy4vdGhpcy5wcm9ncmFtJztcclxudmFyIHF1aXRfID0gKHN0YXR1cywgdG9UaHJvdykgPT4ge1xyXG4gIHRocm93IHRvVGhyb3c7XHJcbn07XHJcblxyXG4vLyBEZXRlcm1pbmUgdGhlIHJ1bnRpbWUgZW52aXJvbm1lbnQgd2UgYXJlIGluLiBZb3UgY2FuIGN1c3RvbWl6ZSB0aGlzIGJ5XHJcbi8vIHNldHRpbmcgdGhlIEVOVklST05NRU5UIHNldHRpbmcgYXQgY29tcGlsZSB0aW1lIChzZWUgc2V0dGluZ3MuanMpLlxyXG5cclxuLy8gQXR0ZW1wdCB0byBhdXRvLWRldGVjdCB0aGUgZW52aXJvbm1lbnRcclxudmFyIEVOVklST05NRU5UX0lTX1dFQiA9IHR5cGVvZiB3aW5kb3cgPT0gJ29iamVjdCc7XHJcbnZhciBFTlZJUk9OTUVOVF9JU19XT1JLRVIgPSB0eXBlb2YgaW1wb3J0U2NyaXB0cyA9PSAnZnVuY3Rpb24nO1xyXG4vLyBOLmIuIEVsZWN0cm9uLmpzIGVudmlyb25tZW50IGlzIHNpbXVsdGFuZW91c2x5IGEgTk9ERS1lbnZpcm9ubWVudCwgYnV0XHJcbi8vIGFsc28gYSB3ZWIgZW52aXJvbm1lbnQuXHJcbnZhciBFTlZJUk9OTUVOVF9JU19OT0RFID0gdHlwZW9mIHByb2Nlc3MgPT0gJ29iamVjdCcgJiYgdHlwZW9mIHByb2Nlc3MudmVyc2lvbnMgPT0gJ29iamVjdCcgJiYgdHlwZW9mIHByb2Nlc3MudmVyc2lvbnMubm9kZSA9PSAnc3RyaW5nJztcclxudmFyIEVOVklST05NRU5UX0lTX1NIRUxMID0gIUVOVklST05NRU5UX0lTX1dFQiAmJiAhRU5WSVJPTk1FTlRfSVNfTk9ERSAmJiAhRU5WSVJPTk1FTlRfSVNfV09SS0VSO1xyXG5cclxuLy8gYC9gIHNob3VsZCBiZSBwcmVzZW50IGF0IHRoZSBlbmQgaWYgYHNjcmlwdERpcmVjdG9yeWAgaXMgbm90IGVtcHR5XHJcbnZhciBzY3JpcHREaXJlY3RvcnkgPSAnJztcclxuZnVuY3Rpb24gbG9jYXRlRmlsZShwYXRoKSB7XHJcbiAgaWYgKE1vZHVsZVsnbG9jYXRlRmlsZSddKSB7XHJcbiAgICByZXR1cm4gTW9kdWxlWydsb2NhdGVGaWxlJ10ocGF0aCwgc2NyaXB0RGlyZWN0b3J5KTtcclxuICB9XHJcbiAgcmV0dXJuIHNjcmlwdERpcmVjdG9yeSArIHBhdGg7XHJcbn1cclxuXHJcbi8vIEhvb2tzIHRoYXQgYXJlIGltcGxlbWVudGVkIGRpZmZlcmVudGx5IGluIGRpZmZlcmVudCBydW50aW1lIGVudmlyb25tZW50cy5cclxudmFyIHJlYWRfLFxyXG4gICAgcmVhZEFzeW5jLFxyXG4gICAgcmVhZEJpbmFyeSxcclxuICAgIHNldFdpbmRvd1RpdGxlO1xyXG5cclxuLy8gTm90ZSB0aGF0IHRoaXMgaW5jbHVkZXMgTm9kZS5qcyB3b3JrZXJzIHdoZW4gcmVsZXZhbnQgKHB0aHJlYWRzIGlzIGVuYWJsZWQpLlxyXG4vLyBOb2RlLmpzIHdvcmtlcnMgYXJlIGRldGVjdGVkIGFzIGEgY29tYmluYXRpb24gb2YgRU5WSVJPTk1FTlRfSVNfV09SS0VSIGFuZFxyXG4vLyBFTlZJUk9OTUVOVF9JU19OT0RFLlxyXG5pZiAoRU5WSVJPTk1FTlRfSVNfV0VCIHx8IEVOVklST05NRU5UX0lTX1dPUktFUikge1xyXG4gIGlmIChFTlZJUk9OTUVOVF9JU19XT1JLRVIpIHsgLy8gQ2hlY2sgd29ya2VyLCBub3Qgd2ViLCBzaW5jZSB3aW5kb3cgY291bGQgYmUgcG9seWZpbGxlZFxyXG4gICAgc2NyaXB0RGlyZWN0b3J5ID0gc2VsZi5sb2NhdGlvbi5ocmVmO1xyXG4gIH0gZWxzZSBpZiAodHlwZW9mIGRvY3VtZW50ICE9ICd1bmRlZmluZWQnICYmIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpIHsgLy8gd2ViXHJcbiAgICBzY3JpcHREaXJlY3RvcnkgPSBkb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYztcclxuICB9XHJcbiAgLy8gV2hlbiBNT0RVTEFSSVpFLCB0aGlzIEpTIG1heSBiZSBleGVjdXRlZCBsYXRlciwgYWZ0ZXIgZG9jdW1lbnQuY3VycmVudFNjcmlwdFxyXG4gIC8vIGlzIGdvbmUsIHNvIHdlIHNhdmVkIGl0LCBhbmQgd2UgdXNlIGl0IGhlcmUgaW5zdGVhZCBvZiBhbnkgb3RoZXIgaW5mby5cclxuICBpZiAoX3NjcmlwdERpcikge1xyXG4gICAgc2NyaXB0RGlyZWN0b3J5ID0gX3NjcmlwdERpcjtcclxuICB9XHJcbiAgLy8gYmxvYiB1cmxzIGxvb2sgbGlrZSBibG9iOmh0dHA6Ly9zaXRlLmNvbS9ldGMvZXRjIGFuZCB3ZSBjYW5ub3QgaW5mZXIgYW55dGhpbmcgZnJvbSB0aGVtLlxyXG4gIC8vIG90aGVyd2lzZSwgc2xpY2Ugb2ZmIHRoZSBmaW5hbCBwYXJ0IG9mIHRoZSB1cmwgdG8gZmluZCB0aGUgc2NyaXB0IGRpcmVjdG9yeS5cclxuICAvLyBpZiBzY3JpcHREaXJlY3RvcnkgZG9lcyBub3QgY29udGFpbiBhIHNsYXNoLCBsYXN0SW5kZXhPZiB3aWxsIHJldHVybiAtMSxcclxuICAvLyBhbmQgc2NyaXB0RGlyZWN0b3J5IHdpbGwgY29ycmVjdGx5IGJlIHJlcGxhY2VkIHdpdGggYW4gZW1wdHkgc3RyaW5nLlxyXG4gIC8vIElmIHNjcmlwdERpcmVjdG9yeSBjb250YWlucyBhIHF1ZXJ5IChzdGFydGluZyB3aXRoID8pIG9yIGEgZnJhZ21lbnQgKHN0YXJ0aW5nIHdpdGggIyksXHJcbiAgLy8gdGhleSBhcmUgcmVtb3ZlZCBiZWNhdXNlIHRoZXkgY291bGQgY29udGFpbiBhIHNsYXNoLlxyXG4gIGlmIChzY3JpcHREaXJlY3RvcnkuaW5kZXhPZignYmxvYjonKSAhPT0gMCkge1xyXG4gICAgc2NyaXB0RGlyZWN0b3J5ID0gc2NyaXB0RGlyZWN0b3J5LnN1YnN0cigwLCBzY3JpcHREaXJlY3RvcnkucmVwbGFjZSgvWz8jXS4qLywgXCJcIikubGFzdEluZGV4T2YoJy8nKSsxKTtcclxuICB9IGVsc2Uge1xyXG4gICAgc2NyaXB0RGlyZWN0b3J5ID0gJyc7XHJcbiAgfVxyXG5cclxuICAvLyBEaWZmZXJlbnRpYXRlIHRoZSBXZWIgV29ya2VyIGZyb20gdGhlIE5vZGUgV29ya2VyIGNhc2UsIGFzIHJlYWRpbmcgbXVzdFxyXG4gIC8vIGJlIGRvbmUgZGlmZmVyZW50bHkuXHJcbiAge1xyXG4vLyBpbmNsdWRlOiB3ZWJfb3Jfd29ya2VyX3NoZWxsX3JlYWQuanNcclxucmVhZF8gPSAodXJsKSA9PiB7XHJcbiAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgICAgeGhyLm9wZW4oJ0dFVCcsIHVybCwgZmFsc2UpO1xyXG4gICAgICB4aHIuc2VuZChudWxsKTtcclxuICAgICAgcmV0dXJuIHhoci5yZXNwb25zZVRleHQ7XHJcbiAgfVxyXG5cclxuICBpZiAoRU5WSVJPTk1FTlRfSVNfV09SS0VSKSB7XHJcbiAgICByZWFkQmluYXJ5ID0gKHVybCkgPT4ge1xyXG4gICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgICAgICB4aHIub3BlbignR0VUJywgdXJsLCBmYWxzZSk7XHJcbiAgICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XHJcbiAgICAgICAgeGhyLnNlbmQobnVsbCk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KC8qKiBAdHlwZXshQXJyYXlCdWZmZXJ9ICovKHhoci5yZXNwb25zZSkpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHJlYWRBc3luYyA9ICh1cmwsIG9ubG9hZCwgb25lcnJvcikgPT4ge1xyXG4gICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgeGhyLm9wZW4oJ0dFVCcsIHVybCwgdHJ1ZSk7XHJcbiAgICB4aHIucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJztcclxuICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIGlmICh4aHIuc3RhdHVzID09IDIwMCB8fCAoeGhyLnN0YXR1cyA9PSAwICYmIHhoci5yZXNwb25zZSkpIHsgLy8gZmlsZSBVUkxzIGNhbiByZXR1cm4gMFxyXG4gICAgICAgIG9ubG9hZCh4aHIucmVzcG9uc2UpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBvbmVycm9yKCk7XHJcbiAgICB9O1xyXG4gICAgeGhyLm9uZXJyb3IgPSBvbmVycm9yO1xyXG4gICAgeGhyLnNlbmQobnVsbCk7XHJcbiAgfVxyXG5cclxuLy8gZW5kIGluY2x1ZGU6IHdlYl9vcl93b3JrZXJfc2hlbGxfcmVhZC5qc1xyXG4gIH1cclxuXHJcbiAgc2V0V2luZG93VGl0bGUgPSAodGl0bGUpID0+IGRvY3VtZW50LnRpdGxlID0gdGl0bGU7XHJcbn0gZWxzZVxyXG57XHJcbn1cclxuXHJcbnZhciBvdXQgPSBNb2R1bGVbJ3ByaW50J10gfHwgY29uc29sZS5sb2cuYmluZChjb25zb2xlKTtcclxudmFyIGVyciA9IE1vZHVsZVsncHJpbnRFcnInXSB8fCBjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtcclxuXHJcbi8vIE1lcmdlIGJhY2sgaW4gdGhlIG92ZXJyaWRlc1xyXG5PYmplY3QuYXNzaWduKE1vZHVsZSwgbW9kdWxlT3ZlcnJpZGVzKTtcclxuLy8gRnJlZSB0aGUgb2JqZWN0IGhpZXJhcmNoeSBjb250YWluZWQgaW4gdGhlIG92ZXJyaWRlcywgdGhpcyBsZXRzIHRoZSBHQ1xyXG4vLyByZWNsYWltIGRhdGEgdXNlZCBlLmcuIGluIG1lbW9yeUluaXRpYWxpemVyUmVxdWVzdCwgd2hpY2ggaXMgYSBsYXJnZSB0eXBlZCBhcnJheS5cclxubW9kdWxlT3ZlcnJpZGVzID0gbnVsbDtcclxuXHJcbi8vIEVtaXQgY29kZSB0byBoYW5kbGUgZXhwZWN0ZWQgdmFsdWVzIG9uIHRoZSBNb2R1bGUgb2JqZWN0LiBUaGlzIGFwcGxpZXMgTW9kdWxlLnhcclxuLy8gdG8gdGhlIHByb3BlciBsb2NhbCB4LiBUaGlzIGhhcyB0d28gYmVuZWZpdHM6IGZpcnN0LCB3ZSBvbmx5IGVtaXQgaXQgaWYgaXQgaXNcclxuLy8gZXhwZWN0ZWQgdG8gYXJyaXZlLCBhbmQgc2Vjb25kLCBieSB1c2luZyBhIGxvY2FsIGV2ZXJ5d2hlcmUgZWxzZSB0aGF0IGNhbiBiZVxyXG4vLyBtaW5pZmllZC5cclxuXHJcbmlmIChNb2R1bGVbJ2FyZ3VtZW50cyddKSBhcmd1bWVudHNfID0gTW9kdWxlWydhcmd1bWVudHMnXTtcclxuXHJcbmlmIChNb2R1bGVbJ3RoaXNQcm9ncmFtJ10pIHRoaXNQcm9ncmFtID0gTW9kdWxlWyd0aGlzUHJvZ3JhbSddO1xyXG5cclxuaWYgKE1vZHVsZVsncXVpdCddKSBxdWl0XyA9IE1vZHVsZVsncXVpdCddO1xyXG5cclxuLy8gcGVyZm9ybSBhc3NlcnRpb25zIGluIHNoZWxsLmpzIGFmdGVyIHdlIHNldCB1cCBvdXQoKSBhbmQgZXJyKCksIGFzIG90aGVyd2lzZSBpZiBhbiBhc3NlcnRpb24gZmFpbHMgaXQgY2Fubm90IHByaW50IHRoZSBtZXNzYWdlXHJcblxyXG5cclxuLy8gZW5kIGluY2x1ZGU6IHNoZWxsLmpzXHJcbi8vIGluY2x1ZGU6IHByZWFtYmxlLmpzXHJcbi8vID09PSBQcmVhbWJsZSBsaWJyYXJ5IHN0dWZmID09PVxyXG5cclxuLy8gRG9jdW1lbnRhdGlvbiBmb3IgdGhlIHB1YmxpYyBBUElzIGRlZmluZWQgaW4gdGhpcyBmaWxlIG11c3QgYmUgdXBkYXRlZCBpbjpcclxuLy8gICAgc2l0ZS9zb3VyY2UvZG9jcy9hcGlfcmVmZXJlbmNlL3ByZWFtYmxlLmpzLnJzdFxyXG4vLyBBIHByZWJ1aWx0IGxvY2FsIHZlcnNpb24gb2YgdGhlIGRvY3VtZW50YXRpb24gaXMgYXZhaWxhYmxlIGF0OlxyXG4vLyAgICBzaXRlL2J1aWxkL3RleHQvZG9jcy9hcGlfcmVmZXJlbmNlL3ByZWFtYmxlLmpzLnR4dFxyXG4vLyBZb3UgY2FuIGFsc28gYnVpbGQgZG9jcyBsb2NhbGx5IGFzIEhUTUwgb3Igb3RoZXIgZm9ybWF0cyBpbiBzaXRlL1xyXG4vLyBBbiBvbmxpbmUgSFRNTCB2ZXJzaW9uICh3aGljaCBtYXkgYmUgb2YgYSBkaWZmZXJlbnQgdmVyc2lvbiBvZiBFbXNjcmlwdGVuKVxyXG4vLyAgICBpcyB1cCBhdCBodHRwOi8va3JpcGtlbi5naXRodWIuaW8vZW1zY3JpcHRlbi1zaXRlL2RvY3MvYXBpX3JlZmVyZW5jZS9wcmVhbWJsZS5qcy5odG1sXHJcblxyXG52YXIgd2FzbUJpbmFyeTtcclxuaWYgKE1vZHVsZVsnd2FzbUJpbmFyeSddKSB3YXNtQmluYXJ5ID0gTW9kdWxlWyd3YXNtQmluYXJ5J107XHJcbnZhciBub0V4aXRSdW50aW1lID0gTW9kdWxlWydub0V4aXRSdW50aW1lJ10gfHwgdHJ1ZTtcclxuXHJcbmlmICh0eXBlb2YgV2ViQXNzZW1ibHkgIT0gJ29iamVjdCcpIHtcclxuICBhYm9ydCgnbm8gbmF0aXZlIHdhc20gc3VwcG9ydCBkZXRlY3RlZCcpO1xyXG59XHJcblxyXG4vLyBXYXNtIGdsb2JhbHNcclxuXHJcbnZhciB3YXNtTWVtb3J5O1xyXG5cclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFJ1bnRpbWUgZXNzZW50aWFsc1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vIHdoZXRoZXIgd2UgYXJlIHF1aXR0aW5nIHRoZSBhcHBsaWNhdGlvbi4gbm8gY29kZSBzaG91bGQgcnVuIGFmdGVyIHRoaXMuXHJcbi8vIHNldCBpbiBleGl0KCkgYW5kIGFib3J0KClcclxudmFyIEFCT1JUID0gZmFsc2U7XHJcblxyXG4vLyBzZXQgYnkgZXhpdCgpIGFuZCBhYm9ydCgpLiAgUGFzc2VkIHRvICdvbkV4aXQnIGhhbmRsZXIuXHJcbi8vIE5PVEU6IFRoaXMgaXMgYWxzbyB1c2VkIGFzIHRoZSBwcm9jZXNzIHJldHVybiBjb2RlIGNvZGUgaW4gc2hlbGwgZW52aXJvbm1lbnRzXHJcbi8vIGJ1dCBvbmx5IHdoZW4gbm9FeGl0UnVudGltZSBpcyBmYWxzZS5cclxudmFyIEVYSVRTVEFUVVM7XHJcblxyXG4vKiogQHR5cGUge2Z1bmN0aW9uKCosIHN0cmluZz0pfSAqL1xyXG5mdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uLCB0ZXh0KSB7XHJcbiAgaWYgKCFjb25kaXRpb24pIHtcclxuICAgIC8vIFRoaXMgYnVpbGQgd2FzIGNyZWF0ZWQgd2l0aG91dCBBU1NFUlRJT05TIGRlZmluZWQuICBgYXNzZXJ0KClgIHNob3VsZCBub3RcclxuICAgIC8vIGV2ZXIgYmUgY2FsbGVkIGluIHRoaXMgY29uZmlndXJhdGlvbiBidXQgaW4gY2FzZSB0aGVyZSBhcmUgY2FsbGVycyBpblxyXG4gICAgLy8gdGhlIHdpbGQgbGVhdmUgdGhpcyBzaW1wbGUgYWJvcnQoKSBpbXBsZW1lbmF0aW9uIGhlcmUgZm9yIG5vdy5cclxuICAgIGFib3J0KHRleHQpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVtb3J5IG1hbmFnZW1lbnRcclxuXHJcbnZhciBIRUFQLFxyXG4vKiogQHR5cGUgeyFJbnQ4QXJyYXl9ICovXHJcbiAgSEVBUDgsXHJcbi8qKiBAdHlwZSB7IVVpbnQ4QXJyYXl9ICovXHJcbiAgSEVBUFU4LFxyXG4vKiogQHR5cGUgeyFJbnQxNkFycmF5fSAqL1xyXG4gIEhFQVAxNixcclxuLyoqIEB0eXBlIHshVWludDE2QXJyYXl9ICovXHJcbiAgSEVBUFUxNixcclxuLyoqIEB0eXBlIHshSW50MzJBcnJheX0gKi9cclxuICBIRUFQMzIsXHJcbi8qKiBAdHlwZSB7IVVpbnQzMkFycmF5fSAqL1xyXG4gIEhFQVBVMzIsXHJcbi8qKiBAdHlwZSB7IUZsb2F0MzJBcnJheX0gKi9cclxuICBIRUFQRjMyLFxyXG4vKiogQHR5cGUgeyFGbG9hdDY0QXJyYXl9ICovXHJcbiAgSEVBUEY2NDtcclxuXHJcbmZ1bmN0aW9uIHVwZGF0ZU1lbW9yeVZpZXdzKCkge1xyXG4gIHZhciBiID0gd2FzbU1lbW9yeS5idWZmZXI7XHJcbiAgTW9kdWxlWydIRUFQOCddID0gSEVBUDggPSBuZXcgSW50OEFycmF5KGIpO1xyXG4gIE1vZHVsZVsnSEVBUDE2J10gPSBIRUFQMTYgPSBuZXcgSW50MTZBcnJheShiKTtcclxuICBNb2R1bGVbJ0hFQVAzMiddID0gSEVBUDMyID0gbmV3IEludDMyQXJyYXkoYik7XHJcbiAgTW9kdWxlWydIRUFQVTgnXSA9IEhFQVBVOCA9IG5ldyBVaW50OEFycmF5KGIpO1xyXG4gIE1vZHVsZVsnSEVBUFUxNiddID0gSEVBUFUxNiA9IG5ldyBVaW50MTZBcnJheShiKTtcclxuICBNb2R1bGVbJ0hFQVBVMzInXSA9IEhFQVBVMzIgPSBuZXcgVWludDMyQXJyYXkoYik7XHJcbiAgTW9kdWxlWydIRUFQRjMyJ10gPSBIRUFQRjMyID0gbmV3IEZsb2F0MzJBcnJheShiKTtcclxuICBNb2R1bGVbJ0hFQVBGNjQnXSA9IEhFQVBGNjQgPSBuZXcgRmxvYXQ2NEFycmF5KGIpO1xyXG59XHJcblxyXG4vLyBpbmNsdWRlOiBydW50aW1lX2luaXRfdGFibGUuanNcclxuLy8gSW4gcmVndWxhciBub24tUkVMT0NBVEFCTEUgbW9kZSB0aGUgdGFibGUgaXMgZXhwb3J0ZWRcclxuLy8gZnJvbSB0aGUgd2FzbSBtb2R1bGUgYW5kIHRoaXMgd2lsbCBiZSBhc3NpZ25lZCBvbmNlXHJcbi8vIHRoZSBleHBvcnRzIGFyZSBhdmFpbGFibGUuXHJcbnZhciB3YXNtVGFibGU7XHJcblxyXG4vLyBlbmQgaW5jbHVkZTogcnVudGltZV9pbml0X3RhYmxlLmpzXHJcbi8vIGluY2x1ZGU6IHJ1bnRpbWVfc3RhY2tfY2hlY2suanNcclxuLy8gZW5kIGluY2x1ZGU6IHJ1bnRpbWVfc3RhY2tfY2hlY2suanNcclxuLy8gaW5jbHVkZTogcnVudGltZV9hc3NlcnRpb25zLmpzXHJcbi8vIGVuZCBpbmNsdWRlOiBydW50aW1lX2Fzc2VydGlvbnMuanNcclxudmFyIF9fQVRQUkVSVU5fXyAgPSBbXTsgLy8gZnVuY3Rpb25zIGNhbGxlZCBiZWZvcmUgdGhlIHJ1bnRpbWUgaXMgaW5pdGlhbGl6ZWRcclxudmFyIF9fQVRJTklUX18gICAgPSBbXTsgLy8gZnVuY3Rpb25zIGNhbGxlZCBkdXJpbmcgc3RhcnR1cFxyXG52YXIgX19BVEVYSVRfXyAgICA9IFtdOyAvLyBmdW5jdGlvbnMgY2FsbGVkIGR1cmluZyBzaHV0ZG93blxyXG52YXIgX19BVFBPU1RSVU5fXyA9IFtdOyAvLyBmdW5jdGlvbnMgY2FsbGVkIGFmdGVyIHRoZSBtYWluKCkgaXMgY2FsbGVkXHJcblxyXG52YXIgcnVudGltZUluaXRpYWxpemVkID0gZmFsc2U7XHJcblxyXG52YXIgcnVudGltZUtlZXBhbGl2ZUNvdW50ZXIgPSAwO1xyXG5cclxuZnVuY3Rpb24ga2VlcFJ1bnRpbWVBbGl2ZSgpIHtcclxuICByZXR1cm4gbm9FeGl0UnVudGltZSB8fCBydW50aW1lS2VlcGFsaXZlQ291bnRlciA+IDA7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHByZVJ1bigpIHtcclxuICBpZiAoTW9kdWxlWydwcmVSdW4nXSkge1xyXG4gICAgaWYgKHR5cGVvZiBNb2R1bGVbJ3ByZVJ1biddID09ICdmdW5jdGlvbicpIE1vZHVsZVsncHJlUnVuJ10gPSBbTW9kdWxlWydwcmVSdW4nXV07XHJcbiAgICB3aGlsZSAoTW9kdWxlWydwcmVSdW4nXS5sZW5ndGgpIHtcclxuICAgICAgYWRkT25QcmVSdW4oTW9kdWxlWydwcmVSdW4nXS5zaGlmdCgpKTtcclxuICAgIH1cclxuICB9XHJcbiAgY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVFBSRVJVTl9fKTtcclxufVxyXG5cclxuZnVuY3Rpb24gaW5pdFJ1bnRpbWUoKSB7XHJcbiAgcnVudGltZUluaXRpYWxpemVkID0gdHJ1ZTtcclxuXHJcbiAgXHJcbiAgY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVElOSVRfXyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBvc3RSdW4oKSB7XHJcblxyXG4gIGlmIChNb2R1bGVbJ3Bvc3RSdW4nXSkge1xyXG4gICAgaWYgKHR5cGVvZiBNb2R1bGVbJ3Bvc3RSdW4nXSA9PSAnZnVuY3Rpb24nKSBNb2R1bGVbJ3Bvc3RSdW4nXSA9IFtNb2R1bGVbJ3Bvc3RSdW4nXV07XHJcbiAgICB3aGlsZSAoTW9kdWxlWydwb3N0UnVuJ10ubGVuZ3RoKSB7XHJcbiAgICAgIGFkZE9uUG9zdFJ1bihNb2R1bGVbJ3Bvc3RSdW4nXS5zaGlmdCgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRQT1NUUlVOX18pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBhZGRPblByZVJ1bihjYikge1xyXG4gIF9fQVRQUkVSVU5fXy51bnNoaWZ0KGNiKTtcclxufVxyXG5cclxuZnVuY3Rpb24gYWRkT25Jbml0KGNiKSB7XHJcbiAgX19BVElOSVRfXy51bnNoaWZ0KGNiKTtcclxufVxyXG5cclxuZnVuY3Rpb24gYWRkT25FeGl0KGNiKSB7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGFkZE9uUG9zdFJ1bihjYikge1xyXG4gIF9fQVRQT1NUUlVOX18udW5zaGlmdChjYik7XHJcbn1cclxuXHJcbi8vIGluY2x1ZGU6IHJ1bnRpbWVfbWF0aC5qc1xyXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9NYXRoL2ltdWxcclxuXHJcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL01hdGgvZnJvdW5kXHJcblxyXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9NYXRoL2NsejMyXHJcblxyXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9NYXRoL3RydW5jXHJcblxyXG4vLyBlbmQgaW5jbHVkZTogcnVudGltZV9tYXRoLmpzXHJcbi8vIEEgY291bnRlciBvZiBkZXBlbmRlbmNpZXMgZm9yIGNhbGxpbmcgcnVuKCkuIElmIHdlIG5lZWQgdG9cclxuLy8gZG8gYXN5bmNocm9ub3VzIHdvcmsgYmVmb3JlIHJ1bm5pbmcsIGluY3JlbWVudCB0aGlzIGFuZFxyXG4vLyBkZWNyZW1lbnQgaXQuIEluY3JlbWVudGluZyBtdXN0IGhhcHBlbiBpbiBhIHBsYWNlIGxpa2VcclxuLy8gTW9kdWxlLnByZVJ1biAodXNlZCBieSBlbWNjIHRvIGFkZCBmaWxlIHByZWxvYWRpbmcpLlxyXG4vLyBOb3RlIHRoYXQgeW91IGNhbiBhZGQgZGVwZW5kZW5jaWVzIGluIHByZVJ1biwgZXZlbiB0aG91Z2hcclxuLy8gaXQgaGFwcGVucyByaWdodCBiZWZvcmUgcnVuIC0gcnVuIHdpbGwgYmUgcG9zdHBvbmVkIHVudGlsXHJcbi8vIHRoZSBkZXBlbmRlbmNpZXMgYXJlIG1ldC5cclxudmFyIHJ1bkRlcGVuZGVuY2llcyA9IDA7XHJcbnZhciBydW5EZXBlbmRlbmN5V2F0Y2hlciA9IG51bGw7XHJcbnZhciBkZXBlbmRlbmNpZXNGdWxmaWxsZWQgPSBudWxsOyAvLyBvdmVycmlkZGVuIHRvIHRha2UgZGlmZmVyZW50IGFjdGlvbnMgd2hlbiBhbGwgcnVuIGRlcGVuZGVuY2llcyBhcmUgZnVsZmlsbGVkXHJcblxyXG5mdW5jdGlvbiBnZXRVbmlxdWVSdW5EZXBlbmRlbmN5KGlkKSB7XHJcbiAgcmV0dXJuIGlkO1xyXG59XHJcblxyXG5mdW5jdGlvbiBhZGRSdW5EZXBlbmRlbmN5KGlkKSB7XHJcbiAgcnVuRGVwZW5kZW5jaWVzKys7XHJcblxyXG4gIGlmIChNb2R1bGVbJ21vbml0b3JSdW5EZXBlbmRlbmNpZXMnXSkge1xyXG4gICAgTW9kdWxlWydtb25pdG9yUnVuRGVwZW5kZW5jaWVzJ10ocnVuRGVwZW5kZW5jaWVzKTtcclxuICB9XHJcblxyXG59XHJcblxyXG5mdW5jdGlvbiByZW1vdmVSdW5EZXBlbmRlbmN5KGlkKSB7XHJcbiAgcnVuRGVwZW5kZW5jaWVzLS07XHJcblxyXG4gIGlmIChNb2R1bGVbJ21vbml0b3JSdW5EZXBlbmRlbmNpZXMnXSkge1xyXG4gICAgTW9kdWxlWydtb25pdG9yUnVuRGVwZW5kZW5jaWVzJ10ocnVuRGVwZW5kZW5jaWVzKTtcclxuICB9XHJcblxyXG4gIGlmIChydW5EZXBlbmRlbmNpZXMgPT0gMCkge1xyXG4gICAgaWYgKHJ1bkRlcGVuZGVuY3lXYXRjaGVyICE9PSBudWxsKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwocnVuRGVwZW5kZW5jeVdhdGNoZXIpO1xyXG4gICAgICBydW5EZXBlbmRlbmN5V2F0Y2hlciA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAoZGVwZW5kZW5jaWVzRnVsZmlsbGVkKSB7XHJcbiAgICAgIHZhciBjYWxsYmFjayA9IGRlcGVuZGVuY2llc0Z1bGZpbGxlZDtcclxuICAgICAgZGVwZW5kZW5jaWVzRnVsZmlsbGVkID0gbnVsbDtcclxuICAgICAgY2FsbGJhY2soKTsgLy8gY2FuIGFkZCBhbm90aGVyIGRlcGVuZGVuY2llc0Z1bGZpbGxlZFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqIEBwYXJhbSB7c3RyaW5nfG51bWJlcj19IHdoYXQgKi9cclxuZnVuY3Rpb24gYWJvcnQod2hhdCkge1xyXG4gIGlmIChNb2R1bGVbJ29uQWJvcnQnXSkge1xyXG4gICAgTW9kdWxlWydvbkFib3J0J10od2hhdCk7XHJcbiAgfVxyXG5cclxuICB3aGF0ID0gJ0Fib3J0ZWQoJyArIHdoYXQgKyAnKSc7XHJcbiAgLy8gVE9ETyhzYmMpOiBTaG91bGQgd2UgcmVtb3ZlIHByaW50aW5nIGFuZCBsZWF2ZSBpdCB1cCB0byB3aG9ldmVyXHJcbiAgLy8gY2F0Y2hlcyB0aGUgZXhjZXB0aW9uP1xyXG4gIGVycih3aGF0KTtcclxuXHJcbiAgQUJPUlQgPSB0cnVlO1xyXG4gIEVYSVRTVEFUVVMgPSAxO1xyXG5cclxuICB3aGF0ICs9ICcuIEJ1aWxkIHdpdGggLXNBU1NFUlRJT05TIGZvciBtb3JlIGluZm8uJztcclxuXHJcbiAgLy8gVXNlIGEgd2FzbSBydW50aW1lIGVycm9yLCBiZWNhdXNlIGEgSlMgZXJyb3IgbWlnaHQgYmUgc2VlbiBhcyBhIGZvcmVpZ25cclxuICAvLyBleGNlcHRpb24sIHdoaWNoIG1lYW5zIHdlJ2QgcnVuIGRlc3RydWN0b3JzIG9uIGl0LiBXZSBuZWVkIHRoZSBlcnJvciB0b1xyXG4gIC8vIHNpbXBseSBtYWtlIHRoZSBwcm9ncmFtIHN0b3AuXHJcbiAgLy8gRklYTUUgVGhpcyBhcHByb2FjaCBkb2VzIG5vdCB3b3JrIGluIFdhc20gRUggYmVjYXVzZSBpdCBjdXJyZW50bHkgZG9lcyBub3QgYXNzdW1lXHJcbiAgLy8gYWxsIFJ1bnRpbWVFcnJvcnMgYXJlIGZyb20gdHJhcHM7IGl0IGRlY2lkZXMgd2hldGhlciBhIFJ1bnRpbWVFcnJvciBpcyBmcm9tXHJcbiAgLy8gYSB0cmFwIG9yIG5vdCBiYXNlZCBvbiBhIGhpZGRlbiBmaWVsZCB3aXRoaW4gdGhlIG9iamVjdC4gU28gYXQgdGhlIG1vbWVudFxyXG4gIC8vIHdlIGRvbid0IGhhdmUgYSB3YXkgb2YgdGhyb3dpbmcgYSB3YXNtIHRyYXAgZnJvbSBKUy4gVE9ETyBNYWtlIGEgSlMgQVBJIHRoYXRcclxuICAvLyBhbGxvd3MgdGhpcyBpbiB0aGUgd2FzbSBzcGVjLlxyXG5cclxuICAvLyBTdXBwcmVzcyBjbG9zdXJlIGNvbXBpbGVyIHdhcm5pbmcgaGVyZS4gQ2xvc3VyZSBjb21waWxlcidzIGJ1aWx0aW4gZXh0ZXJuXHJcbiAgLy8gZGVmaW50aW9uIGZvciBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IgY2xhaW1zIGl0IHRha2VzIG5vIGFyZ3VtZW50cyBldmVuXHJcbiAgLy8gdGhvdWdoIGl0IGNhbi5cclxuICAvLyBUT0RPKGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvY2xvc3VyZS1jb21waWxlci9wdWxsLzM5MTMpOiBSZW1vdmUgaWYvd2hlbiB1cHN0cmVhbSBjbG9zdXJlIGdldHMgZml4ZWQuXHJcbiAgLyoqIEBzdXBwcmVzcyB7Y2hlY2tUeXBlc30gKi9cclxuICB2YXIgZSA9IG5ldyBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3Iod2hhdCk7XHJcblxyXG4gIHJlYWR5UHJvbWlzZVJlamVjdChlKTtcclxuICAvLyBUaHJvdyB0aGUgZXJyb3Igd2hldGhlciBvciBub3QgTU9EVUxBUklaRSBpcyBzZXQgYmVjYXVzZSBhYm9ydCBpcyB1c2VkXHJcbiAgLy8gaW4gY29kZSBwYXRocyBhcGFydCBmcm9tIGluc3RhbnRpYXRpb24gd2hlcmUgYW4gZXhjZXB0aW9uIGlzIGV4cGVjdGVkXHJcbiAgLy8gdG8gYmUgdGhyb3duIHdoZW4gYWJvcnQgaXMgY2FsbGVkLlxyXG4gIHRocm93IGU7XHJcbn1cclxuXHJcbi8vIGluY2x1ZGU6IG1lbW9yeXByb2ZpbGVyLmpzXHJcbi8vIGVuZCBpbmNsdWRlOiBtZW1vcnlwcm9maWxlci5qc1xyXG4vLyBpbmNsdWRlOiBVUklVdGlscy5qc1xyXG4vLyBQcmVmaXggb2YgZGF0YSBVUklzIGVtaXR0ZWQgYnkgU0lOR0xFX0ZJTEUgYW5kIHJlbGF0ZWQgb3B0aW9ucy5cclxudmFyIGRhdGFVUklQcmVmaXggPSAnZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LCc7XHJcblxyXG4vLyBJbmRpY2F0ZXMgd2hldGhlciBmaWxlbmFtZSBpcyBhIGJhc2U2NCBkYXRhIFVSSS5cclxuZnVuY3Rpb24gaXNEYXRhVVJJKGZpbGVuYW1lKSB7XHJcbiAgLy8gUHJlZml4IG9mIGRhdGEgVVJJcyBlbWl0dGVkIGJ5IFNJTkdMRV9GSUxFIGFuZCByZWxhdGVkIG9wdGlvbnMuXHJcbiAgcmV0dXJuIGZpbGVuYW1lLnN0YXJ0c1dpdGgoZGF0YVVSSVByZWZpeCk7XHJcbn1cclxuXHJcbi8vIEluZGljYXRlcyB3aGV0aGVyIGZpbGVuYW1lIGlzIGRlbGl2ZXJlZCB2aWEgZmlsZSBwcm90b2NvbCAoYXMgb3Bwb3NlZCB0byBodHRwL2h0dHBzKVxyXG5mdW5jdGlvbiBpc0ZpbGVVUkkoZmlsZW5hbWUpIHtcclxuICByZXR1cm4gZmlsZW5hbWUuc3RhcnRzV2l0aCgnZmlsZTovLycpO1xyXG59XHJcblxyXG4vLyBlbmQgaW5jbHVkZTogVVJJVXRpbHMuanNcclxuLy8gaW5jbHVkZTogcnVudGltZV9leGNlcHRpb25zLmpzXHJcbi8vIGVuZCBpbmNsdWRlOiBydW50aW1lX2V4Y2VwdGlvbnMuanNcclxudmFyIHdhc21CaW5hcnlGaWxlO1xyXG4gIHdhc21CaW5hcnlGaWxlID0gJ3dhc21EYnNjYW4ud2FzbSc7XHJcbiAgaWYgKCFpc0RhdGFVUkkod2FzbUJpbmFyeUZpbGUpKSB7XHJcbiAgICB3YXNtQmluYXJ5RmlsZSA9IGxvY2F0ZUZpbGUod2FzbUJpbmFyeUZpbGUpO1xyXG4gIH1cclxuXHJcbmZ1bmN0aW9uIGdldEJpbmFyeShmaWxlKSB7XHJcbiAgdHJ5IHtcclxuICAgIGlmIChmaWxlID09IHdhc21CaW5hcnlGaWxlICYmIHdhc21CaW5hcnkpIHtcclxuICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHdhc21CaW5hcnkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHJlYWRCaW5hcnkpIHtcclxuICAgICAgcmV0dXJuIHJlYWRCaW5hcnkoZmlsZSk7XHJcbiAgICB9XHJcbiAgICB0aHJvdyBcImJvdGggYXN5bmMgYW5kIHN5bmMgZmV0Y2hpbmcgb2YgdGhlIHdhc20gZmFpbGVkXCI7XHJcbiAgfVxyXG4gIGNhdGNoIChlcnIpIHtcclxuICAgIGFib3J0KGVycik7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRCaW5hcnlQcm9taXNlKGJpbmFyeUZpbGUpIHtcclxuICAvLyBJZiB3ZSBkb24ndCBoYXZlIHRoZSBiaW5hcnkgeWV0LCB0cnkgdG8gbG9hZCBpdCBhc3luY2hyb25vdXNseS5cclxuICAvLyBGZXRjaCBoYXMgc29tZSBhZGRpdGlvbmFsIHJlc3RyaWN0aW9ucyBvdmVyIFhIUiwgbGlrZSBpdCBjYW4ndCBiZSB1c2VkIG9uIGEgZmlsZTovLyB1cmwuXHJcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9naXRodWIvZmV0Y2gvcHVsbC85MiNpc3N1ZWNvbW1lbnQtMTQwNjY1OTMyXHJcbiAgLy8gQ29yZG92YSBvciBFbGVjdHJvbiBhcHBzIGFyZSB0eXBpY2FsbHkgbG9hZGVkIGZyb20gYSBmaWxlOi8vIHVybC5cclxuICAvLyBTbyB1c2UgZmV0Y2ggaWYgaXQgaXMgYXZhaWxhYmxlIGFuZCB0aGUgdXJsIGlzIG5vdCBhIGZpbGUsIG90aGVyd2lzZSBmYWxsIGJhY2sgdG8gWEhSLlxyXG4gIGlmICghd2FzbUJpbmFyeSAmJiAoRU5WSVJPTk1FTlRfSVNfV0VCIHx8IEVOVklST05NRU5UX0lTX1dPUktFUikpIHtcclxuICAgIGlmICh0eXBlb2YgZmV0Y2ggPT0gJ2Z1bmN0aW9uJ1xyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBmZXRjaChiaW5hcnlGaWxlLCB7IGNyZWRlbnRpYWxzOiAnc2FtZS1vcmlnaW4nIH0pLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHtcclxuICAgICAgICBpZiAoIXJlc3BvbnNlWydvayddKSB7XHJcbiAgICAgICAgICB0aHJvdyBcImZhaWxlZCB0byBsb2FkIHdhc20gYmluYXJ5IGZpbGUgYXQgJ1wiICsgYmluYXJ5RmlsZSArIFwiJ1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzcG9uc2VbJ2FycmF5QnVmZmVyJ10oKTtcclxuICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgcmV0dXJuIGdldEJpbmFyeShiaW5hcnlGaWxlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBPdGhlcndpc2UsIGdldEJpbmFyeSBzaG91bGQgYmUgYWJsZSB0byBnZXQgaXQgc3luY2hyb25vdXNseVxyXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gZ2V0QmluYXJ5KGJpbmFyeUZpbGUpOyB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gaW5zdGFudGlhdGVBcnJheUJ1ZmZlcihiaW5hcnlGaWxlLCBpbXBvcnRzLCByZWNlaXZlcikge1xyXG4gIHJldHVybiBnZXRCaW5hcnlQcm9taXNlKGJpbmFyeUZpbGUpLnRoZW4oZnVuY3Rpb24oYmluYXJ5KSB7XHJcbiAgICByZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYmluYXJ5LCBpbXBvcnRzKTtcclxuICB9KS50aGVuKGZ1bmN0aW9uIChpbnN0YW5jZSkge1xyXG4gICAgcmV0dXJuIGluc3RhbmNlO1xyXG4gIH0pLnRoZW4ocmVjZWl2ZXIsIGZ1bmN0aW9uKHJlYXNvbikge1xyXG4gICAgZXJyKCdmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiAnICsgcmVhc29uKTtcclxuXHJcbiAgICBhYm9ydChyZWFzb24pO1xyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpbnN0YW50aWF0ZUFzeW5jKGJpbmFyeSwgYmluYXJ5RmlsZSwgaW1wb3J0cywgY2FsbGJhY2spIHtcclxuICBpZiAoIWJpbmFyeSAmJlxyXG4gICAgICB0eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcgPT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAhaXNEYXRhVVJJKGJpbmFyeUZpbGUpICYmXHJcbiAgICAgIHR5cGVvZiBmZXRjaCA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gZmV0Y2goYmluYXJ5RmlsZSwgeyBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJyB9KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7XHJcbiAgICAgIC8vIFN1cHByZXNzIGNsb3N1cmUgd2FybmluZyBoZXJlIHNpbmNlIHRoZSB1cHN0cmVhbSBkZWZpbml0aW9uIGZvclxyXG4gICAgICAvLyBpbnN0YW50aWF0ZVN0cmVhbWluZyBvbmx5IGFsbG93cyBQcm9taXNlPFJlcHNwb25zZT4gcmF0aGVyIHRoYW5cclxuICAgICAgLy8gYW4gYWN0dWFsIFJlc3BvbnNlLlxyXG4gICAgICAvLyBUT0RPKGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvY2xvc3VyZS1jb21waWxlci9wdWxsLzM5MTMpOiBSZW1vdmUgaWYvd2hlbiB1cHN0cmVhbSBjbG9zdXJlIGlzIGZpeGVkLlxyXG4gICAgICAvKiogQHN1cHByZXNzIHtjaGVja1R5cGVzfSAqL1xyXG4gICAgICB2YXIgcmVzdWx0ID0gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcocmVzcG9uc2UsIGltcG9ydHMpO1xyXG5cclxuICAgICAgcmV0dXJuIHJlc3VsdC50aGVuKFxyXG4gICAgICAgIGNhbGxiYWNrLFxyXG4gICAgICAgIGZ1bmN0aW9uKHJlYXNvbikge1xyXG4gICAgICAgICAgLy8gV2UgZXhwZWN0IHRoZSBtb3N0IGNvbW1vbiBmYWlsdXJlIGNhdXNlIHRvIGJlIGEgYmFkIE1JTUUgdHlwZSBmb3IgdGhlIGJpbmFyeSxcclxuICAgICAgICAgIC8vIGluIHdoaWNoIGNhc2UgZmFsbGluZyBiYWNrIHRvIEFycmF5QnVmZmVyIGluc3RhbnRpYXRpb24gc2hvdWxkIHdvcmsuXHJcbiAgICAgICAgICBlcnIoJ3dhc20gc3RyZWFtaW5nIGNvbXBpbGUgZmFpbGVkOiAnICsgcmVhc29uKTtcclxuICAgICAgICAgIGVycignZmFsbGluZyBiYWNrIHRvIEFycmF5QnVmZmVyIGluc3RhbnRpYXRpb24nKTtcclxuICAgICAgICAgIHJldHVybiBpbnN0YW50aWF0ZUFycmF5QnVmZmVyKGJpbmFyeUZpbGUsIGltcG9ydHMsIGNhbGxiYWNrKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gaW5zdGFudGlhdGVBcnJheUJ1ZmZlcihiaW5hcnlGaWxlLCBpbXBvcnRzLCBjYWxsYmFjayk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDcmVhdGUgdGhlIHdhc20gaW5zdGFuY2UuXHJcbi8vIFJlY2VpdmVzIHRoZSB3YXNtIGltcG9ydHMsIHJldHVybnMgdGhlIGV4cG9ydHMuXHJcbmZ1bmN0aW9uIGNyZWF0ZVdhc20oKSB7XHJcbiAgLy8gcHJlcGFyZSBpbXBvcnRzXHJcbiAgdmFyIGluZm8gPSB7XHJcbiAgICAnZW52Jzogd2FzbUltcG9ydHMsXHJcbiAgICAnd2FzaV9zbmFwc2hvdF9wcmV2aWV3MSc6IHdhc21JbXBvcnRzLFxyXG4gIH07XHJcbiAgLy8gTG9hZCB0aGUgd2FzbSBtb2R1bGUgYW5kIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiB1c2luZyBuYXRpdmUgc3VwcG9ydCBpbiB0aGUgSlMgZW5naW5lLlxyXG4gIC8vIGhhbmRsZSBhIGdlbmVyYXRlZCB3YXNtIGluc3RhbmNlLCByZWNlaXZpbmcgaXRzIGV4cG9ydHMgYW5kXHJcbiAgLy8gcGVyZm9ybWluZyBvdGhlciBuZWNlc3Nhcnkgc2V0dXBcclxuICAvKiogQHBhcmFtIHtXZWJBc3NlbWJseS5Nb2R1bGU9fSBtb2R1bGUqL1xyXG4gIGZ1bmN0aW9uIHJlY2VpdmVJbnN0YW5jZShpbnN0YW5jZSwgbW9kdWxlKSB7XHJcbiAgICB2YXIgZXhwb3J0cyA9IGluc3RhbmNlLmV4cG9ydHM7XHJcblxyXG4gICAgTW9kdWxlWydhc20nXSA9IGV4cG9ydHM7XHJcblxyXG4gICAgd2FzbU1lbW9yeSA9IE1vZHVsZVsnYXNtJ11bJ21lbW9yeSddO1xyXG4gICAgdXBkYXRlTWVtb3J5Vmlld3MoKTtcclxuXHJcbiAgICB3YXNtVGFibGUgPSBNb2R1bGVbJ2FzbSddWydfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlJ107XHJcblxyXG4gICAgYWRkT25Jbml0KE1vZHVsZVsnYXNtJ11bJ19fd2FzbV9jYWxsX2N0b3JzJ10pO1xyXG5cclxuICAgIHJlbW92ZVJ1bkRlcGVuZGVuY3koJ3dhc20taW5zdGFudGlhdGUnKTtcclxuXHJcbiAgICByZXR1cm4gZXhwb3J0cztcclxuICB9XHJcbiAgLy8gd2FpdCBmb3IgdGhlIHB0aHJlYWQgcG9vbCAoaWYgYW55KVxyXG4gIGFkZFJ1bkRlcGVuZGVuY3koJ3dhc20taW5zdGFudGlhdGUnKTtcclxuXHJcbiAgLy8gUHJlZmVyIHN0cmVhbWluZyBpbnN0YW50aWF0aW9uIGlmIGF2YWlsYWJsZS5cclxuICBmdW5jdGlvbiByZWNlaXZlSW5zdGFudGlhdGlvblJlc3VsdChyZXN1bHQpIHtcclxuICAgIC8vICdyZXN1bHQnIGlzIGEgUmVzdWx0T2JqZWN0IG9iamVjdCB3aGljaCBoYXMgYm90aCB0aGUgbW9kdWxlIGFuZCBpbnN0YW5jZS5cclxuICAgIC8vIHJlY2VpdmVJbnN0YW5jZSgpIHdpbGwgc3dhcCBpbiB0aGUgZXhwb3J0cyAodG8gTW9kdWxlLmFzbSkgc28gdGhleSBjYW4gYmUgY2FsbGVkXHJcbiAgICAvLyBUT0RPOiBEdWUgdG8gQ2xvc3VyZSByZWdyZXNzaW9uIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvY2xvc3VyZS1jb21waWxlci9pc3N1ZXMvMzE5MywgdGhlIGFib3ZlIGxpbmUgbm8gbG9uZ2VyIG9wdGltaXplcyBvdXQgZG93biB0byB0aGUgZm9sbG93aW5nIGxpbmUuXHJcbiAgICAvLyBXaGVuIHRoZSByZWdyZXNzaW9uIGlzIGZpeGVkLCBjYW4gcmVzdG9yZSB0aGUgYWJvdmUgUFRIUkVBRFMtZW5hYmxlZCBwYXRoLlxyXG4gICAgcmVjZWl2ZUluc3RhbmNlKHJlc3VsdFsnaW5zdGFuY2UnXSk7XHJcbiAgfVxyXG5cclxuICAvLyBVc2VyIHNoZWxsIHBhZ2VzIGNhbiB3cml0ZSB0aGVpciBvd24gTW9kdWxlLmluc3RhbnRpYXRlV2FzbSA9IGZ1bmN0aW9uKGltcG9ydHMsIHN1Y2Nlc3NDYWxsYmFjaykgY2FsbGJhY2tcclxuICAvLyB0byBtYW51YWxseSBpbnN0YW50aWF0ZSB0aGUgV2FzbSBtb2R1bGUgdGhlbXNlbHZlcy4gVGhpcyBhbGxvd3MgcGFnZXMgdG9cclxuICAvLyBydW4gdGhlIGluc3RhbnRpYXRpb24gcGFyYWxsZWwgdG8gYW55IG90aGVyIGFzeW5jIHN0YXJ0dXAgYWN0aW9ucyB0aGV5IGFyZVxyXG4gIC8vIHBlcmZvcm1pbmcuXHJcbiAgLy8gQWxzbyBwdGhyZWFkcyBhbmQgd2FzbSB3b3JrZXJzIGluaXRpYWxpemUgdGhlIHdhc20gaW5zdGFuY2UgdGhyb3VnaCB0aGlzXHJcbiAgLy8gcGF0aC5cclxuICBpZiAoTW9kdWxlWydpbnN0YW50aWF0ZVdhc20nXSkge1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiBNb2R1bGVbJ2luc3RhbnRpYXRlV2FzbSddKGluZm8sIHJlY2VpdmVJbnN0YW5jZSk7XHJcbiAgICB9IGNhdGNoKGUpIHtcclxuICAgICAgZXJyKCdNb2R1bGUuaW5zdGFudGlhdGVXYXNtIGNhbGxiYWNrIGZhaWxlZCB3aXRoIGVycm9yOiAnICsgZSk7XHJcbiAgICAgICAgLy8gSWYgaW5zdGFudGlhdGlvbiBmYWlscywgcmVqZWN0IHRoZSBtb2R1bGUgcmVhZHkgcHJvbWlzZS5cclxuICAgICAgICByZWFkeVByb21pc2VSZWplY3QoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiBpbnN0YW50aWF0aW9uIGZhaWxzLCByZWplY3QgdGhlIG1vZHVsZSByZWFkeSBwcm9taXNlLlxyXG4gIGluc3RhbnRpYXRlQXN5bmMod2FzbUJpbmFyeSwgd2FzbUJpbmFyeUZpbGUsIGluZm8sIHJlY2VpdmVJbnN0YW50aWF0aW9uUmVzdWx0KS5jYXRjaChyZWFkeVByb21pc2VSZWplY3QpO1xyXG4gIHJldHVybiB7fTsgLy8gbm8gZXhwb3J0cyB5ZXQ7IHdlJ2xsIGZpbGwgdGhlbSBpbiBsYXRlclxyXG59XHJcblxyXG4vLyBHbG9iYWxzIHVzZWQgYnkgSlMgaTY0IGNvbnZlcnNpb25zIChzZWUgbWFrZVNldFZhbHVlKVxyXG52YXIgdGVtcERvdWJsZTtcclxudmFyIHRlbXBJNjQ7XHJcblxyXG4vLyBpbmNsdWRlOiBydW50aW1lX2RlYnVnLmpzXHJcbi8vIGVuZCBpbmNsdWRlOiBydW50aW1lX2RlYnVnLmpzXHJcbi8vID09PSBCb2R5ID09PVxyXG5cclxuXHJcbi8vIGVuZCBpbmNsdWRlOiBwcmVhbWJsZS5qc1xyXG5cclxuICAvKiogQGNvbnN0cnVjdG9yICovXHJcbiAgZnVuY3Rpb24gRXhpdFN0YXR1cyhzdGF0dXMpIHtcclxuICAgICAgdGhpcy5uYW1lID0gJ0V4aXRTdGF0dXMnO1xyXG4gICAgICB0aGlzLm1lc3NhZ2UgPSAnUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhpdCgnICsgc3RhdHVzICsgJyknO1xyXG4gICAgICB0aGlzLnN0YXR1cyA9IHN0YXR1cztcclxuICAgIH1cclxuXHJcbiAgZnVuY3Rpb24gY2FsbFJ1bnRpbWVDYWxsYmFja3MoY2FsbGJhY2tzKSB7XHJcbiAgICAgIHdoaWxlIChjYWxsYmFja3MubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIC8vIFBhc3MgdGhlIG1vZHVsZSBhcyB0aGUgZmlyc3QgYXJndW1lbnQuXHJcbiAgICAgICAgY2FsbGJhY2tzLnNoaWZ0KCkoTW9kdWxlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICBcclxuICAgIC8qKlxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHB0clxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcclxuICAgICAqL1xyXG4gIGZ1bmN0aW9uIGdldFZhbHVlKHB0ciwgdHlwZSA9ICdpOCcpIHtcclxuICAgIGlmICh0eXBlLmVuZHNXaXRoKCcqJykpIHR5cGUgPSAnKic7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnaTEnOiByZXR1cm4gSEVBUDhbKChwdHIpPj4wKV07XHJcbiAgICAgIGNhc2UgJ2k4JzogcmV0dXJuIEhFQVA4WygocHRyKT4+MCldO1xyXG4gICAgICBjYXNlICdpMTYnOiByZXR1cm4gSEVBUDE2WygocHRyKT4+MSldO1xyXG4gICAgICBjYXNlICdpMzInOiByZXR1cm4gSEVBUDMyWygocHRyKT4+MildO1xyXG4gICAgICBjYXNlICdpNjQnOiByZXR1cm4gSEVBUDMyWygocHRyKT4+MildO1xyXG4gICAgICBjYXNlICdmbG9hdCc6IHJldHVybiBIRUFQRjMyWygocHRyKT4+MildO1xyXG4gICAgICBjYXNlICdkb3VibGUnOiByZXR1cm4gSEVBUEY2NFsoKHB0cik+PjMpXTtcclxuICAgICAgY2FzZSAnKic6IHJldHVybiBIRUFQVTMyWygocHRyKT4+MildO1xyXG4gICAgICBkZWZhdWx0OiBhYm9ydCgnaW52YWxpZCB0eXBlIGZvciBnZXRWYWx1ZTogJyArIHR5cGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgXHJcbiAgICAvKipcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBwdHJcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcclxuICAgICAqL1xyXG4gIGZ1bmN0aW9uIHNldFZhbHVlKHB0ciwgdmFsdWUsIHR5cGUgPSAnaTgnKSB7XHJcbiAgICBpZiAodHlwZS5lbmRzV2l0aCgnKicpKSB0eXBlID0gJyonO1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2kxJzogSEVBUDhbKChwdHIpPj4wKV0gPSB2YWx1ZTsgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2k4JzogSEVBUDhbKChwdHIpPj4wKV0gPSB2YWx1ZTsgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2kxNic6IEhFQVAxNlsoKHB0cik+PjEpXSA9IHZhbHVlOyBicmVhaztcclxuICAgICAgY2FzZSAnaTMyJzogSEVBUDMyWygocHRyKT4+MildID0gdmFsdWU7IGJyZWFrO1xyXG4gICAgICBjYXNlICdpNjQnOiAodGVtcEk2NCA9IFt2YWx1ZT4+PjAsKHRlbXBEb3VibGU9dmFsdWUsKCsoTWF0aC5hYnModGVtcERvdWJsZSkpKSA+PSAxLjAgPyAodGVtcERvdWJsZSA+IDAuMCA/ICgoTWF0aC5taW4oKCsoTWF0aC5mbG9vcigodGVtcERvdWJsZSkvNDI5NDk2NzI5Ni4wKSkpLCA0Mjk0OTY3Mjk1LjApKXwwKT4+PjAgOiAofn4oKCsoTWF0aC5jZWlsKCh0ZW1wRG91YmxlIC0gKygoKH5+KHRlbXBEb3VibGUpKSk+Pj4wKSkvNDI5NDk2NzI5Ni4wKSkpKSk+Pj4wKSA6IDApXSxIRUFQMzJbKChwdHIpPj4yKV0gPSB0ZW1wSTY0WzBdLEhFQVAzMlsoKChwdHIpKyg0KSk+PjIpXSA9IHRlbXBJNjRbMV0pOyBicmVhaztcclxuICAgICAgY2FzZSAnZmxvYXQnOiBIRUFQRjMyWygocHRyKT4+MildID0gdmFsdWU7IGJyZWFrO1xyXG4gICAgICBjYXNlICdkb3VibGUnOiBIRUFQRjY0WygocHRyKT4+MyldID0gdmFsdWU7IGJyZWFrO1xyXG4gICAgICBjYXNlICcqJzogSEVBUFUzMlsoKHB0cik+PjIpXSA9IHZhbHVlOyBicmVhaztcclxuICAgICAgZGVmYXVsdDogYWJvcnQoJ2ludmFsaWQgdHlwZSBmb3Igc2V0VmFsdWU6ICcgKyB0eXBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBAY29uc3RydWN0b3IgKi9cclxuICBmdW5jdGlvbiBFeGNlcHRpb25JbmZvKGV4Y1B0cikge1xyXG4gICAgICB0aGlzLmV4Y1B0ciA9IGV4Y1B0cjtcclxuICAgICAgdGhpcy5wdHIgPSBleGNQdHIgLSAyNDtcclxuICBcclxuICAgICAgdGhpcy5zZXRfdHlwZSA9IGZ1bmN0aW9uKHR5cGUpIHtcclxuICAgICAgICBIRUFQVTMyWygoKHRoaXMucHRyKSsoNCkpPj4yKV0gPSB0eXBlO1xyXG4gICAgICB9O1xyXG4gIFxyXG4gICAgICB0aGlzLmdldF90eXBlID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIEhFQVBVMzJbKCgodGhpcy5wdHIpKyg0KSk+PjIpXTtcclxuICAgICAgfTtcclxuICBcclxuICAgICAgdGhpcy5zZXRfZGVzdHJ1Y3RvciA9IGZ1bmN0aW9uKGRlc3RydWN0b3IpIHtcclxuICAgICAgICBIRUFQVTMyWygoKHRoaXMucHRyKSsoOCkpPj4yKV0gPSBkZXN0cnVjdG9yO1xyXG4gICAgICB9O1xyXG4gIFxyXG4gICAgICB0aGlzLmdldF9kZXN0cnVjdG9yID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIEhFQVBVMzJbKCgodGhpcy5wdHIpKyg4KSk+PjIpXTtcclxuICAgICAgfTtcclxuICBcclxuICAgICAgdGhpcy5zZXRfY2F1Z2h0ID0gZnVuY3Rpb24gKGNhdWdodCkge1xyXG4gICAgICAgIGNhdWdodCA9IGNhdWdodCA/IDEgOiAwO1xyXG4gICAgICAgIEhFQVA4WygoKHRoaXMucHRyKSsoMTIpKT4+MCldID0gY2F1Z2h0O1xyXG4gICAgICB9O1xyXG4gIFxyXG4gICAgICB0aGlzLmdldF9jYXVnaHQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIEhFQVA4WygoKHRoaXMucHRyKSsoMTIpKT4+MCldICE9IDA7XHJcbiAgICAgIH07XHJcbiAgXHJcbiAgICAgIHRoaXMuc2V0X3JldGhyb3duID0gZnVuY3Rpb24gKHJldGhyb3duKSB7XHJcbiAgICAgICAgcmV0aHJvd24gPSByZXRocm93biA/IDEgOiAwO1xyXG4gICAgICAgIEhFQVA4WygoKHRoaXMucHRyKSsoMTMpKT4+MCldID0gcmV0aHJvd247XHJcbiAgICAgIH07XHJcbiAgXHJcbiAgICAgIHRoaXMuZ2V0X3JldGhyb3duID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiBIRUFQOFsoKCh0aGlzLnB0cikrKDEzKSk+PjApXSAhPSAwO1xyXG4gICAgICB9O1xyXG4gIFxyXG4gICAgICAvLyBJbml0aWFsaXplIG5hdGl2ZSBzdHJ1Y3R1cmUgZmllbGRzLiBTaG91bGQgYmUgY2FsbGVkIG9uY2UgYWZ0ZXIgYWxsb2NhdGVkLlxyXG4gICAgICB0aGlzLmluaXQgPSBmdW5jdGlvbih0eXBlLCBkZXN0cnVjdG9yKSB7XHJcbiAgICAgICAgdGhpcy5zZXRfYWRqdXN0ZWRfcHRyKDApO1xyXG4gICAgICAgIHRoaXMuc2V0X3R5cGUodHlwZSk7XHJcbiAgICAgICAgdGhpcy5zZXRfZGVzdHJ1Y3RvcihkZXN0cnVjdG9yKTtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICB0aGlzLnNldF9hZGp1c3RlZF9wdHIgPSBmdW5jdGlvbihhZGp1c3RlZFB0cikge1xyXG4gICAgICAgIEhFQVBVMzJbKCgodGhpcy5wdHIpKygxNikpPj4yKV0gPSBhZGp1c3RlZFB0cjtcclxuICAgICAgfTtcclxuICBcclxuICAgICAgdGhpcy5nZXRfYWRqdXN0ZWRfcHRyID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIEhFQVBVMzJbKCgodGhpcy5wdHIpKygxNikpPj4yKV07XHJcbiAgICAgIH07XHJcbiAgXHJcbiAgICAgIC8vIEdldCBwb2ludGVyIHdoaWNoIGlzIGV4cGVjdGVkIHRvIGJlIHJlY2VpdmVkIGJ5IGNhdGNoIGNsYXVzZSBpbiBDKysgY29kZS4gSXQgbWF5IGJlIGFkanVzdGVkXHJcbiAgICAgIC8vIHdoZW4gdGhlIHBvaW50ZXIgaXMgY2FzdGVkIHRvIHNvbWUgb2YgdGhlIGV4Y2VwdGlvbiBvYmplY3QgYmFzZSBjbGFzc2VzIChlLmcuIHdoZW4gdmlydHVhbFxyXG4gICAgICAvLyBpbmhlcml0YW5jZSBpcyB1c2VkKS4gV2hlbiBhIHBvaW50ZXIgaXMgdGhyb3duIHRoaXMgbWV0aG9kIHNob3VsZCByZXR1cm4gdGhlIHRocm93biBwb2ludGVyXHJcbiAgICAgIC8vIGl0c2VsZi5cclxuICAgICAgdGhpcy5nZXRfZXhjZXB0aW9uX3B0ciA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIC8vIFdvcmsgYXJvdW5kIGEgZmFzdGNvbXAgYnVnLCB0aGlzIGNvZGUgaXMgc3RpbGwgaW5jbHVkZWQgZm9yIHNvbWUgcmVhc29uIGluIGEgYnVpbGQgd2l0aG91dFxyXG4gICAgICAgIC8vIGV4Y2VwdGlvbnMgc3VwcG9ydC5cclxuICAgICAgICB2YXIgaXNQb2ludGVyID0gX19fY3hhX2lzX3BvaW50ZXJfdHlwZSh0aGlzLmdldF90eXBlKCkpO1xyXG4gICAgICAgIGlmIChpc1BvaW50ZXIpIHtcclxuICAgICAgICAgIHJldHVybiBIRUFQVTMyWygodGhpcy5leGNQdHIpPj4yKV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhciBhZGp1c3RlZCA9IHRoaXMuZ2V0X2FkanVzdGVkX3B0cigpO1xyXG4gICAgICAgIGlmIChhZGp1c3RlZCAhPT0gMCkgcmV0dXJuIGFkanVzdGVkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmV4Y1B0cjtcclxuICAgICAgfTtcclxuICAgIH1cclxuICBcclxuICB2YXIgZXhjZXB0aW9uTGFzdCA9IDA7XHJcbiAgXHJcbiAgdmFyIHVuY2F1Z2h0RXhjZXB0aW9uQ291bnQgPSAwO1xyXG4gIGZ1bmN0aW9uIF9fX2N4YV90aHJvdyhwdHIsIHR5cGUsIGRlc3RydWN0b3IpIHtcclxuICAgICAgdmFyIGluZm8gPSBuZXcgRXhjZXB0aW9uSW5mbyhwdHIpO1xyXG4gICAgICAvLyBJbml0aWFsaXplIEV4Y2VwdGlvbkluZm8gY29udGVudCBhZnRlciBpdCB3YXMgYWxsb2NhdGVkIGluIF9fY3hhX2FsbG9jYXRlX2V4Y2VwdGlvbi5cclxuICAgICAgaW5mby5pbml0KHR5cGUsIGRlc3RydWN0b3IpO1xyXG4gICAgICBleGNlcHRpb25MYXN0ID0gcHRyO1xyXG4gICAgICB1bmNhdWdodEV4Y2VwdGlvbkNvdW50Kys7XHJcbiAgICAgIHRocm93IGV4Y2VwdGlvbkxhc3Q7XHJcbiAgICB9XHJcblxyXG4gIGZ1bmN0aW9uIF9hYm9ydCgpIHtcclxuICAgICAgYWJvcnQoJycpO1xyXG4gICAgfVxyXG5cclxuICBmdW5jdGlvbiBfZW1zY3JpcHRlbl9tZW1jcHlfYmlnKGRlc3QsIHNyYywgbnVtKSB7XHJcbiAgICAgIEhFQVBVOC5jb3B5V2l0aGluKGRlc3QsIHNyYywgc3JjICsgbnVtKTtcclxuICAgIH1cclxuXHJcbiAgZnVuY3Rpb24gZ2V0SGVhcE1heCgpIHtcclxuICAgICAgLy8gU3RheSBvbmUgV2FzbSBwYWdlIHNob3J0IG9mIDRHQjogd2hpbGUgZS5nLiBDaHJvbWUgaXMgYWJsZSB0byBhbGxvY2F0ZVxyXG4gICAgICAvLyBmdWxsIDRHQiBXYXNtIG1lbW9yaWVzLCB0aGUgc2l6ZSB3aWxsIHdyYXAgYmFjayB0byAwIGJ5dGVzIGluIFdhc20gc2lkZVxyXG4gICAgICAvLyBmb3IgYW55IGNvZGUgdGhhdCBkZWFscyB3aXRoIGhlYXAgc2l6ZXMsIHdoaWNoIHdvdWxkIHJlcXVpcmUgc3BlY2lhbFxyXG4gICAgICAvLyBjYXNpbmcgYWxsIGhlYXAgc2l6ZSByZWxhdGVkIGNvZGUgdG8gdHJlYXQgMCBzcGVjaWFsbHkuXHJcbiAgICAgIHJldHVybiAyMTQ3NDgzNjQ4O1xyXG4gICAgfVxyXG4gIFxyXG4gIGZ1bmN0aW9uIGVtc2NyaXB0ZW5fcmVhbGxvY19idWZmZXIoc2l6ZSkge1xyXG4gICAgICB2YXIgYiA9IHdhc21NZW1vcnkuYnVmZmVyO1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIC8vIHJvdW5kIHNpemUgZ3JvdyByZXF1ZXN0IHVwIHRvIHdhc20gcGFnZSBzaXplIChmaXhlZCA2NEtCIHBlciBzcGVjKVxyXG4gICAgICAgIHdhc21NZW1vcnkuZ3Jvdygoc2l6ZSAtIGIuYnl0ZUxlbmd0aCArIDY1NTM1KSA+Pj4gMTYpOyAvLyAuZ3JvdygpIHRha2VzIGEgZGVsdGEgY29tcGFyZWQgdG8gdGhlIHByZXZpb3VzIHNpemVcclxuICAgICAgICB1cGRhdGVNZW1vcnlWaWV3cygpO1xyXG4gICAgICAgIHJldHVybiAxIC8qc3VjY2VzcyovO1xyXG4gICAgICB9IGNhdGNoKGUpIHtcclxuICAgICAgfVxyXG4gICAgICAvLyBpbXBsaWNpdCAwIHJldHVybiB0byBzYXZlIGNvZGUgc2l6ZSAoY2FsbGVyIHdpbGwgY2FzdCBcInVuZGVmaW5lZFwiIGludG8gMFxyXG4gICAgICAvLyBhbnlob3cpXHJcbiAgICB9XHJcbiAgZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fcmVzaXplX2hlYXAocmVxdWVzdGVkU2l6ZSkge1xyXG4gICAgICB2YXIgb2xkU2l6ZSA9IEhFQVBVOC5sZW5ndGg7XHJcbiAgICAgIHJlcXVlc3RlZFNpemUgPSByZXF1ZXN0ZWRTaXplID4+PiAwO1xyXG4gICAgICAvLyBXaXRoIG11bHRpdGhyZWFkZWQgYnVpbGRzLCByYWNlcyBjYW4gaGFwcGVuIChhbm90aGVyIHRocmVhZCBtaWdodCBpbmNyZWFzZSB0aGUgc2l6ZVxyXG4gICAgICAvLyBpbiBiZXR3ZWVuKSwgc28gcmV0dXJuIGEgZmFpbHVyZSwgYW5kIGxldCB0aGUgY2FsbGVyIHJldHJ5LlxyXG4gIFxyXG4gICAgICAvLyBNZW1vcnkgcmVzaXplIHJ1bGVzOlxyXG4gICAgICAvLyAxLiAgQWx3YXlzIGluY3JlYXNlIGhlYXAgc2l6ZSB0byBhdCBsZWFzdCB0aGUgcmVxdWVzdGVkIHNpemUsIHJvdW5kZWQgdXBcclxuICAgICAgLy8gICAgIHRvIG5leHQgcGFnZSBtdWx0aXBsZS5cclxuICAgICAgLy8gMmEuIElmIE1FTU9SWV9HUk9XVEhfTElORUFSX1NURVAgPT0gLTEsIGV4Y2Vzc2l2ZWx5IHJlc2l6ZSB0aGUgaGVhcFxyXG4gICAgICAvLyAgICAgZ2VvbWV0cmljYWxseTogaW5jcmVhc2UgdGhlIGhlYXAgc2l6ZSBhY2NvcmRpbmcgdG9cclxuICAgICAgLy8gICAgIE1FTU9SWV9HUk9XVEhfR0VPTUVUUklDX1NURVAgZmFjdG9yIChkZWZhdWx0ICsyMCUpLCBBdCBtb3N0XHJcbiAgICAgIC8vICAgICBvdmVycmVzZXJ2ZSBieSBNRU1PUllfR1JPV1RIX0dFT01FVFJJQ19DQVAgYnl0ZXMgKGRlZmF1bHQgOTZNQikuXHJcbiAgICAgIC8vIDJiLiBJZiBNRU1PUllfR1JPV1RIX0xJTkVBUl9TVEVQICE9IC0xLCBleGNlc3NpdmVseSByZXNpemUgdGhlIGhlYXBcclxuICAgICAgLy8gICAgIGxpbmVhcmx5OiBpbmNyZWFzZSB0aGUgaGVhcCBzaXplIGJ5IGF0IGxlYXN0XHJcbiAgICAgIC8vICAgICBNRU1PUllfR1JPV1RIX0xJTkVBUl9TVEVQIGJ5dGVzLlxyXG4gICAgICAvLyAzLiAgTWF4IHNpemUgZm9yIHRoZSBoZWFwIGlzIGNhcHBlZCBhdCAyMDQ4TUItV0FTTV9QQUdFX1NJWkUsIG9yIGJ5XHJcbiAgICAgIC8vICAgICBNQVhJTVVNX01FTU9SWSwgb3IgYnkgQVNBTiBsaW1pdCwgZGVwZW5kaW5nIG9uIHdoaWNoIGlzIHNtYWxsZXN0XHJcbiAgICAgIC8vIDQuICBJZiB3ZSB3ZXJlIHVuYWJsZSB0byBhbGxvY2F0ZSBhcyBtdWNoIG1lbW9yeSwgaXQgbWF5IGJlIGR1ZSB0b1xyXG4gICAgICAvLyAgICAgb3Zlci1lYWdlciBkZWNpc2lvbiB0byBleGNlc3NpdmVseSByZXNlcnZlIGR1ZSB0byAoMykgYWJvdmUuXHJcbiAgICAgIC8vICAgICBIZW5jZSBpZiBhbiBhbGxvY2F0aW9uIGZhaWxzLCBjdXQgZG93biBvbiB0aGUgYW1vdW50IG9mIGV4Y2Vzc1xyXG4gICAgICAvLyAgICAgZ3Jvd3RoLCBpbiBhbiBhdHRlbXB0IHRvIHN1Y2NlZWQgdG8gcGVyZm9ybSBhIHNtYWxsZXIgYWxsb2NhdGlvbi5cclxuICBcclxuICAgICAgLy8gQSBsaW1pdCBpcyBzZXQgZm9yIGhvdyBtdWNoIHdlIGNhbiBncm93LiBXZSBzaG91bGQgbm90IGV4Y2VlZCB0aGF0XHJcbiAgICAgIC8vICh0aGUgd2FzbSBiaW5hcnkgc3BlY2lmaWVzIGl0LCBzbyBpZiB3ZSB0cmllZCwgd2UnZCBmYWlsIGFueWhvdykuXHJcbiAgICAgIHZhciBtYXhIZWFwU2l6ZSA9IGdldEhlYXBNYXgoKTtcclxuICAgICAgaWYgKHJlcXVlc3RlZFNpemUgPiBtYXhIZWFwU2l6ZSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBsZXQgYWxpZ25VcCA9ICh4LCBtdWx0aXBsZSkgPT4geCArIChtdWx0aXBsZSAtIHggJSBtdWx0aXBsZSkgJSBtdWx0aXBsZTtcclxuICBcclxuICAgICAgLy8gTG9vcCB0aHJvdWdoIHBvdGVudGlhbCBoZWFwIHNpemUgaW5jcmVhc2VzLiBJZiB3ZSBhdHRlbXB0IGEgdG9vIGVhZ2VyXHJcbiAgICAgIC8vIHJlc2VydmF0aW9uIHRoYXQgZmFpbHMsIGN1dCBkb3duIG9uIHRoZSBhdHRlbXB0ZWQgc2l6ZSBhbmQgcmVzZXJ2ZSBhXHJcbiAgICAgIC8vIHNtYWxsZXIgYnVtcCBpbnN0ZWFkLiAobWF4IDMgdGltZXMsIGNob3NlbiBzb21ld2hhdCBhcmJpdHJhcmlseSlcclxuICAgICAgZm9yICh2YXIgY3V0RG93biA9IDE7IGN1dERvd24gPD0gNDsgY3V0RG93biAqPSAyKSB7XHJcbiAgICAgICAgdmFyIG92ZXJHcm93bkhlYXBTaXplID0gb2xkU2l6ZSAqICgxICsgMC4yIC8gY3V0RG93bik7IC8vIGVuc3VyZSBnZW9tZXRyaWMgZ3Jvd3RoXHJcbiAgICAgICAgLy8gYnV0IGxpbWl0IG92ZXJyZXNlcnZpbmcgKGRlZmF1bHQgdG8gY2FwcGluZyBhdCArOTZNQiBvdmVyZ3Jvd3RoIGF0IG1vc3QpXHJcbiAgICAgICAgb3Zlckdyb3duSGVhcFNpemUgPSBNYXRoLm1pbihvdmVyR3Jvd25IZWFwU2l6ZSwgcmVxdWVzdGVkU2l6ZSArIDEwMDY2MzI5NiApO1xyXG4gIFxyXG4gICAgICAgIHZhciBuZXdTaXplID0gTWF0aC5taW4obWF4SGVhcFNpemUsIGFsaWduVXAoTWF0aC5tYXgocmVxdWVzdGVkU2l6ZSwgb3Zlckdyb3duSGVhcFNpemUpLCA2NTUzNikpO1xyXG4gIFxyXG4gICAgICAgIHZhciByZXBsYWNlbWVudCA9IGVtc2NyaXB0ZW5fcmVhbGxvY19idWZmZXIobmV3U2l6ZSk7XHJcbiAgICAgICAgaWYgKHJlcGxhY2VtZW50KSB7XHJcbiAgXHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICBmdW5jdGlvbiBnZXRDRnVuYyhpZGVudCkge1xyXG4gICAgICB2YXIgZnVuYyA9IE1vZHVsZVsnXycgKyBpZGVudF07IC8vIGNsb3N1cmUgZXhwb3J0ZWQgZnVuY3Rpb25cclxuICAgICAgcmV0dXJuIGZ1bmM7XHJcbiAgICB9XHJcbiAgXHJcbiAgXHJcbiAgZnVuY3Rpb24gd3JpdGVBcnJheVRvTWVtb3J5KGFycmF5LCBidWZmZXIpIHtcclxuICAgICAgSEVBUDguc2V0KGFycmF5LCBidWZmZXIpO1xyXG4gICAgfVxyXG4gIFxyXG4gIGZ1bmN0aW9uIGxlbmd0aEJ5dGVzVVRGOChzdHIpIHtcclxuICAgICAgdmFyIGxlbiA9IDA7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgICAgLy8gR290Y2hhOiBjaGFyQ29kZUF0IHJldHVybnMgYSAxNi1iaXQgd29yZCB0aGF0IGlzIGEgVVRGLTE2IGVuY29kZWQgY29kZVxyXG4gICAgICAgIC8vIHVuaXQsIG5vdCBhIFVuaWNvZGUgY29kZSBwb2ludCBvZiB0aGUgY2hhcmFjdGVyISBTbyBkZWNvZGVcclxuICAgICAgICAvLyBVVEYxNi0+VVRGMzItPlVURjguXHJcbiAgICAgICAgLy8gU2VlIGh0dHA6Ly91bmljb2RlLm9yZy9mYXEvdXRmX2JvbS5odG1sI3V0ZjE2LTNcclxuICAgICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpOyAvLyBwb3NzaWJseSBhIGxlYWQgc3Vycm9nYXRlXHJcbiAgICAgICAgaWYgKGMgPD0gMHg3Rikge1xyXG4gICAgICAgICAgbGVuKys7XHJcbiAgICAgICAgfSBlbHNlIGlmIChjIDw9IDB4N0ZGKSB7XHJcbiAgICAgICAgICBsZW4gKz0gMjtcclxuICAgICAgICB9IGVsc2UgaWYgKGMgPj0gMHhEODAwICYmIGMgPD0gMHhERkZGKSB7XHJcbiAgICAgICAgICBsZW4gKz0gNDsgKytpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZW4gKz0gMztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGxlbjtcclxuICAgIH1cclxuICBcclxuICBmdW5jdGlvbiBzdHJpbmdUb1VURjhBcnJheShzdHIsIGhlYXAsIG91dElkeCwgbWF4Qnl0ZXNUb1dyaXRlKSB7XHJcbiAgICAgIC8vIFBhcmFtZXRlciBtYXhCeXRlc1RvV3JpdGUgaXMgbm90IG9wdGlvbmFsLiBOZWdhdGl2ZSB2YWx1ZXMsIDAsIG51bGwsXHJcbiAgICAgIC8vIHVuZGVmaW5lZCBhbmQgZmFsc2UgZWFjaCBkb24ndCB3cml0ZSBvdXQgYW55IGJ5dGVzLlxyXG4gICAgICBpZiAoIShtYXhCeXRlc1RvV3JpdGUgPiAwKSlcclxuICAgICAgICByZXR1cm4gMDtcclxuICBcclxuICAgICAgdmFyIHN0YXJ0SWR4ID0gb3V0SWR4O1xyXG4gICAgICB2YXIgZW5kSWR4ID0gb3V0SWR4ICsgbWF4Qnl0ZXNUb1dyaXRlIC0gMTsgLy8gLTEgZm9yIHN0cmluZyBudWxsIHRlcm1pbmF0b3IuXHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgICAgLy8gR290Y2hhOiBjaGFyQ29kZUF0IHJldHVybnMgYSAxNi1iaXQgd29yZCB0aGF0IGlzIGEgVVRGLTE2IGVuY29kZWQgY29kZVxyXG4gICAgICAgIC8vIHVuaXQsIG5vdCBhIFVuaWNvZGUgY29kZSBwb2ludCBvZiB0aGUgY2hhcmFjdGVyISBTbyBkZWNvZGVcclxuICAgICAgICAvLyBVVEYxNi0+VVRGMzItPlVURjguXHJcbiAgICAgICAgLy8gU2VlIGh0dHA6Ly91bmljb2RlLm9yZy9mYXEvdXRmX2JvbS5odG1sI3V0ZjE2LTNcclxuICAgICAgICAvLyBGb3IgVVRGOCBieXRlIHN0cnVjdHVyZSwgc2VlIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVVRGLTgjRGVzY3JpcHRpb25cclxuICAgICAgICAvLyBhbmQgaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0XHJcbiAgICAgICAgLy8gYW5kIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzNjI5XHJcbiAgICAgICAgdmFyIHUgPSBzdHIuY2hhckNvZGVBdChpKTsgLy8gcG9zc2libHkgYSBsZWFkIHN1cnJvZ2F0ZVxyXG4gICAgICAgIGlmICh1ID49IDB4RDgwMCAmJiB1IDw9IDB4REZGRikge1xyXG4gICAgICAgICAgdmFyIHUxID0gc3RyLmNoYXJDb2RlQXQoKytpKTtcclxuICAgICAgICAgIHUgPSAweDEwMDAwICsgKCh1ICYgMHgzRkYpIDw8IDEwKSB8ICh1MSAmIDB4M0ZGKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHUgPD0gMHg3Rikge1xyXG4gICAgICAgICAgaWYgKG91dElkeCA+PSBlbmRJZHgpIGJyZWFrO1xyXG4gICAgICAgICAgaGVhcFtvdXRJZHgrK10gPSB1O1xyXG4gICAgICAgIH0gZWxzZSBpZiAodSA8PSAweDdGRikge1xyXG4gICAgICAgICAgaWYgKG91dElkeCArIDEgPj0gZW5kSWR4KSBicmVhaztcclxuICAgICAgICAgIGhlYXBbb3V0SWR4KytdID0gMHhDMCB8ICh1ID4+IDYpO1xyXG4gICAgICAgICAgaGVhcFtvdXRJZHgrK10gPSAweDgwIHwgKHUgJiA2Myk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh1IDw9IDB4RkZGRikge1xyXG4gICAgICAgICAgaWYgKG91dElkeCArIDIgPj0gZW5kSWR4KSBicmVhaztcclxuICAgICAgICAgIGhlYXBbb3V0SWR4KytdID0gMHhFMCB8ICh1ID4+IDEyKTtcclxuICAgICAgICAgIGhlYXBbb3V0SWR4KytdID0gMHg4MCB8ICgodSA+PiA2KSAmIDYzKTtcclxuICAgICAgICAgIGhlYXBbb3V0SWR4KytdID0gMHg4MCB8ICh1ICYgNjMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAob3V0SWR4ICsgMyA+PSBlbmRJZHgpIGJyZWFrO1xyXG4gICAgICAgICAgaGVhcFtvdXRJZHgrK10gPSAweEYwIHwgKHUgPj4gMTgpO1xyXG4gICAgICAgICAgaGVhcFtvdXRJZHgrK10gPSAweDgwIHwgKCh1ID4+IDEyKSAmIDYzKTtcclxuICAgICAgICAgIGhlYXBbb3V0SWR4KytdID0gMHg4MCB8ICgodSA+PiA2KSAmIDYzKTtcclxuICAgICAgICAgIGhlYXBbb3V0SWR4KytdID0gMHg4MCB8ICh1ICYgNjMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBOdWxsLXRlcm1pbmF0ZSB0aGUgcG9pbnRlciB0byB0aGUgYnVmZmVyLlxyXG4gICAgICBoZWFwW291dElkeF0gPSAwO1xyXG4gICAgICByZXR1cm4gb3V0SWR4IC0gc3RhcnRJZHg7XHJcbiAgICB9XHJcbiAgZnVuY3Rpb24gc3RyaW5nVG9VVEY4KHN0ciwgb3V0UHRyLCBtYXhCeXRlc1RvV3JpdGUpIHtcclxuICAgICAgcmV0dXJuIHN0cmluZ1RvVVRGOEFycmF5KHN0ciwgSEVBUFU4LG91dFB0ciwgbWF4Qnl0ZXNUb1dyaXRlKTtcclxuICAgIH1cclxuICBmdW5jdGlvbiBzdHJpbmdUb1VURjhPblN0YWNrKHN0cikge1xyXG4gICAgICB2YXIgc2l6ZSA9IGxlbmd0aEJ5dGVzVVRGOChzdHIpICsgMTtcclxuICAgICAgdmFyIHJldCA9IHN0YWNrQWxsb2Moc2l6ZSk7XHJcbiAgICAgIHN0cmluZ1RvVVRGOChzdHIsIHJldCwgc2l6ZSk7XHJcbiAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgdmFyIFVURjhEZWNvZGVyID0gdHlwZW9mIFRleHREZWNvZGVyICE9ICd1bmRlZmluZWQnID8gbmV3IFRleHREZWNvZGVyKCd1dGY4JykgOiB1bmRlZmluZWQ7XHJcbiAgXHJcbiAgICAvKipcclxuICAgICAqIEdpdmVuIGEgcG9pbnRlciAnaWR4JyB0byBhIG51bGwtdGVybWluYXRlZCBVVEY4LWVuY29kZWQgc3RyaW5nIGluIHRoZSBnaXZlblxyXG4gICAgICogYXJyYXkgdGhhdCBjb250YWlucyB1aW50OCB2YWx1ZXMsIHJldHVybnMgYSBjb3B5IG9mIHRoYXQgc3RyaW5nIGFzIGFcclxuICAgICAqIEphdmFzY3JpcHQgU3RyaW5nIG9iamVjdC5cclxuICAgICAqIGhlYXBPckFycmF5IGlzIGVpdGhlciBhIHJlZ3VsYXIgYXJyYXksIG9yIGEgSmF2YVNjcmlwdCB0eXBlZCBhcnJheSB2aWV3LlxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGlkeFxyXG4gICAgICogQHBhcmFtIHtudW1iZXI9fSBtYXhCeXRlc1RvUmVhZFxyXG4gICAgICogQHJldHVybiB7c3RyaW5nfVxyXG4gICAgICovXHJcbiAgZnVuY3Rpb24gVVRGOEFycmF5VG9TdHJpbmcoaGVhcE9yQXJyYXksIGlkeCwgbWF4Qnl0ZXNUb1JlYWQpIHtcclxuICAgICAgdmFyIGVuZElkeCA9IGlkeCArIG1heEJ5dGVzVG9SZWFkO1xyXG4gICAgICB2YXIgZW5kUHRyID0gaWR4O1xyXG4gICAgICAvLyBUZXh0RGVjb2RlciBuZWVkcyB0byBrbm93IHRoZSBieXRlIGxlbmd0aCBpbiBhZHZhbmNlLCBpdCBkb2Vzbid0IHN0b3Agb25cclxuICAgICAgLy8gbnVsbCB0ZXJtaW5hdG9yIGJ5IGl0c2VsZi4gIEFsc28sIHVzZSB0aGUgbGVuZ3RoIGluZm8gdG8gYXZvaWQgcnVubmluZyB0aW55XHJcbiAgICAgIC8vIHN0cmluZ3MgdGhyb3VnaCBUZXh0RGVjb2Rlciwgc2luY2UgLnN1YmFycmF5KCkgYWxsb2NhdGVzIGdhcmJhZ2UuXHJcbiAgICAgIC8vIChBcyBhIHRpbnkgY29kZSBzYXZlIHRyaWNrLCBjb21wYXJlIGVuZFB0ciBhZ2FpbnN0IGVuZElkeCB1c2luZyBhIG5lZ2F0aW9uLFxyXG4gICAgICAvLyBzbyB0aGF0IHVuZGVmaW5lZCBtZWFucyBJbmZpbml0eSlcclxuICAgICAgd2hpbGUgKGhlYXBPckFycmF5W2VuZFB0cl0gJiYgIShlbmRQdHIgPj0gZW5kSWR4KSkgKytlbmRQdHI7XHJcbiAgXHJcbiAgICAgIGlmIChlbmRQdHIgLSBpZHggPiAxNiAmJiBoZWFwT3JBcnJheS5idWZmZXIgJiYgVVRGOERlY29kZXIpIHtcclxuICAgICAgICByZXR1cm4gVVRGOERlY29kZXIuZGVjb2RlKGhlYXBPckFycmF5LnN1YmFycmF5KGlkeCwgZW5kUHRyKSk7XHJcbiAgICAgIH1cclxuICAgICAgdmFyIHN0ciA9ICcnO1xyXG4gICAgICAvLyBJZiBidWlsZGluZyB3aXRoIFRleHREZWNvZGVyLCB3ZSBoYXZlIGFscmVhZHkgY29tcHV0ZWQgdGhlIHN0cmluZyBsZW5ndGhcclxuICAgICAgLy8gYWJvdmUsIHNvIHRlc3QgbG9vcCBlbmQgY29uZGl0aW9uIGFnYWluc3QgdGhhdFxyXG4gICAgICB3aGlsZSAoaWR4IDwgZW5kUHRyKSB7XHJcbiAgICAgICAgLy8gRm9yIFVURjggYnl0ZSBzdHJ1Y3R1cmUsIHNlZTpcclxuICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VURi04I0Rlc2NyaXB0aW9uXHJcbiAgICAgICAgLy8gaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIyNzkudHh0XHJcbiAgICAgICAgLy8gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzM2MjlcclxuICAgICAgICB2YXIgdTAgPSBoZWFwT3JBcnJheVtpZHgrK107XHJcbiAgICAgICAgaWYgKCEodTAgJiAweDgwKSkgeyBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSh1MCk7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgdmFyIHUxID0gaGVhcE9yQXJyYXlbaWR4KytdICYgNjM7XHJcbiAgICAgICAgaWYgKCh1MCAmIDB4RTApID09IDB4QzApIHsgc3RyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoKCh1MCAmIDMxKSA8PCA2KSB8IHUxKTsgY29udGludWU7IH1cclxuICAgICAgICB2YXIgdTIgPSBoZWFwT3JBcnJheVtpZHgrK10gJiA2MztcclxuICAgICAgICBpZiAoKHUwICYgMHhGMCkgPT0gMHhFMCkge1xyXG4gICAgICAgICAgdTAgPSAoKHUwICYgMTUpIDw8IDEyKSB8ICh1MSA8PCA2KSB8IHUyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB1MCA9ICgodTAgJiA3KSA8PCAxOCkgfCAodTEgPDwgMTIpIHwgKHUyIDw8IDYpIHwgKGhlYXBPckFycmF5W2lkeCsrXSAmIDYzKTtcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgaWYgKHUwIDwgMHgxMDAwMCkge1xyXG4gICAgICAgICAgc3RyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUodTApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB2YXIgY2ggPSB1MCAtIDB4MTAwMDA7XHJcbiAgICAgICAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgweEQ4MDAgfCAoY2ggPj4gMTApLCAweERDMDAgfCAoY2ggJiAweDNGRikpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG4gIFxyXG4gIFxyXG4gICAgLyoqXHJcbiAgICAgKiBHaXZlbiBhIHBvaW50ZXIgJ3B0cicgdG8gYSBudWxsLXRlcm1pbmF0ZWQgVVRGOC1lbmNvZGVkIHN0cmluZyBpbiB0aGVcclxuICAgICAqIGVtc2NyaXB0ZW4gSEVBUCwgcmV0dXJucyBhIGNvcHkgb2YgdGhhdCBzdHJpbmcgYXMgYSBKYXZhc2NyaXB0IFN0cmluZyBvYmplY3QuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHB0clxyXG4gICAgICogQHBhcmFtIHtudW1iZXI9fSBtYXhCeXRlc1RvUmVhZCAtIEFuIG9wdGlvbmFsIGxlbmd0aCB0aGF0IHNwZWNpZmllcyB0aGVcclxuICAgICAqICAgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZC4gWW91IGNhbiBvbWl0IHRoaXMgcGFyYW1ldGVyIHRvIHNjYW4gdGhlXHJcbiAgICAgKiAgIHN0cmluZyB1bnRpbCB0aGUgZmlyc3QgXHUwMDAwIGJ5dGUuIElmIG1heEJ5dGVzVG9SZWFkIGlzIHBhc3NlZCwgYW5kIHRoZSBzdHJpbmdcclxuICAgICAqICAgYXQgW3B0ciwgcHRyK21heEJ5dGVzVG9SZWFkclsgY29udGFpbnMgYSBudWxsIGJ5dGUgaW4gdGhlIG1pZGRsZSwgdGhlbiB0aGVcclxuICAgICAqICAgc3RyaW5nIHdpbGwgY3V0IHNob3J0IGF0IHRoYXQgYnl0ZSBpbmRleCAoaS5lLiBtYXhCeXRlc1RvUmVhZCB3aWxsIG5vdFxyXG4gICAgICogICBwcm9kdWNlIGEgc3RyaW5nIG9mIGV4YWN0IGxlbmd0aCBbcHRyLCBwdHIrbWF4Qnl0ZXNUb1JlYWRbKSBOLkIuIG1peGluZ1xyXG4gICAgICogICBmcmVxdWVudCB1c2VzIG9mIFVURjhUb1N0cmluZygpIHdpdGggYW5kIHdpdGhvdXQgbWF4Qnl0ZXNUb1JlYWQgbWF5IHRocm93XHJcbiAgICAgKiAgIEpTIEpJVCBvcHRpbWl6YXRpb25zIG9mZiwgc28gaXQgaXMgd29ydGggdG8gY29uc2lkZXIgY29uc2lzdGVudGx5IHVzaW5nIG9uZVxyXG4gICAgICogQHJldHVybiB7c3RyaW5nfVxyXG4gICAgICovXHJcbiAgZnVuY3Rpb24gVVRGOFRvU3RyaW5nKHB0ciwgbWF4Qnl0ZXNUb1JlYWQpIHtcclxuICAgICAgcmV0dXJuIHB0ciA/IFVURjhBcnJheVRvU3RyaW5nKEhFQVBVOCwgcHRyLCBtYXhCeXRlc1RvUmVhZCkgOiAnJztcclxuICAgIH1cclxuICBcclxuICAgIC8qKlxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd8bnVsbD19IHJldHVyblR5cGVcclxuICAgICAqIEBwYXJhbSB7QXJyYXk9fSBhcmdUeXBlc1xyXG4gICAgICogQHBhcmFtIHtBcmd1bWVudHN8QXJyYXk9fSBhcmdzXHJcbiAgICAgKiBAcGFyYW0ge09iamVjdD19IG9wdHNcclxuICAgICAqL1xyXG4gIGZ1bmN0aW9uIGNjYWxsKGlkZW50LCByZXR1cm5UeXBlLCBhcmdUeXBlcywgYXJncywgb3B0cykge1xyXG4gICAgICAvLyBGb3IgZmFzdCBsb29rdXAgb2YgY29udmVyc2lvbiBmdW5jdGlvbnNcclxuICAgICAgdmFyIHRvQyA9IHtcclxuICAgICAgICAnc3RyaW5nJzogKHN0cikgPT4ge1xyXG4gICAgICAgICAgdmFyIHJldCA9IDA7XHJcbiAgICAgICAgICBpZiAoc3RyICE9PSBudWxsICYmIHN0ciAhPT0gdW5kZWZpbmVkICYmIHN0ciAhPT0gMCkgeyAvLyBudWxsIHN0cmluZ1xyXG4gICAgICAgICAgICAvLyBhdCBtb3N0IDQgYnl0ZXMgcGVyIFVURi04IGNvZGUgcG9pbnQsICsxIGZvciB0aGUgdHJhaWxpbmcgJ1xcMCdcclxuICAgICAgICAgICAgcmV0ID0gc3RyaW5nVG9VVEY4T25TdGFjayhzdHIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHJldDtcclxuICAgICAgICB9LFxyXG4gICAgICAgICdhcnJheSc6IChhcnIpID0+IHtcclxuICAgICAgICAgIHZhciByZXQgPSBzdGFja0FsbG9jKGFyci5sZW5ndGgpO1xyXG4gICAgICAgICAgd3JpdGVBcnJheVRvTWVtb3J5KGFyciwgcmV0KTtcclxuICAgICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gIFxyXG4gICAgICBmdW5jdGlvbiBjb252ZXJ0UmV0dXJuVmFsdWUocmV0KSB7XHJcbiAgICAgICAgaWYgKHJldHVyblR5cGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHJldHVybiBVVEY4VG9TdHJpbmcocmV0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHJldHVyblR5cGUgPT09ICdib29sZWFuJykgcmV0dXJuIEJvb2xlYW4ocmV0KTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIHZhciBmdW5jID0gZ2V0Q0Z1bmMoaWRlbnQpO1xyXG4gICAgICB2YXIgY0FyZ3MgPSBbXTtcclxuICAgICAgdmFyIHN0YWNrID0gMDtcclxuICAgICAgaWYgKGFyZ3MpIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHZhciBjb252ZXJ0ZXIgPSB0b0NbYXJnVHlwZXNbaV1dO1xyXG4gICAgICAgICAgaWYgKGNvbnZlcnRlcikge1xyXG4gICAgICAgICAgICBpZiAoc3RhY2sgPT09IDApIHN0YWNrID0gc3RhY2tTYXZlKCk7XHJcbiAgICAgICAgICAgIGNBcmdzW2ldID0gY29udmVydGVyKGFyZ3NbaV0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY0FyZ3NbaV0gPSBhcmdzW2ldO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB2YXIgcmV0ID0gZnVuYy5hcHBseShudWxsLCBjQXJncyk7XHJcbiAgICAgIGZ1bmN0aW9uIG9uRG9uZShyZXQpIHtcclxuICAgICAgICBpZiAoc3RhY2sgIT09IDApIHN0YWNrUmVzdG9yZShzdGFjayk7XHJcbiAgICAgICAgcmV0dXJuIGNvbnZlcnRSZXR1cm5WYWx1ZShyZXQpO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIHJldCA9IG9uRG9uZShyZXQpO1xyXG4gICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgLyoqXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZz19IHJldHVyblR5cGVcclxuICAgICAqIEBwYXJhbSB7QXJyYXk9fSBhcmdUeXBlc1xyXG4gICAgICogQHBhcmFtIHtPYmplY3Q9fSBvcHRzXHJcbiAgICAgKi9cclxuICBmdW5jdGlvbiBjd3JhcChpZGVudCwgcmV0dXJuVHlwZSwgYXJnVHlwZXMsIG9wdHMpIHtcclxuICAgICAgLy8gV2hlbiB0aGUgZnVuY3Rpb24gdGFrZXMgbnVtYmVycyBhbmQgcmV0dXJucyBhIG51bWJlciwgd2UgY2FuIGp1c3QgcmV0dXJuXHJcbiAgICAgIC8vIHRoZSBvcmlnaW5hbCBmdW5jdGlvblxyXG4gICAgICB2YXIgbnVtZXJpY0FyZ3MgPSAhYXJnVHlwZXMgfHwgYXJnVHlwZXMuZXZlcnkoKHR5cGUpID0+IHR5cGUgPT09ICdudW1iZXInIHx8IHR5cGUgPT09ICdib29sZWFuJyk7XHJcbiAgICAgIHZhciBudW1lcmljUmV0ID0gcmV0dXJuVHlwZSAhPT0gJ3N0cmluZyc7XHJcbiAgICAgIGlmIChudW1lcmljUmV0ICYmIG51bWVyaWNBcmdzICYmICFvcHRzKSB7XHJcbiAgICAgICAgcmV0dXJuIGdldENGdW5jKGlkZW50KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIGNjYWxsKGlkZW50LCByZXR1cm5UeXBlLCBhcmdUeXBlcywgYXJndW1lbnRzLCBvcHRzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxudmFyIHdhc21JbXBvcnRzID0ge1xyXG4gIFwiX19jeGFfdGhyb3dcIjogX19fY3hhX3Rocm93LFxyXG4gIFwiYWJvcnRcIjogX2Fib3J0LFxyXG4gIFwiZW1zY3JpcHRlbl9tZW1jcHlfYmlnXCI6IF9lbXNjcmlwdGVuX21lbWNweV9iaWcsXHJcbiAgXCJlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwXCI6IF9lbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwXHJcbn07XHJcbnZhciBhc20gPSBjcmVhdGVXYXNtKCk7XHJcbi8qKiBAdHlwZSB7ZnVuY3Rpb24oLi4uKik6P30gKi9cclxudmFyIF9fX3dhc21fY2FsbF9jdG9ycyA9IGZ1bmN0aW9uKCkge1xyXG4gIHJldHVybiAoX19fd2FzbV9jYWxsX2N0b3JzID0gTW9kdWxlW1wiYXNtXCJdW1wiX193YXNtX2NhbGxfY3RvcnNcIl0pLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XHJcbn07XHJcblxyXG4vKiogQHR5cGUge2Z1bmN0aW9uKC4uLiopOj99ICovXHJcbnZhciBfZGJzY2FuID0gTW9kdWxlW1wiX2Ric2NhblwiXSA9IGZ1bmN0aW9uKCkge1xyXG4gIHJldHVybiAoX2Ric2NhbiA9IE1vZHVsZVtcIl9kYnNjYW5cIl0gPSBNb2R1bGVbXCJhc21cIl1bXCJkYnNjYW5cIl0pLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XHJcbn07XHJcblxyXG4vKiogQHR5cGUge2Z1bmN0aW9uKC4uLiopOj99ICovXHJcbnZhciBfX19lcnJub19sb2NhdGlvbiA9IGZ1bmN0aW9uKCkge1xyXG4gIHJldHVybiAoX19fZXJybm9fbG9jYXRpb24gPSBNb2R1bGVbXCJhc21cIl1bXCJfX2Vycm5vX2xvY2F0aW9uXCJdKS5hcHBseShudWxsLCBhcmd1bWVudHMpO1xyXG59O1xyXG5cclxuLyoqIEB0eXBlIHtmdW5jdGlvbiguLi4qKTo/fSAqL1xyXG52YXIgX21hbGxvYyA9IE1vZHVsZVtcIl9tYWxsb2NcIl0gPSBmdW5jdGlvbigpIHtcclxuICByZXR1cm4gKF9tYWxsb2MgPSBNb2R1bGVbXCJfbWFsbG9jXCJdID0gTW9kdWxlW1wiYXNtXCJdW1wibWFsbG9jXCJdKS5hcHBseShudWxsLCBhcmd1bWVudHMpO1xyXG59O1xyXG5cclxuLyoqIEB0eXBlIHtmdW5jdGlvbiguLi4qKTo/fSAqL1xyXG52YXIgX2ZyZWUgPSBNb2R1bGVbXCJfZnJlZVwiXSA9IGZ1bmN0aW9uKCkge1xyXG4gIHJldHVybiAoX2ZyZWUgPSBNb2R1bGVbXCJfZnJlZVwiXSA9IE1vZHVsZVtcImFzbVwiXVtcImZyZWVcIl0pLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XHJcbn07XHJcblxyXG4vKiogQHR5cGUge2Z1bmN0aW9uKC4uLiopOj99ICovXHJcbnZhciBzdGFja1NhdmUgPSBmdW5jdGlvbigpIHtcclxuICByZXR1cm4gKHN0YWNrU2F2ZSA9IE1vZHVsZVtcImFzbVwiXVtcInN0YWNrU2F2ZVwiXSkuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcclxufTtcclxuXHJcbi8qKiBAdHlwZSB7ZnVuY3Rpb24oLi4uKik6P30gKi9cclxudmFyIHN0YWNrUmVzdG9yZSA9IGZ1bmN0aW9uKCkge1xyXG4gIHJldHVybiAoc3RhY2tSZXN0b3JlID0gTW9kdWxlW1wiYXNtXCJdW1wic3RhY2tSZXN0b3JlXCJdKS5hcHBseShudWxsLCBhcmd1bWVudHMpO1xyXG59O1xyXG5cclxuLyoqIEB0eXBlIHtmdW5jdGlvbiguLi4qKTo/fSAqL1xyXG52YXIgc3RhY2tBbGxvYyA9IGZ1bmN0aW9uKCkge1xyXG4gIHJldHVybiAoc3RhY2tBbGxvYyA9IE1vZHVsZVtcImFzbVwiXVtcInN0YWNrQWxsb2NcIl0pLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XHJcbn07XHJcblxyXG4vKiogQHR5cGUge2Z1bmN0aW9uKC4uLiopOj99ICovXHJcbnZhciBfX19jeGFfaXNfcG9pbnRlcl90eXBlID0gZnVuY3Rpb24oKSB7XHJcbiAgcmV0dXJuIChfX19jeGFfaXNfcG9pbnRlcl90eXBlID0gTW9kdWxlW1wiYXNtXCJdW1wiX19jeGFfaXNfcG9pbnRlcl90eXBlXCJdKS5hcHBseShudWxsLCBhcmd1bWVudHMpO1xyXG59O1xyXG5cclxuXHJcblxyXG4vLyBpbmNsdWRlOiBwb3N0YW1ibGUuanNcclxuLy8gPT09IEF1dG8tZ2VuZXJhdGVkIHBvc3RhbWJsZSBzZXR1cCBlbnRyeSBzdHVmZiA9PT1cclxuXHJcbk1vZHVsZVtcImNjYWxsXCJdID0gY2NhbGw7XHJcbk1vZHVsZVtcImN3cmFwXCJdID0gY3dyYXA7XHJcblxyXG5cclxudmFyIGNhbGxlZFJ1bjtcclxuXHJcbmRlcGVuZGVuY2llc0Z1bGZpbGxlZCA9IGZ1bmN0aW9uIHJ1bkNhbGxlcigpIHtcclxuICAvLyBJZiBydW4gaGFzIG5ldmVyIGJlZW4gY2FsbGVkLCBhbmQgd2Ugc2hvdWxkIGNhbGwgcnVuIChJTlZPS0VfUlVOIGlzIHRydWUsIGFuZCBNb2R1bGUubm9Jbml0aWFsUnVuIGlzIG5vdCBmYWxzZSlcclxuICBpZiAoIWNhbGxlZFJ1bikgcnVuKCk7XHJcbiAgaWYgKCFjYWxsZWRSdW4pIGRlcGVuZGVuY2llc0Z1bGZpbGxlZCA9IHJ1bkNhbGxlcjsgLy8gdHJ5IHRoaXMgYWdhaW4gbGF0ZXIsIGFmdGVyIG5ldyBkZXBzIGFyZSBmdWxmaWxsZWRcclxufTtcclxuXHJcbmZ1bmN0aW9uIHJ1bigpIHtcclxuXHJcbiAgaWYgKHJ1bkRlcGVuZGVuY2llcyA+IDApIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHByZVJ1bigpO1xyXG5cclxuICAvLyBhIHByZVJ1biBhZGRlZCBhIGRlcGVuZGVuY3ksIHJ1biB3aWxsIGJlIGNhbGxlZCBsYXRlclxyXG4gIGlmIChydW5EZXBlbmRlbmNpZXMgPiAwKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBkb1J1bigpIHtcclxuICAgIC8vIHJ1biBtYXkgaGF2ZSBqdXN0IGJlZW4gY2FsbGVkIHRocm91Z2ggZGVwZW5kZW5jaWVzIGJlaW5nIGZ1bGZpbGxlZCBqdXN0IGluIHRoaXMgdmVyeSBmcmFtZSxcclxuICAgIC8vIG9yIHdoaWxlIHRoZSBhc3luYyBzZXRTdGF0dXMgdGltZSBiZWxvdyB3YXMgaGFwcGVuaW5nXHJcbiAgICBpZiAoY2FsbGVkUnVuKSByZXR1cm47XHJcbiAgICBjYWxsZWRSdW4gPSB0cnVlO1xyXG4gICAgTW9kdWxlWydjYWxsZWRSdW4nXSA9IHRydWU7XHJcblxyXG4gICAgaWYgKEFCT1JUKSByZXR1cm47XHJcblxyXG4gICAgaW5pdFJ1bnRpbWUoKTtcclxuXHJcbiAgICByZWFkeVByb21pc2VSZXNvbHZlKE1vZHVsZSk7XHJcbiAgICBpZiAoTW9kdWxlWydvblJ1bnRpbWVJbml0aWFsaXplZCddKSBNb2R1bGVbJ29uUnVudGltZUluaXRpYWxpemVkJ10oKTtcclxuXHJcbiAgICBwb3N0UnVuKCk7XHJcbiAgfVxyXG5cclxuICBpZiAoTW9kdWxlWydzZXRTdGF0dXMnXSkge1xyXG4gICAgTW9kdWxlWydzZXRTdGF0dXMnXSgnUnVubmluZy4uLicpO1xyXG4gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuICAgICAgICBNb2R1bGVbJ3NldFN0YXR1cyddKCcnKTtcclxuICAgICAgfSwgMSk7XHJcbiAgICAgIGRvUnVuKCk7XHJcbiAgICB9LCAxKTtcclxuICB9IGVsc2VcclxuICB7XHJcbiAgICBkb1J1bigpO1xyXG4gIH1cclxufVxyXG5cclxuaWYgKE1vZHVsZVsncHJlSW5pdCddKSB7XHJcbiAgaWYgKHR5cGVvZiBNb2R1bGVbJ3ByZUluaXQnXSA9PSAnZnVuY3Rpb24nKSBNb2R1bGVbJ3ByZUluaXQnXSA9IFtNb2R1bGVbJ3ByZUluaXQnXV07XHJcbiAgd2hpbGUgKE1vZHVsZVsncHJlSW5pdCddLmxlbmd0aCA+IDApIHtcclxuICAgIE1vZHVsZVsncHJlSW5pdCddLnBvcCgpKCk7XHJcbiAgfVxyXG59XHJcblxyXG5ydW4oKTtcclxuXHJcblxyXG4vLyBlbmQgaW5jbHVkZTogcG9zdGFtYmxlLmpzXHJcblxyXG5cclxuICByZXR1cm4gZXhwb3J0Q3BwRGJzY2FuTGliLnJlYWR5XHJcbn1cclxuXHJcbik7XHJcbn0pKCk7XHJcbmlmICh0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRDcHBEYnNjYW5MaWI7XHJcbmVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lWydhbWQnXSlcclxuICBkZWZpbmUoW10sIGZ1bmN0aW9uKCkgeyByZXR1cm4gZXhwb3J0Q3BwRGJzY2FuTGliOyB9KTtcclxuZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxyXG4gIGV4cG9ydHNbXCJleHBvcnRDcHBEYnNjYW5MaWJcIl0gPSBleHBvcnRDcHBEYnNjYW5MaWI7XHJcbiIsIihmdW5jdGlvbiAocm9vdCwgZmFjdG9yeSkge1xuICAgIC8vIEhhY2sgdG8gbWFrZSBhbGwgZXhwb3J0cyBvZiB0aGlzIG1vZHVsZSBzaGEyNTYgZnVuY3Rpb24gb2JqZWN0IHByb3BlcnRpZXMuXG4gICAgdmFyIGV4cG9ydHMgPSB7fTtcbiAgICBmYWN0b3J5KGV4cG9ydHMpO1xuICAgIHZhciBzaGEyNTYgPSBleHBvcnRzW1wiZGVmYXVsdFwiXTtcbiAgICBmb3IgKHZhciBrIGluIGV4cG9ydHMpIHtcbiAgICAgICAgc2hhMjU2W2tdID0gZXhwb3J0c1trXTtcbiAgICB9XG4gICAgICAgIFxuICAgIGlmICh0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlLmV4cG9ydHMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gc2hhMjU2O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7XG4gICAgICAgIGRlZmluZShmdW5jdGlvbigpIHsgcmV0dXJuIHNoYTI1NjsgfSk7IFxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJvb3Quc2hhMjU2ID0gc2hhMjU2O1xuICAgIH1cbn0pKHRoaXMsIGZ1bmN0aW9uKGV4cG9ydHMpIHtcblwidXNlIHN0cmljdFwiO1xuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcbi8vIFNIQS0yNTYgKCsgSE1BQyBhbmQgUEJLREYyKSBmb3IgSmF2YVNjcmlwdC5cbi8vXG4vLyBXcml0dGVuIGluIDIwMTQtMjAxNiBieSBEbWl0cnkgQ2hlc3RueWtoLlxuLy8gUHVibGljIGRvbWFpbiwgbm8gd2FycmFudHkuXG4vL1xuLy8gRnVuY3Rpb25zIChhY2NlcHQgYW5kIHJldHVybiBVaW50OEFycmF5cyk6XG4vL1xuLy8gICBzaGEyNTYobWVzc2FnZSkgLT4gaGFzaFxuLy8gICBzaGEyNTYuaG1hYyhrZXksIG1lc3NhZ2UpIC0+IG1hY1xuLy8gICBzaGEyNTYucGJrZGYyKHBhc3N3b3JkLCBzYWx0LCByb3VuZHMsIGRrTGVuKSAtPiBka1xuLy9cbi8vICBDbGFzc2VzOlxuLy9cbi8vICAgbmV3IHNoYTI1Ni5IYXNoKClcbi8vICAgbmV3IHNoYTI1Ni5ITUFDKGtleSlcbi8vXG5leHBvcnRzLmRpZ2VzdExlbmd0aCA9IDMyO1xuZXhwb3J0cy5ibG9ja1NpemUgPSA2NDtcbi8vIFNIQS0yNTYgY29uc3RhbnRzXG52YXIgSyA9IG5ldyBVaW50MzJBcnJheShbXG4gICAgMHg0MjhhMmY5OCwgMHg3MTM3NDQ5MSwgMHhiNWMwZmJjZiwgMHhlOWI1ZGJhNSwgMHgzOTU2YzI1YixcbiAgICAweDU5ZjExMWYxLCAweDkyM2Y4MmE0LCAweGFiMWM1ZWQ1LCAweGQ4MDdhYTk4LCAweDEyODM1YjAxLFxuICAgIDB4MjQzMTg1YmUsIDB4NTUwYzdkYzMsIDB4NzJiZTVkNzQsIDB4ODBkZWIxZmUsIDB4OWJkYzA2YTcsXG4gICAgMHhjMTliZjE3NCwgMHhlNDliNjljMSwgMHhlZmJlNDc4NiwgMHgwZmMxOWRjNiwgMHgyNDBjYTFjYyxcbiAgICAweDJkZTkyYzZmLCAweDRhNzQ4NGFhLCAweDVjYjBhOWRjLCAweDc2Zjk4OGRhLCAweDk4M2U1MTUyLFxuICAgIDB4YTgzMWM2NmQsIDB4YjAwMzI3YzgsIDB4YmY1OTdmYzcsIDB4YzZlMDBiZjMsIDB4ZDVhNzkxNDcsXG4gICAgMHgwNmNhNjM1MSwgMHgxNDI5Mjk2NywgMHgyN2I3MGE4NSwgMHgyZTFiMjEzOCwgMHg0ZDJjNmRmYyxcbiAgICAweDUzMzgwZDEzLCAweDY1MGE3MzU0LCAweDc2NmEwYWJiLCAweDgxYzJjOTJlLCAweDkyNzIyYzg1LFxuICAgIDB4YTJiZmU4YTEsIDB4YTgxYTY2NGIsIDB4YzI0YjhiNzAsIDB4Yzc2YzUxYTMsIDB4ZDE5MmU4MTksXG4gICAgMHhkNjk5MDYyNCwgMHhmNDBlMzU4NSwgMHgxMDZhYTA3MCwgMHgxOWE0YzExNiwgMHgxZTM3NmMwOCxcbiAgICAweDI3NDg3NzRjLCAweDM0YjBiY2I1LCAweDM5MWMwY2IzLCAweDRlZDhhYTRhLCAweDViOWNjYTRmLFxuICAgIDB4NjgyZTZmZjMsIDB4NzQ4ZjgyZWUsIDB4NzhhNTYzNmYsIDB4ODRjODc4MTQsIDB4OGNjNzAyMDgsXG4gICAgMHg5MGJlZmZmYSwgMHhhNDUwNmNlYiwgMHhiZWY5YTNmNywgMHhjNjcxNzhmMlxuXSk7XG5mdW5jdGlvbiBoYXNoQmxvY2tzKHcsIHYsIHAsIHBvcywgbGVuKSB7XG4gICAgdmFyIGEsIGIsIGMsIGQsIGUsIGYsIGcsIGgsIHUsIGksIGosIHQxLCB0MjtcbiAgICB3aGlsZSAobGVuID49IDY0KSB7XG4gICAgICAgIGEgPSB2WzBdO1xuICAgICAgICBiID0gdlsxXTtcbiAgICAgICAgYyA9IHZbMl07XG4gICAgICAgIGQgPSB2WzNdO1xuICAgICAgICBlID0gdls0XTtcbiAgICAgICAgZiA9IHZbNV07XG4gICAgICAgIGcgPSB2WzZdO1xuICAgICAgICBoID0gdls3XTtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IDE2OyBpKyspIHtcbiAgICAgICAgICAgIGogPSBwb3MgKyBpICogNDtcbiAgICAgICAgICAgIHdbaV0gPSAoKChwW2pdICYgMHhmZikgPDwgMjQpIHwgKChwW2ogKyAxXSAmIDB4ZmYpIDw8IDE2KSB8XG4gICAgICAgICAgICAgICAgKChwW2ogKyAyXSAmIDB4ZmYpIDw8IDgpIHwgKHBbaiArIDNdICYgMHhmZikpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoaSA9IDE2OyBpIDwgNjQ7IGkrKykge1xuICAgICAgICAgICAgdSA9IHdbaSAtIDJdO1xuICAgICAgICAgICAgdDEgPSAodSA+Pj4gMTcgfCB1IDw8ICgzMiAtIDE3KSkgXiAodSA+Pj4gMTkgfCB1IDw8ICgzMiAtIDE5KSkgXiAodSA+Pj4gMTApO1xuICAgICAgICAgICAgdSA9IHdbaSAtIDE1XTtcbiAgICAgICAgICAgIHQyID0gKHUgPj4+IDcgfCB1IDw8ICgzMiAtIDcpKSBeICh1ID4+PiAxOCB8IHUgPDwgKDMyIC0gMTgpKSBeICh1ID4+PiAzKTtcbiAgICAgICAgICAgIHdbaV0gPSAodDEgKyB3W2kgLSA3XSB8IDApICsgKHQyICsgd1tpIC0gMTZdIHwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChpID0gMDsgaSA8IDY0OyBpKyspIHtcbiAgICAgICAgICAgIHQxID0gKCgoKChlID4+PiA2IHwgZSA8PCAoMzIgLSA2KSkgXiAoZSA+Pj4gMTEgfCBlIDw8ICgzMiAtIDExKSkgXlxuICAgICAgICAgICAgICAgIChlID4+PiAyNSB8IGUgPDwgKDMyIC0gMjUpKSkgKyAoKGUgJiBmKSBeICh+ZSAmIGcpKSkgfCAwKSArXG4gICAgICAgICAgICAgICAgKChoICsgKChLW2ldICsgd1tpXSkgfCAwKSkgfCAwKSkgfCAwO1xuICAgICAgICAgICAgdDIgPSAoKChhID4+PiAyIHwgYSA8PCAoMzIgLSAyKSkgXiAoYSA+Pj4gMTMgfCBhIDw8ICgzMiAtIDEzKSkgXlxuICAgICAgICAgICAgICAgIChhID4+PiAyMiB8IGEgPDwgKDMyIC0gMjIpKSkgKyAoKGEgJiBiKSBeIChhICYgYykgXiAoYiAmIGMpKSkgfCAwO1xuICAgICAgICAgICAgaCA9IGc7XG4gICAgICAgICAgICBnID0gZjtcbiAgICAgICAgICAgIGYgPSBlO1xuICAgICAgICAgICAgZSA9IChkICsgdDEpIHwgMDtcbiAgICAgICAgICAgIGQgPSBjO1xuICAgICAgICAgICAgYyA9IGI7XG4gICAgICAgICAgICBiID0gYTtcbiAgICAgICAgICAgIGEgPSAodDEgKyB0MikgfCAwO1xuICAgICAgICB9XG4gICAgICAgIHZbMF0gKz0gYTtcbiAgICAgICAgdlsxXSArPSBiO1xuICAgICAgICB2WzJdICs9IGM7XG4gICAgICAgIHZbM10gKz0gZDtcbiAgICAgICAgdls0XSArPSBlO1xuICAgICAgICB2WzVdICs9IGY7XG4gICAgICAgIHZbNl0gKz0gZztcbiAgICAgICAgdls3XSArPSBoO1xuICAgICAgICBwb3MgKz0gNjQ7XG4gICAgICAgIGxlbiAtPSA2NDtcbiAgICB9XG4gICAgcmV0dXJuIHBvcztcbn1cbi8vIEhhc2ggaW1wbGVtZW50cyBTSEEyNTYgaGFzaCBhbGdvcml0aG0uXG52YXIgSGFzaCA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBIYXNoKCkge1xuICAgICAgICB0aGlzLmRpZ2VzdExlbmd0aCA9IGV4cG9ydHMuZGlnZXN0TGVuZ3RoO1xuICAgICAgICB0aGlzLmJsb2NrU2l6ZSA9IGV4cG9ydHMuYmxvY2tTaXplO1xuICAgICAgICAvLyBOb3RlOiBJbnQzMkFycmF5IGlzIHVzZWQgaW5zdGVhZCBvZiBVaW50MzJBcnJheSBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy5cbiAgICAgICAgdGhpcy5zdGF0ZSA9IG5ldyBJbnQzMkFycmF5KDgpOyAvLyBoYXNoIHN0YXRlXG4gICAgICAgIHRoaXMudGVtcCA9IG5ldyBJbnQzMkFycmF5KDY0KTsgLy8gdGVtcG9yYXJ5IHN0YXRlXG4gICAgICAgIHRoaXMuYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoMTI4KTsgLy8gYnVmZmVyIGZvciBkYXRhIHRvIGhhc2hcbiAgICAgICAgdGhpcy5idWZmZXJMZW5ndGggPSAwOyAvLyBudW1iZXIgb2YgYnl0ZXMgaW4gYnVmZmVyXG4gICAgICAgIHRoaXMuYnl0ZXNIYXNoZWQgPSAwOyAvLyBudW1iZXIgb2YgdG90YWwgYnl0ZXMgaGFzaGVkXG4gICAgICAgIHRoaXMuZmluaXNoZWQgPSBmYWxzZTsgLy8gaW5kaWNhdGVzIHdoZXRoZXIgdGhlIGhhc2ggd2FzIGZpbmFsaXplZFxuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgfVxuICAgIC8vIFJlc2V0cyBoYXNoIHN0YXRlIG1ha2luZyBpdCBwb3NzaWJsZVxuICAgIC8vIHRvIHJlLXVzZSB0aGlzIGluc3RhbmNlIHRvIGhhc2ggb3RoZXIgZGF0YS5cbiAgICBIYXNoLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5zdGF0ZVswXSA9IDB4NmEwOWU2Njc7XG4gICAgICAgIHRoaXMuc3RhdGVbMV0gPSAweGJiNjdhZTg1O1xuICAgICAgICB0aGlzLnN0YXRlWzJdID0gMHgzYzZlZjM3MjtcbiAgICAgICAgdGhpcy5zdGF0ZVszXSA9IDB4YTU0ZmY1M2E7XG4gICAgICAgIHRoaXMuc3RhdGVbNF0gPSAweDUxMGU1MjdmO1xuICAgICAgICB0aGlzLnN0YXRlWzVdID0gMHg5YjA1Njg4YztcbiAgICAgICAgdGhpcy5zdGF0ZVs2XSA9IDB4MWY4M2Q5YWI7XG4gICAgICAgIHRoaXMuc3RhdGVbN10gPSAweDViZTBjZDE5O1xuICAgICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IDA7XG4gICAgICAgIHRoaXMuYnl0ZXNIYXNoZWQgPSAwO1xuICAgICAgICB0aGlzLmZpbmlzaGVkID0gZmFsc2U7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgLy8gQ2xlYW5zIGludGVybmFsIGJ1ZmZlcnMgYW5kIHJlLWluaXRpYWxpemVzIGhhc2ggc3RhdGUuXG4gICAgSGFzaC5wcm90b3R5cGUuY2xlYW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5idWZmZXIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyW2ldID0gMDtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMudGVtcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdGhpcy50ZW1wW2ldID0gMDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgfTtcbiAgICAvLyBVcGRhdGVzIGhhc2ggc3RhdGUgd2l0aCB0aGUgZ2l2ZW4gZGF0YS5cbiAgICAvL1xuICAgIC8vIE9wdGlvbmFsbHksIGxlbmd0aCBvZiB0aGUgZGF0YSBjYW4gYmUgc3BlY2lmaWVkIHRvIGhhc2hcbiAgICAvLyBmZXdlciBieXRlcyB0aGFuIGRhdGEubGVuZ3RoLlxuICAgIC8vXG4gICAgLy8gVGhyb3dzIGVycm9yIHdoZW4gdHJ5aW5nIHRvIHVwZGF0ZSBhbHJlYWR5IGZpbmFsaXplZCBoYXNoOlxuICAgIC8vIGluc3RhbmNlIG11c3QgYmUgcmVzZXQgdG8gdXNlIGl0IGFnYWluLlxuICAgIEhhc2gucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhLCBkYXRhTGVuZ3RoKSB7XG4gICAgICAgIGlmIChkYXRhTGVuZ3RoID09PSB2b2lkIDApIHsgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoOyB9XG4gICAgICAgIGlmICh0aGlzLmZpbmlzaGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTSEEyNTY6IGNhbid0IHVwZGF0ZSBiZWNhdXNlIGhhc2ggd2FzIGZpbmlzaGVkLlwiKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZGF0YVBvcyA9IDA7XG4gICAgICAgIHRoaXMuYnl0ZXNIYXNoZWQgKz0gZGF0YUxlbmd0aDtcbiAgICAgICAgaWYgKHRoaXMuYnVmZmVyTGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgd2hpbGUgKHRoaXMuYnVmZmVyTGVuZ3RoIDwgNjQgJiYgZGF0YUxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlclt0aGlzLmJ1ZmZlckxlbmd0aCsrXSA9IGRhdGFbZGF0YVBvcysrXTtcbiAgICAgICAgICAgICAgICBkYXRhTGVuZ3RoLS07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5idWZmZXJMZW5ndGggPT09IDY0KSB7XG4gICAgICAgICAgICAgICAgaGFzaEJsb2Nrcyh0aGlzLnRlbXAsIHRoaXMuc3RhdGUsIHRoaXMuYnVmZmVyLCAwLCA2NCk7XG4gICAgICAgICAgICAgICAgdGhpcy5idWZmZXJMZW5ndGggPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhTGVuZ3RoID49IDY0KSB7XG4gICAgICAgICAgICBkYXRhUG9zID0gaGFzaEJsb2Nrcyh0aGlzLnRlbXAsIHRoaXMuc3RhdGUsIGRhdGEsIGRhdGFQb3MsIGRhdGFMZW5ndGgpO1xuICAgICAgICAgICAgZGF0YUxlbmd0aCAlPSA2NDtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAoZGF0YUxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyW3RoaXMuYnVmZmVyTGVuZ3RoKytdID0gZGF0YVtkYXRhUG9zKytdO1xuICAgICAgICAgICAgZGF0YUxlbmd0aC0tO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgLy8gRmluYWxpemVzIGhhc2ggc3RhdGUgYW5kIHB1dHMgaGFzaCBpbnRvIG91dC5cbiAgICAvL1xuICAgIC8vIElmIGhhc2ggd2FzIGFscmVhZHkgZmluYWxpemVkLCBwdXRzIHRoZSBzYW1lIHZhbHVlLlxuICAgIEhhc2gucHJvdG90eXBlLmZpbmlzaCA9IGZ1bmN0aW9uIChvdXQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZpbmlzaGVkKSB7XG4gICAgICAgICAgICB2YXIgYnl0ZXNIYXNoZWQgPSB0aGlzLmJ5dGVzSGFzaGVkO1xuICAgICAgICAgICAgdmFyIGxlZnQgPSB0aGlzLmJ1ZmZlckxlbmd0aDtcbiAgICAgICAgICAgIHZhciBiaXRMZW5IaSA9IChieXRlc0hhc2hlZCAvIDB4MjAwMDAwMDApIHwgMDtcbiAgICAgICAgICAgIHZhciBiaXRMZW5MbyA9IGJ5dGVzSGFzaGVkIDw8IDM7XG4gICAgICAgICAgICB2YXIgcGFkTGVuZ3RoID0gKGJ5dGVzSGFzaGVkICUgNjQgPCA1NikgPyA2NCA6IDEyODtcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyW2xlZnRdID0gMHg4MDtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSBsZWZ0ICsgMTsgaSA8IHBhZExlbmd0aCAtIDg7IGkrKykge1xuICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW2ldID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuYnVmZmVyW3BhZExlbmd0aCAtIDhdID0gKGJpdExlbkhpID4+PiAyNCkgJiAweGZmO1xuICAgICAgICAgICAgdGhpcy5idWZmZXJbcGFkTGVuZ3RoIC0gN10gPSAoYml0TGVuSGkgPj4+IDE2KSAmIDB4ZmY7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlcltwYWRMZW5ndGggLSA2XSA9IChiaXRMZW5IaSA+Pj4gOCkgJiAweGZmO1xuICAgICAgICAgICAgdGhpcy5idWZmZXJbcGFkTGVuZ3RoIC0gNV0gPSAoYml0TGVuSGkgPj4+IDApICYgMHhmZjtcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyW3BhZExlbmd0aCAtIDRdID0gKGJpdExlbkxvID4+PiAyNCkgJiAweGZmO1xuICAgICAgICAgICAgdGhpcy5idWZmZXJbcGFkTGVuZ3RoIC0gM10gPSAoYml0TGVuTG8gPj4+IDE2KSAmIDB4ZmY7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlcltwYWRMZW5ndGggLSAyXSA9IChiaXRMZW5MbyA+Pj4gOCkgJiAweGZmO1xuICAgICAgICAgICAgdGhpcy5idWZmZXJbcGFkTGVuZ3RoIC0gMV0gPSAoYml0TGVuTG8gPj4+IDApICYgMHhmZjtcbiAgICAgICAgICAgIGhhc2hCbG9ja3ModGhpcy50ZW1wLCB0aGlzLnN0YXRlLCB0aGlzLmJ1ZmZlciwgMCwgcGFkTGVuZ3RoKTtcbiAgICAgICAgICAgIHRoaXMuZmluaXNoZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgODsgaSsrKSB7XG4gICAgICAgICAgICBvdXRbaSAqIDQgKyAwXSA9ICh0aGlzLnN0YXRlW2ldID4+PiAyNCkgJiAweGZmO1xuICAgICAgICAgICAgb3V0W2kgKiA0ICsgMV0gPSAodGhpcy5zdGF0ZVtpXSA+Pj4gMTYpICYgMHhmZjtcbiAgICAgICAgICAgIG91dFtpICogNCArIDJdID0gKHRoaXMuc3RhdGVbaV0gPj4+IDgpICYgMHhmZjtcbiAgICAgICAgICAgIG91dFtpICogNCArIDNdID0gKHRoaXMuc3RhdGVbaV0gPj4+IDApICYgMHhmZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIC8vIFJldHVybnMgdGhlIGZpbmFsIGhhc2ggZGlnZXN0LlxuICAgIEhhc2gucHJvdG90eXBlLmRpZ2VzdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIG91dCA9IG5ldyBVaW50OEFycmF5KHRoaXMuZGlnZXN0TGVuZ3RoKTtcbiAgICAgICAgdGhpcy5maW5pc2gob3V0KTtcbiAgICAgICAgcmV0dXJuIG91dDtcbiAgICB9O1xuICAgIC8vIEludGVybmFsIGZ1bmN0aW9uIGZvciB1c2UgaW4gSE1BQyBmb3Igb3B0aW1pemF0aW9uLlxuICAgIEhhc2gucHJvdG90eXBlLl9zYXZlU3RhdGUgPSBmdW5jdGlvbiAob3V0KSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zdGF0ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgb3V0W2ldID0gdGhpcy5zdGF0ZVtpXTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLy8gSW50ZXJuYWwgZnVuY3Rpb24gZm9yIHVzZSBpbiBITUFDIGZvciBvcHRpbWl6YXRpb24uXG4gICAgSGFzaC5wcm90b3R5cGUuX3Jlc3RvcmVTdGF0ZSA9IGZ1bmN0aW9uIChmcm9tLCBieXRlc0hhc2hlZCkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuc3RhdGUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVbaV0gPSBmcm9tW2ldO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYnl0ZXNIYXNoZWQgPSBieXRlc0hhc2hlZDtcbiAgICAgICAgdGhpcy5maW5pc2hlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJ1ZmZlckxlbmd0aCA9IDA7XG4gICAgfTtcbiAgICByZXR1cm4gSGFzaDtcbn0oKSk7XG5leHBvcnRzLkhhc2ggPSBIYXNoO1xuLy8gSE1BQyBpbXBsZW1lbnRzIEhNQUMtU0hBMjU2IG1lc3NhZ2UgYXV0aGVudGljYXRpb24gYWxnb3JpdGhtLlxudmFyIEhNQUMgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gSE1BQyhrZXkpIHtcbiAgICAgICAgdGhpcy5pbm5lciA9IG5ldyBIYXNoKCk7XG4gICAgICAgIHRoaXMub3V0ZXIgPSBuZXcgSGFzaCgpO1xuICAgICAgICB0aGlzLmJsb2NrU2l6ZSA9IHRoaXMuaW5uZXIuYmxvY2tTaXplO1xuICAgICAgICB0aGlzLmRpZ2VzdExlbmd0aCA9IHRoaXMuaW5uZXIuZGlnZXN0TGVuZ3RoO1xuICAgICAgICB2YXIgcGFkID0gbmV3IFVpbnQ4QXJyYXkodGhpcy5ibG9ja1NpemUpO1xuICAgICAgICBpZiAoa2V5Lmxlbmd0aCA+IHRoaXMuYmxvY2tTaXplKSB7XG4gICAgICAgICAgICAobmV3IEhhc2goKSkudXBkYXRlKGtleSkuZmluaXNoKHBhZCkuY2xlYW4oKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgcGFkW2ldID0ga2V5W2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBwYWRbaV0gXj0gMHgzNjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlubmVyLnVwZGF0ZShwYWQpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhZC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgcGFkW2ldIF49IDB4MzYgXiAweDVjO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3V0ZXIudXBkYXRlKHBhZCk7XG4gICAgICAgIHRoaXMuaXN0YXRlID0gbmV3IFVpbnQzMkFycmF5KDgpO1xuICAgICAgICB0aGlzLm9zdGF0ZSA9IG5ldyBVaW50MzJBcnJheSg4KTtcbiAgICAgICAgdGhpcy5pbm5lci5fc2F2ZVN0YXRlKHRoaXMuaXN0YXRlKTtcbiAgICAgICAgdGhpcy5vdXRlci5fc2F2ZVN0YXRlKHRoaXMub3N0YXRlKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHBhZFtpXSA9IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gUmV0dXJucyBITUFDIHN0YXRlIHRvIHRoZSBzdGF0ZSBpbml0aWFsaXplZCB3aXRoIGtleVxuICAgIC8vIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gcnVuIEhNQUMgb3ZlciB0aGUgb3RoZXIgZGF0YSB3aXRoIHRoZSBzYW1lXG4gICAgLy8ga2V5IHdpdGhvdXQgY3JlYXRpbmcgYSBuZXcgaW5zdGFuY2UuXG4gICAgSE1BQy5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuaW5uZXIuX3Jlc3RvcmVTdGF0ZSh0aGlzLmlzdGF0ZSwgdGhpcy5pbm5lci5ibG9ja1NpemUpO1xuICAgICAgICB0aGlzLm91dGVyLl9yZXN0b3JlU3RhdGUodGhpcy5vc3RhdGUsIHRoaXMub3V0ZXIuYmxvY2tTaXplKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICAvLyBDbGVhbnMgSE1BQyBzdGF0ZS5cbiAgICBITUFDLnByb3RvdHlwZS5jbGVhbiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmlzdGF0ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5vc3RhdGVbaV0gPSB0aGlzLmlzdGF0ZVtpXSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbm5lci5jbGVhbigpO1xuICAgICAgICB0aGlzLm91dGVyLmNsZWFuKCk7XG4gICAgfTtcbiAgICAvLyBVcGRhdGVzIHN0YXRlIHdpdGggcHJvdmlkZWQgZGF0YS5cbiAgICBITUFDLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICB0aGlzLmlubmVyLnVwZGF0ZShkYXRhKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICAvLyBGaW5hbGl6ZXMgSE1BQyBhbmQgcHV0cyB0aGUgcmVzdWx0IGluIG91dC5cbiAgICBITUFDLnByb3RvdHlwZS5maW5pc2ggPSBmdW5jdGlvbiAob3V0KSB7XG4gICAgICAgIGlmICh0aGlzLm91dGVyLmZpbmlzaGVkKSB7XG4gICAgICAgICAgICB0aGlzLm91dGVyLmZpbmlzaChvdXQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbm5lci5maW5pc2gob3V0KTtcbiAgICAgICAgICAgIHRoaXMub3V0ZXIudXBkYXRlKG91dCwgdGhpcy5kaWdlc3RMZW5ndGgpLmZpbmlzaChvdXQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgLy8gUmV0dXJucyBtZXNzYWdlIGF1dGhlbnRpY2F0aW9uIGNvZGUuXG4gICAgSE1BQy5wcm90b3R5cGUuZGlnZXN0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgb3V0ID0gbmV3IFVpbnQ4QXJyYXkodGhpcy5kaWdlc3RMZW5ndGgpO1xuICAgICAgICB0aGlzLmZpbmlzaChvdXQpO1xuICAgICAgICByZXR1cm4gb3V0O1xuICAgIH07XG4gICAgcmV0dXJuIEhNQUM7XG59KCkpO1xuZXhwb3J0cy5ITUFDID0gSE1BQztcbi8vIFJldHVybnMgU0hBMjU2IGhhc2ggb2YgZGF0YS5cbmZ1bmN0aW9uIGhhc2goZGF0YSkge1xuICAgIHZhciBoID0gKG5ldyBIYXNoKCkpLnVwZGF0ZShkYXRhKTtcbiAgICB2YXIgZGlnZXN0ID0gaC5kaWdlc3QoKTtcbiAgICBoLmNsZWFuKCk7XG4gICAgcmV0dXJuIGRpZ2VzdDtcbn1cbmV4cG9ydHMuaGFzaCA9IGhhc2g7XG4vLyBGdW5jdGlvbiBoYXNoIGlzIGJvdGggYXZhaWxhYmxlIGFzIG1vZHVsZS5oYXNoIGFuZCBhcyBkZWZhdWx0IGV4cG9ydC5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gaGFzaDtcbi8vIFJldHVybnMgSE1BQy1TSEEyNTYgb2YgZGF0YSB1bmRlciB0aGUga2V5LlxuZnVuY3Rpb24gaG1hYyhrZXksIGRhdGEpIHtcbiAgICB2YXIgaCA9IChuZXcgSE1BQyhrZXkpKS51cGRhdGUoZGF0YSk7XG4gICAgdmFyIGRpZ2VzdCA9IGguZGlnZXN0KCk7XG4gICAgaC5jbGVhbigpO1xuICAgIHJldHVybiBkaWdlc3Q7XG59XG5leHBvcnRzLmhtYWMgPSBobWFjO1xuLy8gRmlsbHMgaGtkZiBidWZmZXIgbGlrZSB0aGlzOlxuLy8gVCgxKSA9IEhNQUMtSGFzaChQUkssIFQoMCkgfCBpbmZvIHwgMHgwMSlcbmZ1bmN0aW9uIGZpbGxCdWZmZXIoYnVmZmVyLCBobWFjLCBpbmZvLCBjb3VudGVyKSB7XG4gICAgLy8gQ291bnRlciBpcyBhIGJ5dGUgdmFsdWU6IGNoZWNrIGlmIGl0IG92ZXJmbG93ZWQuXG4gICAgdmFyIG51bSA9IGNvdW50ZXJbMF07XG4gICAgaWYgKG51bSA9PT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJoa2RmOiBjYW5ub3QgZXhwYW5kIG1vcmVcIik7XG4gICAgfVxuICAgIC8vIFByZXBhcmUgSE1BQyBpbnN0YW5jZSBmb3IgbmV3IGRhdGEgd2l0aCBvbGQga2V5LlxuICAgIGhtYWMucmVzZXQoKTtcbiAgICAvLyBIYXNoIGluIHByZXZpb3VzIG91dHB1dCBpZiBpdCB3YXMgZ2VuZXJhdGVkXG4gICAgLy8gKGkuZS4gY291bnRlciBpcyBncmVhdGVyIHRoYW4gMSkuXG4gICAgaWYgKG51bSA+IDEpIHtcbiAgICAgICAgaG1hYy51cGRhdGUoYnVmZmVyKTtcbiAgICB9XG4gICAgLy8gSGFzaCBpbiBpbmZvIGlmIGl0IGV4aXN0cy5cbiAgICBpZiAoaW5mbykge1xuICAgICAgICBobWFjLnVwZGF0ZShpbmZvKTtcbiAgICB9XG4gICAgLy8gSGFzaCBpbiB0aGUgY291bnRlci5cbiAgICBobWFjLnVwZGF0ZShjb3VudGVyKTtcbiAgICAvLyBPdXRwdXQgcmVzdWx0IHRvIGJ1ZmZlciBhbmQgY2xlYW4gSE1BQyBpbnN0YW5jZS5cbiAgICBobWFjLmZpbmlzaChidWZmZXIpO1xuICAgIC8vIEluY3JlbWVudCBjb3VudGVyIGluc2lkZSB0eXBlZCBhcnJheSwgdGhpcyB3b3JrcyBwcm9wZXJseS5cbiAgICBjb3VudGVyWzBdKys7XG59XG52YXIgaGtkZlNhbHQgPSBuZXcgVWludDhBcnJheShleHBvcnRzLmRpZ2VzdExlbmd0aCk7IC8vIEZpbGxlZCB3aXRoIHplcm9lcy5cbmZ1bmN0aW9uIGhrZGYoa2V5LCBzYWx0LCBpbmZvLCBsZW5ndGgpIHtcbiAgICBpZiAoc2FsdCA9PT0gdm9pZCAwKSB7IHNhbHQgPSBoa2RmU2FsdDsgfVxuICAgIGlmIChsZW5ndGggPT09IHZvaWQgMCkgeyBsZW5ndGggPSAzMjsgfVxuICAgIHZhciBjb3VudGVyID0gbmV3IFVpbnQ4QXJyYXkoWzFdKTtcbiAgICAvLyBIS0RGLUV4dHJhY3QgdXNlcyBzYWx0IGFzIEhNQUMga2V5LCBhbmQga2V5IGFzIGRhdGEuXG4gICAgdmFyIG9rbSA9IGhtYWMoc2FsdCwga2V5KTtcbiAgICAvLyBJbml0aWFsaXplIEhNQUMgZm9yIGV4cGFuZGluZyB3aXRoIGV4dHJhY3RlZCBrZXkuXG4gICAgLy8gRW5zdXJlIG5vIGNvbGxpc2lvbnMgd2l0aCBgaG1hY2AgZnVuY3Rpb24uXG4gICAgdmFyIGhtYWNfID0gbmV3IEhNQUMob2ttKTtcbiAgICAvLyBBbGxvY2F0ZSBidWZmZXIuXG4gICAgdmFyIGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KGhtYWNfLmRpZ2VzdExlbmd0aCk7XG4gICAgdmFyIGJ1ZnBvcyA9IGJ1ZmZlci5sZW5ndGg7XG4gICAgdmFyIG91dCA9IG5ldyBVaW50OEFycmF5KGxlbmd0aCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoYnVmcG9zID09PSBidWZmZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICBmaWxsQnVmZmVyKGJ1ZmZlciwgaG1hY18sIGluZm8sIGNvdW50ZXIpO1xuICAgICAgICAgICAgYnVmcG9zID0gMDtcbiAgICAgICAgfVxuICAgICAgICBvdXRbaV0gPSBidWZmZXJbYnVmcG9zKytdO1xuICAgIH1cbiAgICBobWFjXy5jbGVhbigpO1xuICAgIGJ1ZmZlci5maWxsKDApO1xuICAgIGNvdW50ZXIuZmlsbCgwKTtcbiAgICByZXR1cm4gb3V0O1xufVxuZXhwb3J0cy5oa2RmID0gaGtkZjtcbi8vIERlcml2ZXMgYSBrZXkgZnJvbSBwYXNzd29yZCBhbmQgc2FsdCB1c2luZyBQQktERjItSE1BQy1TSEEyNTZcbi8vIHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBpdGVyYXRpb25zLlxuLy9cbi8vIFRoZSBudW1iZXIgb2YgYnl0ZXMgcmV0dXJuZWQgaXMgZXF1YWwgdG8gZGtMZW4uXG4vL1xuLy8gKEZvciBiZXR0ZXIgc2VjdXJpdHksIGF2b2lkIGRrTGVuIGdyZWF0ZXIgdGhhbiBoYXNoIGxlbmd0aCAtIDMyIGJ5dGVzKS5cbmZ1bmN0aW9uIHBia2RmMihwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywgZGtMZW4pIHtcbiAgICB2YXIgcHJmID0gbmV3IEhNQUMocGFzc3dvcmQpO1xuICAgIHZhciBsZW4gPSBwcmYuZGlnZXN0TGVuZ3RoO1xuICAgIHZhciBjdHIgPSBuZXcgVWludDhBcnJheSg0KTtcbiAgICB2YXIgdCA9IG5ldyBVaW50OEFycmF5KGxlbik7XG4gICAgdmFyIHUgPSBuZXcgVWludDhBcnJheShsZW4pO1xuICAgIHZhciBkayA9IG5ldyBVaW50OEFycmF5KGRrTGVuKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSAqIGxlbiA8IGRrTGVuOyBpKyspIHtcbiAgICAgICAgdmFyIGMgPSBpICsgMTtcbiAgICAgICAgY3RyWzBdID0gKGMgPj4+IDI0KSAmIDB4ZmY7XG4gICAgICAgIGN0clsxXSA9IChjID4+PiAxNikgJiAweGZmO1xuICAgICAgICBjdHJbMl0gPSAoYyA+Pj4gOCkgJiAweGZmO1xuICAgICAgICBjdHJbM10gPSAoYyA+Pj4gMCkgJiAweGZmO1xuICAgICAgICBwcmYucmVzZXQoKTtcbiAgICAgICAgcHJmLnVwZGF0ZShzYWx0KTtcbiAgICAgICAgcHJmLnVwZGF0ZShjdHIpO1xuICAgICAgICBwcmYuZmluaXNoKHUpO1xuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxlbjsgaisrKSB7XG4gICAgICAgICAgICB0W2pdID0gdVtqXTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKHZhciBqID0gMjsgaiA8PSBpdGVyYXRpb25zOyBqKyspIHtcbiAgICAgICAgICAgIHByZi5yZXNldCgpO1xuICAgICAgICAgICAgcHJmLnVwZGF0ZSh1KS5maW5pc2godSk7XG4gICAgICAgICAgICBmb3IgKHZhciBrID0gMDsgayA8IGxlbjsgaysrKSB7XG4gICAgICAgICAgICAgICAgdFtrXSBePSB1W2tdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGVuICYmIGkgKiBsZW4gKyBqIDwgZGtMZW47IGorKykge1xuICAgICAgICAgICAgZGtbaSAqIGxlbiArIGpdID0gdFtqXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIHRbaV0gPSB1W2ldID0gMDtcbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgICAgY3RyW2ldID0gMDtcbiAgICB9XG4gICAgcHJmLmNsZWFuKCk7XG4gICAgcmV0dXJuIGRrO1xufVxuZXhwb3J0cy5wYmtkZjIgPSBwYmtkZjI7XG59KTtcbiIsIlwidXNlIHN0cmljdFwiO1xuLy8gUmVmZXJlbmNlOiBodHRwczovL3d3dy5nZWVrc2ZvcmdlZWtzLm9yZy9qYXJvLWFuZC1qYXJvLXdpbmtsZXItc2ltaWxhcml0eS9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuamFyb1dpbmtsZXIgPSBleHBvcnRzLmphcm8gPSB2b2lkIDA7XG4vKipcbiAqXG4gKiBAcGFyYW0gc3RyMSBTdHJpbmcgMSBmb3IgY29tcGFyZVxuICogQHBhcmFtIHN0cjIgU3RyaW5nIDIgZm9yIGNvbXBhcmVcbiAqIEBwYXJhbSBvcHRpb25zIHRvIGNvbnRyb2wgY2FzZSBzZW5zaXRpdmUgb3Igbm90XG4gKi9cbmZ1bmN0aW9uIGphcm8oc3RyMSwgc3RyMiwgb3B0aW9ucykge1xuICAgIC8vIEV4aXQgZWFybHkgaWYgZWl0aGVyIGFyZSBlbXB0eS5cbiAgICBpZiAoc3RyMS5sZW5ndGggPT09IDAgfHwgc3RyMi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIC8vIENvbnZlcnQgdG8gdXBwZXIgaWYgY2FzZS1zZW5zaXRpdmUgaXMgZmFsc2UuXG4gICAgaWYgKG9wdGlvbnMgJiYgIW9wdGlvbnMuY2FzZVNlbnNpdGl2ZSkge1xuICAgICAgICBzdHIxID0gc3RyMS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICBzdHIyID0gc3RyMi50b1VwcGVyQ2FzZSgpO1xuICAgIH1cbiAgICAvLyBFeGFjdCBtYXRjaFxuICAgIGlmIChzdHIxID09PSBzdHIyKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICAvLyBOdW1iZXIgb2YgbWF0Y2hlc1xuICAgIHZhciBtID0gMDtcbiAgICAvLyBMZW5ndGggb2YgdHdvIFN0cmluZ3NcbiAgICB2YXIgbGVuMSA9IHN0cjEubGVuZ3RoO1xuICAgIHZhciBsZW4yID0gc3RyMi5sZW5ndGg7XG4gICAgLy8gTWF4aW11bSBkaXN0YW5jZVxuICAgIHZhciB3aW5kb3cgPSBNYXRoLmZsb29yKE1hdGgubWF4KGxlbjEsIGxlbjIpIC8gMikgLSAxO1xuICAgIC8vIEhhc2ggZm9yIG1hdGNoZXNcbiAgICB2YXIgc3RyMUhhc2ggPSBuZXcgQXJyYXkobGVuMSk7XG4gICAgdmFyIHN0cjJIYXNoID0gbmV3IEFycmF5KGxlbjIpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuMTsgaSsrKSB7XG4gICAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBpIC0gd2luZG93KTsgaiA8PSBNYXRoLm1pbihsZW4yLCBpICsgd2luZG93ICsgMSk7IGorKykge1xuICAgICAgICAgICAgaWYgKCFzdHIxSGFzaFtpXSAmJiAhc3RyMkhhc2hbal0gJiYgc3RyMVtpXSA9PT0gc3RyMltqXSkge1xuICAgICAgICAgICAgICAgICsrbTtcbiAgICAgICAgICAgICAgICBzdHIxSGFzaFtpXSA9IHN0cjJIYXNoW2pdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBFeGl0IGVhcmx5IGlmIG5vIG1hdGNoZXMgd2VyZSBmb3VuZC5cbiAgICBpZiAobSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgLy8gQ291bnQgdGhlIHRyYW5zcG9zaXRpb25zLlxuICAgIHZhciB0ID0gMDtcbiAgICB2YXIgcG9pbnQgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuMTsgaSsrKSB7XG4gICAgICAgIGlmIChzdHIxSGFzaFtpXSkge1xuICAgICAgICAgICAgd2hpbGUgKCFzdHIySGFzaFtwb2ludF0pIHtcbiAgICAgICAgICAgICAgICBwb2ludCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0cjEuY2hhckF0KGkpICE9PSBzdHIyLmNoYXJBdChwb2ludCsrKSkge1xuICAgICAgICAgICAgICAgIHQrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB0IC89IDI7XG4gICAgcmV0dXJuIChtIC8gbGVuMSArIG0gLyBsZW4yICsgKG0gLSB0KSAvIG0pIC8gMztcbn1cbmV4cG9ydHMuamFybyA9IGphcm87XG4vKipcbiAqXG4gKiBAcGFyYW0gc3RyMSBTdHJpbmcgMSBmb3IgY29tcGFyZVxuICogQHBhcmFtIHN0cjIgU3RyaW5nIDIgZm9yIGNvbXBhcmVcbiAqIEBwYXJhbSBvcHRpb25zIHRvIGNvbnRyb2wgY2FzZSBzZW5zaXRpdmUgb3Igbm90XG4gKi9cbmZ1bmN0aW9uIGphcm9XaW5rbGVyKHN0cjEsIHN0cjIsIG9wdGlvbnMpIHtcbiAgICAvLyBKYXJvIERpc3RhbmNlXG4gICAgdmFyIGphcm9EaXN0ID0gamFybyhzdHIxLCBzdHIyLCBvcHRpb25zKTtcbiAgICAvLyBTYW1lIHByZWZpeCBsZW5ndGgsIG1heGl1bSBpcyA0XG4gICAgdmFyIHByZWZpeCA9IDA7XG4gICAgaWYgKGphcm9EaXN0ID4gMC43KSB7XG4gICAgICAgIHZhciBtaW5JbmRleCA9IE1hdGgubWluKHN0cjEubGVuZ3RoLCBzdHIyLmxlbmd0aCk7XG4gICAgICAgIHZhciBpID0gMDtcbiAgICAgICAgd2hpbGUgKHN0cjFbaV0gPT09IHN0cjJbaV0gJiYgaSA8IDQgJiYgaSA8IG1pbkluZGV4KSB7XG4gICAgICAgICAgICArK3ByZWZpeDtcbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgfVxuICAgICAgICBqYXJvRGlzdCArPSAwLjEgKiBwcmVmaXggKiAoMSAtIGphcm9EaXN0KTtcbiAgICB9XG4gICAgcmV0dXJuIGphcm9EaXN0O1xufVxuZXhwb3J0cy5qYXJvV2lua2xlciA9IGphcm9XaW5rbGVyO1xuIiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHRpZDogbW9kdWxlSWQsXG5cdFx0bG9hZGVkOiBmYWxzZSxcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG5cdG1vZHVsZS5sb2FkZWQgPSB0cnVlO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbl9fd2VicGFja19yZXF1aXJlX18ubSA9IF9fd2VicGFja19tb2R1bGVzX187XG5cbiIsIl9fd2VicGFja19yZXF1aXJlX18uYW1kTyA9IHt9OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIi8vIFRoaXMgZnVuY3Rpb24gYWxsb3cgdG8gcmVmZXJlbmNlIGFzeW5jIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy51ID0gKGNodW5rSWQpID0+IHtcblx0Ly8gcmV0dXJuIHVybCBmb3IgZmlsZW5hbWVzIGJhc2VkIG9uIHRlbXBsYXRlXG5cdHJldHVybiBcIlwiICsgY2h1bmtJZCArIFwiLmpzXCI7XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18uZyA9IChmdW5jdGlvbigpIHtcblx0aWYgKHR5cGVvZiBnbG9iYWxUaGlzID09PSAnb2JqZWN0JykgcmV0dXJuIGdsb2JhbFRoaXM7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIHRoaXMgfHwgbmV3IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ29iamVjdCcpIHJldHVybiB3aW5kb3c7XG5cdH1cbn0pKCk7IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5obWQgPSAobW9kdWxlKSA9PiB7XG5cdG1vZHVsZSA9IE9iamVjdC5jcmVhdGUobW9kdWxlKTtcblx0aWYgKCFtb2R1bGUuY2hpbGRyZW4pIG1vZHVsZS5jaGlsZHJlbiA9IFtdO1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCAnZXhwb3J0cycsIHtcblx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdHNldDogKCkgPT4ge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdFUyBNb2R1bGVzIG1heSBub3QgYXNzaWduIG1vZHVsZS5leHBvcnRzIG9yIGV4cG9ydHMuKiwgVXNlIEVTTSBleHBvcnQgc3ludGF4LCBpbnN0ZWFkOiAnICsgbW9kdWxlLmlkKTtcblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gbW9kdWxlO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwidmFyIHNjcmlwdFVybDtcbmlmIChfX3dlYnBhY2tfcmVxdWlyZV9fLmcuaW1wb3J0U2NyaXB0cykgc2NyaXB0VXJsID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmxvY2F0aW9uICsgXCJcIjtcbnZhciBkb2N1bWVudCA9IF9fd2VicGFja19yZXF1aXJlX18uZy5kb2N1bWVudDtcbmlmICghc2NyaXB0VXJsICYmIGRvY3VtZW50KSB7XG5cdGlmIChkb2N1bWVudC5jdXJyZW50U2NyaXB0KVxuXHRcdHNjcmlwdFVybCA9IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjO1xuXHRpZiAoIXNjcmlwdFVybCkge1xuXHRcdHZhciBzY3JpcHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJzY3JpcHRcIik7XG5cdFx0aWYoc2NyaXB0cy5sZW5ndGgpIHtcblx0XHRcdHZhciBpID0gc2NyaXB0cy5sZW5ndGggLSAxO1xuXHRcdFx0d2hpbGUgKGkgPiAtMSAmJiAhc2NyaXB0VXJsKSBzY3JpcHRVcmwgPSBzY3JpcHRzW2ktLV0uc3JjO1xuXHRcdH1cblx0fVxufVxuLy8gV2hlbiBzdXBwb3J0aW5nIGJyb3dzZXJzIHdoZXJlIGFuIGF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgeW91IG11c3Qgc3BlY2lmeSBhbiBvdXRwdXQucHVibGljUGF0aCBtYW51YWxseSB2aWEgY29uZmlndXJhdGlvblxuLy8gb3IgcGFzcyBhbiBlbXB0eSBzdHJpbmcgKFwiXCIpIGFuZCBzZXQgdGhlIF9fd2VicGFja19wdWJsaWNfcGF0aF9fIHZhcmlhYmxlIGZyb20geW91ciBjb2RlIHRvIHVzZSB5b3VyIG93biBsb2dpYy5cbmlmICghc2NyaXB0VXJsKSB0aHJvdyBuZXcgRXJyb3IoXCJBdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3NlclwiKTtcbnNjcmlwdFVybCA9IHNjcmlwdFVybC5yZXBsYWNlKC8jLiokLywgXCJcIikucmVwbGFjZSgvXFw/LiokLywgXCJcIikucmVwbGFjZSgvXFwvW15cXC9dKyQvLCBcIi9cIik7XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBzY3JpcHRVcmw7IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5iID0gZG9jdW1lbnQuYmFzZVVSSSB8fCBzZWxmLmxvY2F0aW9uLmhyZWY7XG5cbi8vIG9iamVjdCB0byBzdG9yZSBsb2FkZWQgYW5kIGxvYWRpbmcgY2h1bmtzXG4vLyB1bmRlZmluZWQgPSBjaHVuayBub3QgbG9hZGVkLCBudWxsID0gY2h1bmsgcHJlbG9hZGVkL3ByZWZldGNoZWRcbi8vIFtyZXNvbHZlLCByZWplY3QsIFByb21pc2VdID0gY2h1bmsgbG9hZGluZywgMCA9IGNodW5rIGxvYWRlZFxudmFyIGluc3RhbGxlZENodW5rcyA9IHtcblx0NDM6IDBcbn07XG5cbi8vIG5vIGNodW5rIG9uIGRlbWFuZCBsb2FkaW5nXG5cbi8vIG5vIHByZWZldGNoaW5nXG5cbi8vIG5vIHByZWxvYWRlZFxuXG4vLyBubyBITVJcblxuLy8gbm8gSE1SIG1hbmlmZXN0XG5cbi8vIG5vIG9uIGNodW5rcyBsb2FkZWRcblxuLy8gbm8ganNvbnAgZnVuY3Rpb24iLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gREc7IiwiY29uc3QgX19XRUJQQUNLX05BTUVTUEFDRV9PQkpFQ1RfXyA9IGdyb2s7IiwiLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbmltcG9ydCAqIGFzIHNoYTI1NiBmcm9tICdmYXN0LXNoYTI1Nic7XG4vKipcbiAqIEZvciBjb2x1bW5zIG9mIHN0cmluZyB0eXBlLiBDaGVja3Mgd2hldGhlciBjb2x1bW4gY29udGFpbnMgZW1wdHkgdmFsdWVzIGFuZCByZW1vdmVzIGNvcnJlc3BvbmRpbmcgcm93cyBpbiBjYXNlIHVzZXIgc2VsZWN0cyB0byByZW1vdmUuXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRW1wdHlTdHJpbmdSb3dzKHRhYmxlLCBjb2wpIHtcbiAgICBjb25zdCBjYXRzID0gY29sLmNhdGVnb3JpZXM7XG4gICAgY29uc3QgZW1wdHlSYXdJbmQgPSBjYXRzLm1hcCgodmFsLCBpbmQpID0+ICF2YWwgPyBpbmQgOiBudWxsKS5maWx0ZXIoKGl0KSA9PiBpdCAhPT0gbnVsbCk7XG4gICAgY29uc3QgcmF3RGF0YSA9IFsuLi5jb2wuZ2V0UmF3RGF0YSgpXTtcbiAgICBjb25zdCBlbXB0eVJhd3NJbmRleGVzID0gW107XG4gICAgbGV0IHJlbW92ZWRSb3dzQ291bnRlciA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJsZS5yb3dDb3VudDsgaSsrKSB7XG4gICAgICAgIGlmIChlbXB0eVJhd0luZC5pbmNsdWRlcyhyYXdEYXRhW2ldKSkge1xuICAgICAgICAgICAgdGFibGUucm93cy5yZW1vdmVBdChpIC0gcmVtb3ZlZFJvd3NDb3VudGVyKTtcbiAgICAgICAgICAgIGVtcHR5UmF3c0luZGV4ZXMucHVzaChpKTtcbiAgICAgICAgICAgIHJlbW92ZWRSb3dzQ291bnRlciArPSAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBlbXB0eVJhd3NJbmRleGVzO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGhhc2hEYXRhRnJhbWUodGFibGUsIG5hbWVzKSB7XG4gICAgbmFtZXMgIT09IG51bGwgJiYgbmFtZXMgIT09IHZvaWQgMCA/IG5hbWVzIDogKG5hbWVzID0gdGFibGUuY29sdW1ucy5uYW1lcygpKTtcbiAgICBjb25zdCBoYXNoZXIgPSBuZXcgc2hhMjU2Lkhhc2goKTtcbiAgICBjb25zdCBvcmRlciA9IHRhYmxlLmdldFNvcnRlZE9yZGVyKG5hbWVzKTtcbiAgICBjb25zdCBlbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7XG4gICAgZm9yIChjb25zdCBuYW1lIG9mIG5hbWVzKSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IHRhYmxlLmNvbHVtbnMuYnlOYW1lKG5hbWUpO1xuICAgICAgICBjb25zdCBkYXRhQXJyYXkgPSBjb2x1bW4uZ2V0UmF3RGF0YSgpO1xuICAgICAgICBjb25zdCBpc1N0cmluZyA9IGNvbHVtbi50eXBlID09IERHLlRZUEUuU1RSSU5HO1xuICAgICAgICBjb25zdCBjYXRzID0gY29sdW1uLmNhdGVnb3JpZXM7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YUFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoaXNTdHJpbmcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gY2F0c1tkYXRhQXJyYXlbb3JkZXJbaV1dXTtcbiAgICAgICAgICAgICAgICBoYXNoZXIudXBkYXRlKGVuY29kZXIuZW5jb2RlKGRhdGEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBkYXRhQXJyYXlbb3JkZXJbaV1dO1xuICAgICAgICAgICAgICAgIGhhc2hlci51cGRhdGUoVWludDhBcnJheS5mcm9tKFtkYXRhXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBoYXNoZXIuZGlnZXN0KCk7XG59XG5leHBvcnQgY29uc3QgdGVzdERhdGEgPSBERy5EYXRhRnJhbWUuZnJvbUNzdihgY291bnRyaWVzLGZhc3RhLHNtaWxlcyxtb2xyZWdubyxMT04sWmlwIENvZGUsU3RyZWV0IEFkZHJlc3MgTGluZSAxLEltYWdlVXJsLHVzZXJfaWQsZXJyb3JfbWVzc2FnZSx4cmF5LGZsYWcsbWFnbml0dWRlLENTLWlkLHBkYl9pZCxhY2NlbF9hLHRpbWVfb2Zmc2V0LGNoYXJ0LGZpdCxRdWVzdGlvbnMsZW1wdHlfbnVtYmVyLGVtcHR5X3N0cmluZ1xuQmVsZ2l1bSxNU05GSE5FSFZNUUZZUk5OTEtUS0dWRkdSUSxDQyhDKD1PKU9DQ0NjMWNjY25jMSljMmNjY2MoYzIpQyg9TyljM2NjY2NjMywxNDgwMDE0LDM2LjI3NjcyOTU4Mzc0MDIzNCw5OTUwNDIzMDAsMTQwMTYgUk9VVEUgMzFXLGh0dHBzOi8vZGF0YWdyb2suYWkvaW1nL3NsaWRlcy9hY2Nlc3MtZGItY29ubmVjdC5wbmcsaWQsRXJyb3JNZXNzYWdlLFwiQ09NUE5EIFxuQVRPTSBcbkVORFwiLGZsYWcsMSwxLDFRQlMsMSwxLjIzLDxjaGFydD48L2NoYXJ0PixcIntcIlwic2VyaWVzXCJcIjpbe1wiXCJuYW1lXCJcIjpcIlwiUnVuOjIwMjMtMDgtMDhcIlwiLFwiXCJmaXRGdW5jdGlvblwiXCI6XCJcInNpZ21vaWRcIlwiLFwiXCJmaXRMaW5lQ29sb3JcIlwiOlwiXCIjMWY3N2I0XCJcIixcIlwicG9pbnRDb2xvclwiXCI6XCJcIiMxZjc3YjRcIlwiLFwiXCJzaG93UG9pbnRzXCJcIjpcIlwicG9pbnRzXCJcIixcIlwicGFyYW1ldGVyc1wiXCI6WzIuNDk3MzYwMzQwNjQ0ODcyLCAxLjcwNTg2OTQ5ODY2ODY4NjQsIDUuMjc4MDUyNjc4MTk1MTM1LCAwLjE2MDAwMzIwODg5MDI4MzgzXSxcIlwicG9pbnRzXCJcIjpbe1wiXCJ4XCJcIjowLjEwMDAwMDAwMTQ5MDExNjEyLFwiXCJ5XCJcIjoyLjM3NDQ5OTc5NzgyMTA0NX0se1wiXCJ4XCJcIjowLjYwMDAwMDAyMzg0MTg1NzksXCJcInlcIlwiOjIuNjI0MjQ3MzEyNTQ1Nzc2NH0se1wiXCJ4XCJcIjoxLjEwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6Mi4zNjcyNjc2MDg2NDI1Nzh9LHtcIlwieFwiXCI6MS42MDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjIuNjcyMzE0ODgyMjc4NDQyNH0se1wiXCJ4XCJcIjoyLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjIuNjUzNzM0NDQ1NTcxODk5NH0se1wiXCJ4XCJcIjoyLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjIuMzY1MTY3MTQwOTYwNjkzNH0se1wiXCJ4XCJcIjozLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjIuNTY1NDI4NDk1NDA3MTA0NX0se1wiXCJ4XCJcIjozLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjIuNDE2MDk1OTcyMDYxMTU3Mn0se1wiXCJ4XCJcIjo0LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6Mi4yODY3MjY3MTMxODA1NDJ9LHtcIlwieFwiXCI6NC41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjIuNTEwMDA0MjgxOTk3NjgwN30se1wiXCJ4XCJcIjo1LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MS42Njc2OTg1MDI1NDA1ODg0fSx7XCJcInhcIlwiOjUuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjY4MDEzNjUwMTc4OTA5M30se1wiXCJ4XCJcIjo2LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4zMzkxNTQzOTI0ODA4NTAyfSx7XCJcInhcIlwiOjYuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjA5MDM4OTgzMjg1NDI3MDk0fSx7XCJcInhcIlwiOjcuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjE5ODAyNzc1OTc5MDQyMDUzfV19LHtcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiI2ZmYmI3OFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjZmZiYjc4XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOls3LjUyNTIzNTg1NTUwODE3OSwgMS4zMTg2OTExODc2ODA5OTg0LCA1LjMzNTY3MjYwODU2NDI5NCwgMC43ODYwNzQzMzQzOTU4MDk4XSxcIlwicG9pbnRzXCJcIjpbe1wiXCJ4XCJcIjowLjEwMDAwMDAwMTQ5MDExNjEyLFwiXCJ5XCJcIjo3Ljk4ODA3MDQ4Nzk3NjA3NH0se1wiXCJ4XCJcIjowLjYwMDAwMDAyMzg0MTg1NzksXCJcInlcIlwiOjcuMDE4NDUzMTIxMTg1MzAzfSx7XCJcInhcIlwiOjEuMTAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjo4LjExNTI3OTE5NzY5Mjg3MX0se1wiXCJ4XCJcIjoxLjYwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6Ny40ODY2NTgwOTYzMTM0Nzd9LHtcIlwieFwiXCI6Mi4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjo3LjM5NjQzODEyMTc5NTY1NH0se1wiXCJ4XCJcIjoyLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjcuNDc3MDUyMjExNzYxNDc1fSx7XCJcInhcIlwiOjMuMDk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6Ni45MTMwOTU0NzQyNDMxNjR9LHtcIlwieFwiXCI6My41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjo4LjAxMzg1NDk4MDQ2ODc1fSx7XCJcInhcIlwiOjQuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjo2Ljk4NTkwMDQwMjA2OTA5Mn0se1wiXCJ4XCJcIjo0LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6Ni45NzAzMzU5NjAzODgxODR9LHtcIlwieFwiXCI6NS4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjUuNDQ4ODE3MjUzMTEyNzkzfSx7XCJcInhcIlwiOjUuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoyLjU1MzQ4MTgxNzI0NTQ4MzR9LHtcIlwieFwiXCI6Ni4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjEuODkzOTQ3OTU4OTQ2MjI4fSx7XCJcInhcIlwiOjYuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjYzNDAwNDIzNTI2NzYzOTJ9LHtcIlwieFwiXCI6Ny4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuODQwMzg3NDAzOTY0OTk2M31dfV0sXCJcImNoYXJ0T3B0aW9uc1wiXCI6e1wiXCJ4QXhpc05hbWVcIlwiOlwiXCJDb25jLlwiXCIsXCJcInlBeGlzTmFtZVwiXCI6XCJcIkFjdGl2aXR5XCJcIixcIlwidGl0bGVcIlwiOlwiXCJEb3NlLVJlc3BvbnNlIGN1cnZlc1wiXCJ9fVwiLHRleHQsMTAwLGFiY1xuQnVydW5kaSxNRFlLRVRMTE1QS1RERlBNUkdHTFBOS0VQUUlRRUtXLENPYzFjY2MyY2MoY2NjMmMxKUMoQylDKD1PKU9jM2NjYyhDKWNjM09DLDE0ODAwMTUsMzYuMjc2NzI5NTgzNzQwMjM0LDk5NTA3MzQ0NCw4MCBTVEFURSBISUdIV0FZIDMxMCxodHRwczovL2RhdGFncm9rLmFpL2ltZy9zbGlkZXMvYWNjZXNzLWRiLWNvbm5lY3QucG5nLGlkLEVycm9yTWVzc2FnZSxcIkNPTVBORCBcbkFUT00gXG5FTkRcIixmbGFnLDIsMiwxWlA4LDIsMS4yMyw8Y2hhcnQ+PC9jaGFydD4sXCJ7XCJcInNlcmllc1wiXCI6W3tcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0RnVuY3Rpb25cIlwiOlwiXCJzaWdtb2lkXCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiIzFmNzdiNFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjMWY3N2I0XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOls0LjQzMTQ2MDc1MzEwMzM5OCwgMi4xNjkxNDk4Nzk5MjQ2NzQ1LCA1LjI2NjQ0NTU5NzEwMjc3NCwgMC43ODI1NzYyODI3MDE3OTI2XSxcIlwicG9pbnRzXCJcIjpbe1wiXCJ4XCJcIjowLjEwMDAwMDAwMTQ5MDExNjEyLFwiXCJ5XCJcIjo0Ljc1MTA4Mzg1MDg2MDU5Nn0se1wiXCJ4XCJcIjowLjYwMDAwMDAyMzg0MTg1NzksXCJcInlcIlwiOjQuMjAzMDAwMDY4NjY0NTUxfSx7XCJcInhcIlwiOjEuMTAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjo0LjQxNTg1ODc0NTU3NDk1MX0se1wiXCJ4XCJcIjoxLjYwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6NC42ODQxNDMwNjY0MDYyNX0se1wiXCJ4XCJcIjoyLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjQuMTk4NDAwOTc0MjczNjgyfSx7XCJcInhcIlwiOjIuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6NC4xNzkyMjIxMDY5MzM1OTR9LHtcIlwieFwiXCI6My4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjo0LjYzODQ3Mzk4NzU3OTM0Nn0se1wiXCJ4XCJcIjozLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjQuNzA4NTUzMzE0MjA4OTg0fSx7XCJcInhcIlwiOjQuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjo0LjI5MTU4OTI2MDEwMTMxOH0se1wiXCJ4XCJcIjo0LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6NC4wMzgwODI1OTk2Mzk4OTN9LHtcIlwieFwiXCI6NS4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjMuNDM0OTkzOTgyMzE1MDYzNX0se1wiXCJ4XCJcIjo1LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MS4yMTk0NzA4NTg1NzM5MTM2fSx7XCJcInhcIlwiOjYuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoxLjE5MjA4MzEyMDM0NjA2OTN9LHtcIlwieFwiXCI6Ni41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuNTM1MjYzNTk3OTY1MjQwNX0se1wiXCJ4XCJcIjo3LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4zMzQ2OTIwMzExNDUwOTU4fV19LHtcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiI2ZmYmI3OFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjZmZiYjc4XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOlsyLjMzOTQ1ODAxNzk3MDEyNiwgLTEuMDczNDE4NDMxMDE3MTE3OCwgNC43NDYzMzI5NTA1NTA5MzQsIDAuMjQ4MjQxNjg1NzU5NTY1OF0sXCJcInBvaW50c1wiXCI6W3tcIlwieFwiXCI6MC4xMDAwMDAwMDE0OTAxMTYxMixcIlwieVwiXCI6MC4yMTM5MzM3NjU4ODgyMTQxfSx7XCJcInhcIlwiOjAuNjAwMDAwMDIzODQxODU3OSxcIlwieVwiXCI6MC40MjY5NTYyMDY1NjAxMzQ5fSx7XCJcInhcIlwiOjEuMTAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjowLjI0NDE1NzMyOTIwMTY5ODN9LHtcIlwieFwiXCI6MS42MDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjAuMTQ2NjM1OTY0NTEyODI1fSx7XCJcInhcIlwiOjIuMDk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6MC4wODgxODQ2MjQ5MTAzNTQ2MX0se1wiXCJ4XCJcIjoyLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjAuMjU2MDY1NjY2Njc1NTY3Nn0se1wiXCJ4XCJcIjozLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjAuNDI0MzQwNDU2NzI0MTY2ODd9LHtcIlwieFwiXCI6My41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjowLjM3MTExMjMxNjg0Njg0NzUzfSx7XCJcInhcIlwiOjQuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjU1ODE3MzcxNjA2ODI2Nzh9LHtcIlwieFwiXCI6NC41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjEuMTgzNTkwMDU0NTEyMDI0fSx7XCJcInhcIlwiOjUuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoxLjU2Mjk4NDM0NzM0MzQ0NDh9LHtcIlwieFwiXCI6NS41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjIuMzIxMTI4ODQ1MjE0ODQzOH0se1wiXCJ4XCJcIjo2LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6Mi4yMjk5NjE2MzM2ODIyNTF9LHtcIlwieFwiXCI6Ni41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjIuMjU2MDIyNjkxNzI2Njg0Nn0se1wiXCJ4XCJcIjo3LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6Mi4yMTQyMzk4MzU3MzkxMzU3fV19XSxcIlwiY2hhcnRPcHRpb25zXCJcIjp7XCJcInhBeGlzTmFtZVwiXCI6XCJcIkNvbmMuXCJcIixcIlwieUF4aXNOYW1lXCJcIjpcIlwiQWN0aXZpdHlcIlwiLFwiXCJ0aXRsZVwiXCI6XCJcIkRvc2UtUmVzcG9uc2UgY3VydmVzXCJcIn19XCIsdGV4dCwsXG5DYW1lcm9vbixNSUVWRkxGR0lWTEdMSVBJVExBR0xGVlRBWUxRWVJSR0RRTERMLENPYzFjY2MyY2MoY2NjMmMxKUMoQylDKD1PKU9DQ0NjM2NjY25jMywxNDgwMDE2LDM2LjI2MDk1OTYyNTI0NDE0LDk5NTE1MzU5NiwzMC01NiBXSElURVNUT05FIEVYUFksaHR0cHM6Ly9kYXRhZ3Jvay5haS9pbWcvc2xpZGVzL2FjY2Vzcy1kYi1jb25uZWN0LnBuZyxpZCxFcnJvck1lc3NhZ2UsXCJDT01QTkQgXG5BVE9NIFxuRU5EXCIsZmxhZywzLDMsMkJESiwzLDEuMjMsPGNoYXJ0PjwvY2hhcnQ+LFwie1wiXCJzZXJpZXNcIlwiOlt7XCJcIm5hbWVcIlwiOlwiXCJSdW46MjAyMy0wOC0wOFwiXCIsXCJcImZpdEZ1bmN0aW9uXCJcIjpcIlwic2lnbW9pZFwiXCIsXCJcImZpdExpbmVDb2xvclwiXCI6XCJcIiMxZjc3YjRcIlwiLFwiXCJwb2ludENvbG9yXCJcIjpcIlwiIzFmNzdiNFwiXCIsXCJcInNob3dQb2ludHNcIlwiOlwiXCJwb2ludHNcIlwiLFwiXCJwYXJhbWV0ZXJzXCJcIjpbNC42NzYwNjUyNTc4NjQyMzI1LCAwLjkwNDY5NTYzMjA3NTY3MDMsIDUuNjUxNDA4OTcxODU2NzM4LCAwLjA3NzM4ODQ2MDEyMTg0MTg1XSxcIlwicG9pbnRzXCJcIjpbe1wiXCJ4XCJcIjowLjEwMDAwMDAwMTQ5MDExNjEyLFwiXCJ5XCJcIjo0LjMyNDI1NTk0MzI5ODM0fSx7XCJcInhcIlwiOjAuNjAwMDAwMDIzODQxODU3OSxcIlwieVwiXCI6NC42Njg0NDIyNDkyOTgwOTZ9LHtcIlwieFwiXCI6MS4xMDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjQuMzc5Nzg1MDYwODgyNTY4fSx7XCJcInhcIlwiOjEuNjAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjo1LjAzNDUxMzk1MDM0Nzl9LHtcIlwieFwiXCI6Mi4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjo0Ljg3ODY1MzUyNjMwNjE1Mn0se1wiXCJ4XCJcIjoyLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjQuMzQ1MTMxMzk3MjQ3MzE0NX0se1wiXCJ4XCJcIjozLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjQuMzM2OTkyMjYzNzkzOTQ1fSx7XCJcInhcIlwiOjMuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6NS4wMzc0MzAyODY0MDc0NzF9LHtcIlwieFwiXCI6NC4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjUuMDA5MjY5MjM3NTE4MzEwNX0se1wiXCJ4XCJcIjo0LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6NC4xNTE5MDI2NzU2Mjg2NjJ9LHtcIlwieFwiXCI6NS4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjMuNDA2Njk1MTI3NDg3MTgyNn0se1wiXCJ4XCJcIjo1LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6Mi4zNzMyNzU5OTUyNTQ1MTY2fSx7XCJcInhcIlwiOjYuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoxLjY3MzcyODEwODQwNjA2N30se1wiXCJ4XCJcIjo2LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC40ODU3NDc5MDM1ODU0MzM5Nn0se1wiXCJ4XCJcIjo3LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4yNzgzMDUyMzI1MjQ4NzE4fV19LHtcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiI2ZmYmI3OFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjZmZiYjc4XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOlsyLjkzODM5NTg2MzAxMDExMSwgLTEuNDY1ODQ4MDY2MTM5MjExNywgNS40NjI3MDI3NTE5OTY1ODQsIDAuMzQ3MzEzOTAyMzYxNTAzOV0sXCJcInBvaW50c1wiXCI6W3tcIlwieFwiXCI6MC4xMDAwMDAwMDE0OTAxMTYxMixcIlwieVwiXCI6MC40OTQxNzEwODI5NzM0ODAyfSx7XCJcInhcIlwiOjAuNjAwMDAwMDIzODQxODU3OSxcIlwieVwiXCI6MC4xNTMyMzk3NDE5MjE0MjQ4N30se1wiXCJ4XCJcIjoxLjEwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6MC40NjM3MzQzMjg3NDY3OTU2NX0se1wiXCJ4XCJcIjoxLjYwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6MC4zMzcwNDMxMzYzNTgyNjExfSx7XCJcInhcIlwiOjIuMDk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6MC41MTc5MDMwMjk5MTg2NzA3fSx7XCJcInhcIlwiOjIuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6MC4yNzg5OTc2NTk2ODMyMjc1NH0se1wiXCJ4XCJcIjozLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjAuMjIwNzUwNjQ0ODAzMDQ3MTh9LHtcIlwieFwiXCI6My41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjowLjU3ODk5MTg4OTk1MzYxMzN9LHtcIlwieFwiXCI6NC4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuMjExNjk5MTEzMjQ5Nzc4NzV9LHtcIlwieFwiXCI6NC41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuMjc4NTc2NDYzNDYwOTIyMjR9LHtcIlwieFwiXCI6NS4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjEuMDkwNjMzMjczMTI0Njk0OH0se1wiXCJ4XCJcIjo1LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MS44NTIwMzAwMzg4MzM2MTgyfSx7XCJcInhcIlwiOjYuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoyLjcxNzcwNTk2NTA0MjExNDN9LHtcIlwieFwiXCI6Ni41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjIuODY4MDkxODIxNjcwNTMyMn0se1wiXCJ4XCJcIjo3LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6My4yNDEzMDc3MzU0NDMxMTUyfV19XSxcIlwiY2hhcnRPcHRpb25zXCJcIjp7XCJcInhBeGlzTmFtZVwiXCI6XCJcIkNvbmMuXCJcIixcIlwieUF4aXNOYW1lXCJcIjpcIlwiQWN0aXZpdHlcIlwiLFwiXCJ0aXRsZVwiXCI6XCJcIkRvc2UtUmVzcG9uc2UgY3VydmVzXCJcIn19XCIsdGV4dCwsXG5DYW5hZGEsTU1FTFZMS1RJSUdQSVZWR1ZWTFJJVkRLV0xOS0RLLENDKEMoPU8pTkNDUyljMWNjY2MoYzEpQyg9TyljMmNjY2NjMiwxNDgwMDE3LDM2LjI2MDk1OTYyNTI0NDE0LDk5NTE1LDMwLTU2IFdISVRFU1RPTkUgRVhQWSxodHRwczovL2RhdGFncm9rLmFpL2ltZy9zbGlkZXMvYWNjZXNzLWRiLWNvbm5lY3QucG5nLGlkLEVycm9yTWVzc2FnZSxcIkNPTVBORCBcbkFUT00gXG5FTkRcIixmbGFnLDQsNCwxSUFOLDQsMS4yMyw8Y2hhcnQ+PC9jaGFydD4sXCJ7XCJcInNlcmllc1wiXCI6W3tcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0RnVuY3Rpb25cIlwiOlwiXCJzaWdtb2lkXCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiIzFmNzdiNFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjMWY3N2I0XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOlswLjg1OTczOTA5NzU0MzAwMDgsIDEuMDk1NzYyNTczMjQ4MTk0NiwgNS4yNjA1MzcwNjc5ODc5NTgsIDAuMDc5NzQxODc5OTgxNzc3MzZdLFwiXCJwb2ludHNcIlwiOlt7XCJcInhcIlwiOjAuMTAwMDAwMDAxNDkwMTE2MTIsXCJcInlcIlwiOjAuODE5MDE1MjY0NTExMTA4NH0se1wiXCJ4XCJcIjowLjYwMDAwMDAyMzg0MTg1NzksXCJcInlcIlwiOjAuODQyMTY4OTg2Nzk3MzMyOH0se1wiXCJ4XCJcIjoxLjEwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6MC44NzQwOTIyMjEyNjAwNzA4fSx7XCJcInhcIlwiOjEuNjAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjowLjg5MjQyNzUwNDA2MjY1MjZ9LHtcIlwieFwiXCI6Mi4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjowLjgyNDkwNjc2NjQxNDY0MjN9LHtcIlwieFwiXCI6Mi41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjowLjkzMjc2NjkxNDM2NzY3NTh9LHtcIlwieFwiXCI6My4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjowLjg1MjI5NzQyNTI3MDA4MDZ9LHtcIlwieFwiXCI6My41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjowLjgxNzQ0OTI3MTY3ODkyNDZ9LHtcIlwieFwiXCI6NC4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuODM5NDY0NzI0MDYzODczM30se1wiXCJ4XCJcIjo0LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC43MTM5Mzg3NzI2NzgzNzUyfSx7XCJcInhcIlwiOjUuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjU1NjExNjc1OTc3NzA2OTF9LHtcIlwieFwiXCI6NS41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuMzI3NjIyNjgxODU2MTU1NH0se1wiXCJ4XCJcIjo2LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4xMjQ3OTQ3NDM5NTUxMzUzNX0se1wiXCJ4XCJcIjo2LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4xMzAwNjc5NzQzMjg5OTQ3NX0se1wiXCJ4XCJcIjo3LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4wNTk3MDIwNzk3NDMxNDY4OTZ9XX0se1wiXCJuYW1lXCJcIjpcIlwiUnVuOjIwMjMtMDgtMDhcIlwiLFwiXCJmaXRMaW5lQ29sb3JcIlwiOlwiXCIjZmZiYjc4XCJcIixcIlwicG9pbnRDb2xvclwiXCI6XCJcIiNmZmJiNzhcIlwiLFwiXCJzaG93UG9pbnRzXCJcIjpcIlwicG9pbnRzXCJcIixcIlwicGFyYW1ldGVyc1wiXCI6WzUuNzYwOTMwMjE5NTgyNTQ2LCAxLjY1OTE3OTMyOTM4MzMwMTMsIDQuNjY3MTU1OTI5NzIwODUxLCAwLjc4NTgxMDk1NDQxMjE2NTJdLFwiXCJwb2ludHNcIlwiOlt7XCJcInhcIlwiOjAuMTAwMDAwMDAxNDkwMTE2MTIsXCJcInlcIlwiOjYuMTU2OTkzMzg5MTI5NjM5fSx7XCJcInhcIlwiOjAuNjAwMDAwMDIzODQxODU3OSxcIlwieVwiXCI6NS4yMzY3MDE5NjUzMzIwMzF9LHtcIlwieFwiXCI6MS4xMDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjYuMDEwNTYwNTEyNTQyNzI1fSx7XCJcInhcIlwiOjEuNjAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjo1LjQ5NTUxMjk2MjM0MTMwOX0se1wiXCJ4XCJcIjoyLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjYuMDg3NzcwNDYyMDM2MTMzfSx7XCJcInhcIlwiOjIuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6NS43OTk4NjU3MjI2NTYyNX0se1wiXCJ4XCJcIjozLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjUuNTk3NTQ2NTc3NDUzNjEzfSx7XCJcInhcIlwiOjMuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6NS41MjA5MDIxNTY4Mjk4MzR9LHtcIlwieFwiXCI6NC4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjUuMzYwNjU0MzU0MDk1NDU5fSx7XCJcInhcIlwiOjQuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjozLjU1Mzk3NDYyODQ0ODQ4NjN9LHtcIlwieFwiXCI6NS4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjEuNTc3MjM2Mjk0NzQ2Mzk5fSx7XCJcInhcIlwiOjUuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoxLjAwMDEyNjQ4MTA1NjIxMzR9LHtcIlwieFwiXCI6Ni4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuOTMwNTc5NzgxNTMyMjg3Nn0se1wiXCJ4XCJcIjo2LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC42MDMzNjM4NzE1NzQ0MDE5fSx7XCJcInhcIlwiOjcuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjQyMDM2ODU1MjIwNzk0Njh9XX1dLFwiXCJjaGFydE9wdGlvbnNcIlwiOntcIlwieEF4aXNOYW1lXCJcIjpcIlwiQ29uYy5cIlwiLFwiXCJ5QXhpc05hbWVcIlwiOlwiXCJBY3Rpdml0eVwiXCIsXCJcInRpdGxlXCJcIjpcIlwiRG9zZS1SZXNwb25zZSBjdXJ2ZXNcIlwifX1cIix0ZXh0LCxcbkNvbG9tYmlhLE1EUlRERVZTTkhUSERLUFRMVFdGRUVJRkVFWUhTUEZITixGQyhGKShGKWMxY2NjKE9DMkNDTkNDMiljYzEsMTQ4MDAyOSwzNi4zMzA5NDQwNjEyNzkzLDk5NTE1MjA1MCwxIENPVVJUIEhPVVNFIFNRVUFSRSxodHRwczovL2RhdGFncm9rLmFpL2ltZy9zbGlkZXMvYWNjZXNzLWRiLWNvbm5lY3QucG5nLGlkLEVycm9yTWVzc2FnZSxcIkNPTVBORCBcbkFUT00gXG5FTkRcIixmbGFnLDUsNSw0VUoxLDUsMS4yMyw8Y2hhcnQ+PC9jaGFydD4sXCJ7XCJcInNlcmllc1wiXCI6W3tcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0RnVuY3Rpb25cIlwiOlwiXCJzaWdtb2lkXCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiIzFmNzdiNFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjMWY3N2I0XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOls2LjQ5OTUwODgzMTQxNTM2NTUsIDIuNDI3MDM1MTAwNDUzOTkxNCwgNS4xNzg2NTk1MzUzNDg1NzksIDAuNjI1NjUzMzQ2MjQxNTc3XSxcIlwicG9pbnRzXCJcIjpbe1wiXCJ4XCJcIjowLjEwMDAwMDAwMTQ5MDExNjEyLFwiXCJ5XCJcIjo2LjQ5NjIzMTU1NTkzODcyMX0se1wiXCJ4XCJcIjowLjYwMDAwMDAyMzg0MTg1NzksXCJcInlcIlwiOjYuNDI1NDMzNjM1NzExNjd9LHtcIlwieFwiXCI6MS4xMDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjcuMDQwMDYzODU4MDMyMjI3fSx7XCJcInhcIlwiOjEuNjAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjo2LjExMTU0MDMxNzUzNTR9LHtcIlwieFwiXCI6Mi4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjo2LjY4MDcyODQzNTUxNjM1N30se1wiXCJ4XCJcIjoyLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjYuNDA2Nzc0NTIwODc0MDIzfSx7XCJcInhcIlwiOjMuMDk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6Ni42MTEyNjk0NzQwMjk1NDF9LHtcIlwieFwiXCI6My41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjo1Ljg4OTA5NDM1MjcyMjE2OH0se1wiXCJ4XCJcIjo0LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6Ni43NTM0NDcwNTU4MTY2NX0se1wiXCJ4XCJcIjo0LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6Ni4zNjE0MzU4OTAxOTc3NTR9LHtcIlwieFwiXCI6NS4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjQuMTY2Njk3NTAyMTM2MjMwNX0se1wiXCJ4XCJcIjo1LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MS4xNzIxMTg5MDIyMDY0MjF9LHtcIlwieFwiXCI6Ni4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuODAxMDQ4OTk0MDY0MzMxfSx7XCJcInhcIlwiOjYuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjQ2NDAwMjEwMjYxMzQ0OTF9LHtcIlwieFwiXCI6Ny4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuMDAxMDM1NzY2NzkyNDgzNjI3OH1dfSx7XCJcIm5hbWVcIlwiOlwiXCJSdW46MjAyMy0wOC0wOFwiXCIsXCJcImZpdExpbmVDb2xvclwiXCI6XCJcIiNmZmJiNzhcIlwiLFwiXCJwb2ludENvbG9yXCJcIjpcIlwiI2ZmYmI3OFwiXCIsXCJcInNob3dQb2ludHNcIlwiOlwiXCJwb2ludHNcIlwiLFwiXCJwYXJhbWV0ZXJzXCJcIjpbMS40NzM0MzgxMzQ3NDQ2NDAxLCAxLjE2NDk4MDUxODgwNzQxOTYsIDQuODI5NTg2MDg4NjY0MjEsIDAuMDk1MDA1NDU0OTY3MTAwMDddLFwiXCJwb2ludHNcIlwiOlt7XCJcInhcIlwiOjAuMTAwMDAwMDAxNDkwMTE2MTIsXCJcInlcIlwiOjEuNTI3OTA5NjM2NDk3NDk3Nn0se1wiXCJ4XCJcIjowLjYwMDAwMDAyMzg0MTg1NzksXCJcInlcIlwiOjEuMzU1OTk3NDQzMTk5MTU3N30se1wiXCJ4XCJcIjoxLjEwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6MS41MjQ2Mzc4MTgzMzY0ODY4fSx7XCJcInhcIlwiOjEuNjAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjoxLjU1Njc2NTc5NDc1NDAyODN9LHtcIlwieFwiXCI6Mi4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjoxLjQxMTQyNDA0MDc5NDM3MjZ9LHtcIlwieFwiXCI6Mi41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjoxLjQwNDUwMTA4MDUxMzAwMDV9LHtcIlwieFwiXCI6My4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjoxLjQ3Njk4Mjk1MTE2NDI0NTZ9LHtcIlwieFwiXCI6My41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjoxLjQ4NzU1MDAyMDIxNzg5NTV9LHtcIlwieFwiXCI6NC4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjEuMjk5MTk4NzQ2NjgxMjEzNH0se1wiXCJ4XCJcIjo0LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC45MjI5NjE0MTM4NjAzMjF9LHtcIlwieFwiXCI6NS4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuNjUyMDA0NDgwMzYxOTM4NX0se1wiXCJ4XCJcIjo1LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4xNTM1MDk3ODA3NjQ1Nzk3N30se1wiXCJ4XCJcIjo2LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4xMDc4OTAzMDc5MDMyODk4fSx7XCJcInhcIlwiOjYuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjE3Mjc2NDQ5NTAxNTE0NDM1fSx7XCJcInhcIlwiOjcuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjE0MDY2NjA4MjUwMTQxMTQ0fV19XSxcIlwiY2hhcnRPcHRpb25zXCJcIjp7XCJcInhBeGlzTmFtZVwiXCI6XCJcIkNvbmMuXCJcIixcIlwieUF4aXNOYW1lXCJcIjpcIlwiQWN0aXZpdHlcIlwiLFwiXCJ0aXRsZVwiXCI6XCJcIkRvc2UtUmVzcG9uc2UgY3VydmVzXCJcIn19XCIsdGV4dCwsXG5Db3N0YSBSaWNhLE1LU1RLRUVJUVRJS1RMTEtEU1JUQUtZSEtSTFFJVkwsQ0MoQylDYzFjY2MoY2MxKUMoQylDKD1PKU4yQ0NDQzJDKD1PKU9DQ0NjM2NjY2NjMywxNDgwMDE4LDM2LjMzMDk0NDA2MTI3OTMsOTk1MDg0MjE4LDQwNDEgU09VVEhXRVNURVJOIEJMVkQsaHR0cHM6Ly9kYXRhZ3Jvay5haS9pbWcvc2xpZGVzL2FjY2Vzcy1kYi1jb25uZWN0LnBuZyxpZCxFcnJvck1lc3NhZ2UsXCJDT01QTkQgXG5BVE9NIFxuRU5EXCIsZmxhZyw2LDYsMkJQVyw2LDEuMjMsPGNoYXJ0PjwvY2hhcnQ+LFwie1wiXCJzZXJpZXNcIlwiOlt7XCJcIm5hbWVcIlwiOlwiXCJSdW46MjAyMy0wOC0wOFwiXCIsXCJcImZpdEZ1bmN0aW9uXCJcIjpcIlwic2lnbW9pZFwiXCIsXCJcImZpdExpbmVDb2xvclwiXCI6XCJcIiMxZjc3YjRcIlwiLFwiXCJwb2ludENvbG9yXCJcIjpcIlwiIzFmNzdiNFwiXCIsXCJcInNob3dQb2ludHNcIlwiOlwiXCJwb2ludHNcIlwiLFwiXCJwYXJhbWV0ZXJzXCJcIjpbMi40ODMzNjQxODQzMzExMjI3LCAtMS44OTQ1OTc4NzQyMDkwMDYyLCA0LjY3MTEyNzcwODA5MjU2OCwgMC4yNDE1OTg2MTMxMTgxNTE1M10sXCJcInBvaW50c1wiXCI6W3tcIlwieFwiXCI6MC4xMDAwMDAwMDE0OTAxMTYxMixcIlwieVwiXCI6MC4wOTY5NTI0MTYwMDI3NTA0fSx7XCJcInhcIlwiOjAuNjAwMDAwMDIzODQxODU3OSxcIlwieVwiXCI6MC4wMjg0ODMwNDA2MzA4MTc0MTN9LHtcIlwieFwiXCI6MS4xMDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjAuMjIwODcxNzYxNDQxMjMwNzd9LHtcIlwieFwiXCI6MS42MDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjAuMDA2ODkxNTU0Njg3MTcyMTc0NX0se1wiXCJ4XCJcIjoyLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjAuNDMwNTg3OTc3MTcwOTQ0Mn0se1wiXCJ4XCJcIjoyLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjAuNDQ3NzQxMTUwODU2MDE4MDd9LHtcIlwieFwiXCI6My4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjowLjQ1MzQ2MzE5Njc1NDQ1NTU3fSx7XCJcInhcIlwiOjMuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6MC4yMzcwNTkzMTAwNzg2MjA5fSx7XCJcInhcIlwiOjQuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjQ2NTc5NTM5Nzc1ODQ4Mzl9LHtcIlwieFwiXCI6NC41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjEuMTU1MjAwNzE5ODMzMzc0fSx7XCJcInhcIlwiOjUuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoyLjIyOTQwNzA3MjA2NzI2MDd9LHtcIlwieFwiXCI6NS41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjIuNDMxMTUzMDU5MDA1NzM3M30se1wiXCJ4XCJcIjo2LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6Mi4zMzg0NjExNjA2NTk3OX0se1wiXCJ4XCJcIjo2LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6Mi42MDgyMDEwMjY5MTY1MDR9LHtcIlwieFwiXCI6Ny4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjIuODEzNjE0MzY4NDM4NzIwN31dfSx7XCJcIm5hbWVcIlwiOlwiXCJSdW46MjAyMy0wOC0wOFwiXCIsXCJcImZpdExpbmVDb2xvclwiXCI6XCJcIiNmZmJiNzhcIlwiLFwiXCJwb2ludENvbG9yXCJcIjpcIlwiI2ZmYmI3OFwiXCIsXCJcInNob3dQb2ludHNcIlwiOlwiXCJwb2ludHNcIlwiLFwiXCJwYXJhbWV0ZXJzXCJcIjpbNS4yMjQ1NzM1MjE2NDIwMzMsIDEuNDQ1NDAzMzkyNDE5ODUyOCwgNS42MDE0MTk3NzQ2MDc2NTM1LCAwLjI4MjMyMTYwNTQxOTc1NzddLFwiXCJwb2ludHNcIlwiOlt7XCJcInhcIlwiOjAuMTAwMDAwMDAxNDkwMTE2MTIsXCJcInlcIlwiOjQuOTUwMjc0OTQ0MzA1NDJ9LHtcIlwieFwiXCI6MC42MDAwMDAwMjM4NDE4NTc5LFwiXCJ5XCJcIjo1LjE3NTQ2Nzk2Nzk4NzA2MDV9LHtcIlwieFwiXCI6MS4xMDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjUuMjc2NzUyOTQ4NzYwOTg2fSx7XCJcInhcIlwiOjEuNjAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjo1LjU4OTI5NDkxMDQzMDkwOH0se1wiXCJ4XCJcIjoyLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjUuNjE2OTk0ODU3Nzg4MDg2fSx7XCJcInhcIlwiOjIuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6NS4xMjA4MTM4NDY1ODgxMzV9LHtcIlwieFwiXCI6My4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjo1LjM0MDc2NjkwNjczODI4MX0se1wiXCJ4XCJcIjozLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjQuODc2NDcxMDQyNjMzMDU3fSx7XCJcInhcIlwiOjQuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjo0Ljk0OTk5MzYxMDM4MjA4fSx7XCJcInhcIlwiOjQuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjo1LjE2MjU2NDc1NDQ4NjA4NH0se1wiXCJ4XCJcIjo1LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6NC4zOTk1NTc1OTA0ODQ2MTl9LHtcIlwieFwiXCI6NS41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjIuNzk3Nzk2OTY0NjQ1Mzg1N30se1wiXCJ4XCJcIjo2LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MS4wMjI5ODcyNDY1MTMzNjY3fSx7XCJcInhcIlwiOjYuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjQ4Mjc1NjAxODYzODYxMDg0fSx7XCJcInhcIlwiOjcuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjEwNDA4OTMxOTcwNTk2MzEzfV19XSxcIlwiY2hhcnRPcHRpb25zXCJcIjp7XCJcInhBeGlzTmFtZVwiXCI6XCJcIkNvbmMuXCJcIixcIlwieUF4aXNOYW1lXCJcIjpcIlwiQWN0aXZpdHlcIlwiLFwiXCJ0aXRsZVwiXCI6XCJcIkRvc2UtUmVzcG9uc2UgY3VydmVzXCJcIn19XCIsdGV4dCwsXG5DdWJhLE1IQUlMUllGSVJSTEZZSElGWUtJWVNMSVNLS0hRU0xQU0RWUlFGLENPYzFjY2MyYyhjMSljKENDKD1PKU4zQ0NDQzNDKD1PKU9jNGNjYyhDKWNjNE9DKWMoQyluMkMoPU8pYzVjY2MoQ2wpY2M1LDE0ODAwMTksMzYuMzMxMTU3Njg0MzI2MTcsOTk1MDgxOTI4LDEyMjcgVVMgSElHSFdBWSAxMSxodHRwczovL2RhdGFncm9rLmFpL2ltZy9zbGlkZXMvYWNjZXNzLWRiLWNvbm5lY3QucG5nLGlkLEVycm9yTWVzc2FnZSxcIkNPTVBORCBcbkFUT00gXG5FTkRcIixmbGFnLDcsNywxUUJTLDcsMS4yMyw8Y2hhcnQ+PC9jaGFydD4sXCJ7XCJcInNlcmllc1wiXCI6W3tcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0RnVuY3Rpb25cIlwiOlwiXCJzaWdtb2lkXCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiIzFmNzdiNFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjMWY3N2I0XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOlszLjMyMDgzODY3OTcxMzkyNSwgLTEuMjQyMTYxOTk4NzMxNjcyOCwgNC44MzEzMjU0MjUyMjUyNTYsIDAuMzIzNjAxMTA5ODQwMzA3Ml0sXCJcInBvaW50c1wiXCI6W3tcIlwieFwiXCI6MC4xMDAwMDAwMDE0OTAxMTYxMixcIlwieVwiXCI6MC4zNzI3NDcwMzM4MzQ0NTc0fSx7XCJcInhcIlwiOjAuNjAwMDAwMDIzODQxODU3OSxcIlwieVwiXCI6MC4xMjM2NTAxNDEwNjAzNTIzM30se1wiXCJ4XCJcIjoxLjEwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6MC40ODQyMjQ2NzcwODU4NzY0Nn0se1wiXCJ4XCJcIjoxLjYwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6MC4yMjY0NDY1MDkzNjEyNjcxfSx7XCJcInhcIlwiOjIuMDk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6MC4xNjgyMTc5NDIxMTg2NDQ3MX0se1wiXCJ4XCJcIjoyLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjAuMzg3OTAxNDU1MTYzOTU1N30se1wiXCJ4XCJcIjozLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjAuNTQ3MDI0NDg4NDQ5MDk2N30se1wiXCJ4XCJcIjozLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjAuMzQxOTA1MzU1NDUzNDkxMn0se1wiXCJ4XCJcIjo0LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC43NjU1MTIwNDkxOTgxNTA2fSx7XCJcInhcIlwiOjQuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoxLjIzNDY1MTY4NDc2MTA0NzR9LHtcIlwieFwiXCI6NS4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjIuNDUzMzM2NzE1Njk4MjQyfSx7XCJcInhcIlwiOjUuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoyLjk1NjU0OTE2NzYzMzA1NjZ9LHtcIlwieFwiXCI6Ni4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjMuMzM1Mjk5NDkxODgyMzI0fSx7XCJcInhcIlwiOjYuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjozLjI0MDI5MDg4MDIwMzI0N30se1wiXCJ4XCJcIjo3LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6My4xMTA3MjE4MjY1NTMzNDQ3fV19LHtcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiI2ZmYmI3OFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjZmZiYjc4XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOlszLjY0MDE4NTM1MjE1MTEwOTQsIDEuMjYyMTE1ODg4NzUwMTMsIDUuMzk5MDI4MDc0NDAyNzQ0LCAwLjUwODk1ODA4MzAwNjgwOTFdLFwiXCJwb2ludHNcIlwiOlt7XCJcInhcIlwiOjAuMTAwMDAwMDAxNDkwMTE2MTIsXCJcInlcIlwiOjMuODU4NTU5ODQ2ODc4MDUxOH0se1wiXCJ4XCJcIjowLjYwMDAwMDAyMzg0MTg1NzksXCJcInlcIlwiOjMuNjA3NzIwNjEzNDc5NjE0M30se1wiXCJ4XCJcIjoxLjEwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6My44NTUyNTIyNjU5MzAxNzZ9LHtcIlwieFwiXCI6MS42MDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjMuNjE5MDM5Mjk3MTAzODgyfSx7XCJcInhcIlwiOjIuMDk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6My44MzkzODgzNzA1MTM5MTZ9LHtcIlwieFwiXCI6Mi41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjozLjMzNTI4MzA0MTAwMDM2Nn0se1wiXCJ4XCJcIjozLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjMuNTcxMTQxNDgxMzk5NTM2fSx7XCJcInhcIlwiOjMuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6My40MTU1MDQ2OTM5ODQ5ODU0fSx7XCJcInhcIlwiOjQuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjozLjczMTY2NDY1NzU5Mjc3MzR9LHtcIlwieFwiXCI6NC41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjMuMDY4MDE1NTc1NDA4OTM1NX0se1wiXCJ4XCJcIjo1LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6Mi44OTEwNjY1NTEyMDg0OTZ9LHtcIlwieFwiXCI6NS41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjEuNjAyMjc1MzcxNTUxNTEzN30se1wiXCJ4XCJcIjo2LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC43NjUyNTc2NTY1NzQyNDkzfSx7XCJcInhcIlwiOjYuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjY4NzUzMjYwMzc0MDY5MjF9LHtcIlwieFwiXCI6Ny4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuNTgyODg3MTcyNjk4OTc0Nn1dfV0sXCJcImNoYXJ0T3B0aW9uc1wiXCI6e1wiXCJ4QXhpc05hbWVcIlwiOlwiXCJDb25jLlwiXCIsXCJcInlBeGlzTmFtZVwiXCI6XCJcIkFjdGl2aXR5XCJcIixcIlwidGl0bGVcIlwiOlwiXCJEb3NlLVJlc3BvbnNlIGN1cnZlc1wiXCJ9fVwiLHRleHQsLFxuSXRhbHksTVNORkhORUhWTVFGWVJOTkxLVEtHVkZHUlEsQ0MoQylDYzFjY2MoY2MxKUMoQylDKD1PKU4yQ0NDQzJDKD1PKU9DQ09bTitdKD1PKVtPLV0sMTQ4MDAyMCwzNi4zMzExNTc2ODQzMjYxNyw5OTUwMixcIjE2OC00NiA5MVNUIEFWRS4sIDJORCBGTFJcIixodHRwczovL2RhdGFncm9rLmFpL2ltZy9zbGlkZXMvYWNjZXNzLWRiLWNvbm5lY3QucG5nLGlkLEVycm9yTWVzc2FnZSxcIkNPTVBORCBcbkFUT00gXG5FTkRcIixmbGFnLDgsOCwxWlA4LDgsMS4yMyw8Y2hhcnQ+PC9jaGFydD4sXCJ7XCJcInNlcmllc1wiXCI6W3tcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0RnVuY3Rpb25cIlwiOlwiXCJzaWdtb2lkXCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiIzFmNzdiNFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjMWY3N2I0XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOlsyLjI5MzU5MjEwNTkyMzgwOSwgMS4zNzgxNTg2NTQ5MTQxODM1LCA1LjEwMjU4OTgwMzg2NzY2MDUsIDAuMDM0OTM4NTEyNDUyOTEyOTFdLFwiXCJwb2ludHNcIlwiOlt7XCJcInhcIlwiOjAuMTAwMDAwMDAxNDkwMTE2MTIsXCJcInlcIlwiOjIuMTI4NzI4Mzg5NzM5OTkwMn0se1wiXCJ4XCJcIjowLjYwMDAwMDAyMzg0MTg1NzksXCJcInlcIlwiOjIuMjY3OTcyMjMwOTExMjU1fSx7XCJcInhcIlwiOjEuMTAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjoyLjM5ODQ0MjUwNjc5MDE2MX0se1wiXCJ4XCJcIjoxLjYwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6Mi41MTMwNjIyMzg2OTMyMzczfSx7XCJcInhcIlwiOjIuMDk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6Mi4zMjU1MTE2OTM5NTQ0Njc4fSx7XCJcInhcIlwiOjIuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6Mi4xMjczNDA3OTM2MDk2MTl9LHtcIlwieFwiXCI6My4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjoyLjQ3MjU5NzgzNzQ0ODEyfSx7XCJcInhcIlwiOjMuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6Mi4xMzExODE0Nzg1MDAzNjZ9LHtcIlwieFwiXCI6NC4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjIuMDkwNDIxNDM4MjE3MTYzfSx7XCJcInhcIlwiOjQuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoyLjAyMjk5MTY1NzI1NzA4fSx7XCJcInhcIlwiOjUuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoxLjExMDUwNTkzODUyOTk2ODN9LHtcIlwieFwiXCI6NS41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuNDQ5NDQ4NTg1NTEwMjUzOX0se1wiXCJ4XCJcIjo2LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4xMzc1NjM1ODYyMzUwNDY0fSx7XCJcInhcIlwiOjYuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjAzNjM1MTEyMTk2MjA3MDQ2NX0se1wiXCJ4XCJcIjo3LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4xNjE5NzcxMTIyOTMyNDM0fV19LHtcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiI2ZmYmI3OFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjZmZiYjc4XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOls1Ljk1MzEyNTQ5OTQzOTg3OSwgMS4yNTI4NjIwMjU1MzA2NTI4LCA1LjE4NzYzNzQ0MDE0OTgwMiwgMC4zMTEwMzQ4NzUzMjYwODg2XSxcIlwicG9pbnRzXCJcIjpbe1wiXCJ4XCJcIjowLjEwMDAwMDAwMTQ5MDExNjEyLFwiXCJ5XCJcIjo1LjY1ODUyODMyNzk0MTg5NDV9LHtcIlwieFwiXCI6MC42MDAwMDAwMjM4NDE4NTc5LFwiXCJ5XCJcIjo1LjkxMTE1MjM2MjgyMzQ4Nn0se1wiXCJ4XCJcIjoxLjEwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6NS45MjQ5MjAwODIwOTIyODV9LHtcIlwieFwiXCI6MS42MDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjUuODQ2OTQzODU1Mjg1NjQ0NX0se1wiXCJ4XCJcIjoyLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjUuOTI5NDcyOTIzMjc4ODA5fSx7XCJcInhcIlwiOjIuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6Ni4xOTAwMzc3MjczNTU5NTd9LHtcIlwieFwiXCI6My4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjo2LjIzNjE3OTgyODY0Mzc5OX0se1wiXCJ4XCJcIjozLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjYuMTQxMDE5MzQ0MzI5ODM0fSx7XCJcInhcIlwiOjQuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjo1LjI5NTIxMDgzODMxNzg3MX0se1wiXCJ4XCJcIjo0LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6NS4yNjU4MDE5MDY1ODU2OTN9LHtcIlwieFwiXCI6NS4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjMuMzcyMjg1MTI3NjM5NzcwNX0se1wiXCJ4XCJcIjo1LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MS44Mjk5MjI2NzYwODY0MjU4fSx7XCJcInhcIlwiOjYuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjMyNjkwOTAwNTY0MTkzNzI2fSx7XCJcInhcIlwiOjYuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjYyNzQ1NDM0MDQ1NzkxNjN9LHtcIlwieFwiXCI6Ny4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuODQ0MTg1NzA5OTUzMzA4MX1dfV0sXCJcImNoYXJ0T3B0aW9uc1wiXCI6e1wiXCJ4QXhpc05hbWVcIlwiOlwiXCJDb25jLlwiXCIsXCJcInlBeGlzTmFtZVwiXCI6XCJcIkFjdGl2aXR5XCJcIixcIlwidGl0bGVcIlwiOlwiXCJEb3NlLVJlc3BvbnNlIGN1cnZlc1wiXCJ9fVwiLHRleHQsLFxuUndhbmRhLE1QTlNFUEFTTExFTEZOU0lBVFFHRUxWUlNMS0FHTkFTSyxDQyhDKUNjMWNjYyhjYzEpQyhDKUMoPU8pTjJDQ0NDMkMoPU8pT0NDTywxNDgwMDIxLDM2LjMzMTM3MTMwNzM3MzA1LDk5NTAzNzI0NyxcIjE2OC00NiA5MVNUIEFWRS4sIDJORCBGTFJcIixodHRwczovL2RhdGFncm9rLmFpL2ltZy9zbGlkZXMvYWNjZXNzLWRiLWNvbm5lY3QucG5nLGlkLEVycm9yTWVzc2FnZSxcIkNPTVBORCBcbkFUT00gXG5FTkRcIixmbGFnLDksOSwyQkRKLDksMS4yMyw8Y2hhcnQ+PC9jaGFydD4sXCJ7XCJcInNlcmllc1wiXCI6W3tcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0RnVuY3Rpb25cIlwiOlwiXCJzaWdtb2lkXCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiIzFmNzdiNFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjMWY3N2I0XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOlszLjgyMDk5NzIyMDI2NTQ0NzQsIDEuMzc3OTIxNjcxNjQ0ODUwNiwgNS4yOTk4ODIyMjg0Mzk2ODYsIDAuMDYwNDA2NDU1MTkwNjk2MDhdLFwiXCJwb2ludHNcIlwiOlt7XCJcInhcIlwiOjAuMTAwMDAwMDAxNDkwMTE2MTIsXCJcInlcIlwiOjMuNzgyMTEwOTI5NDg5MTM1N30se1wiXCJ4XCJcIjowLjYwMDAwMDAyMzg0MTg1NzksXCJcInlcIlwiOjMuNTQyNDMzMDIzNDUyNzU5fSx7XCJcInhcIlwiOjEuMTAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjozLjcwMDg2NzQxNDQ3NDQ4NzN9LHtcIlwieFwiXCI6MS42MDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjMuNzE3MzAxNjA3MTMxOTU4fSx7XCJcInhcIlwiOjIuMDk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6NC4wMjQ0NTIyMDk0NzI2NTZ9LHtcIlwieFwiXCI6Mi41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjo0LjAxMzg5OTMyNjMyNDQ2M30se1wiXCJ4XCJcIjozLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjMuOTQ1MDk0MzQ3MDAwMTIyfSx7XCJcInhcIlwiOjMuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6My44NjY2MjE5NzExMzAzNzF9LHtcIlwieFwiXCI6NC4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjMuNzQ2MTYyNjUyOTY5MzYwNH0se1wiXCJ4XCJcIjo0LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6My4zNDU0NzQwMDQ3NDU0ODM0fSx7XCJcInhcIlwiOjUuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoyLjYxOTQ0MzE3ODE3Njg4fSx7XCJcInhcIlwiOjUuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjk5OTQwNTAyNjQzNTg1Mn0se1wiXCJ4XCJcIjo2LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC40NjI1OTc5MzYzOTE4MzA0NH0se1wiXCJ4XCJcIjo2LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4wNTQxMzQ2MTEwNDAzNTM3NzV9LHtcIlwieFwiXCI6Ny4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuMDU3MTExODc0MjIyNzU1NDN9XX0se1wiXCJuYW1lXCJcIjpcIlwiUnVuOjIwMjMtMDgtMDhcIlwiLFwiXCJmaXRMaW5lQ29sb3JcIlwiOlwiXCIjZmZiYjc4XCJcIixcIlwicG9pbnRDb2xvclwiXCI6XCJcIiNmZmJiNzhcIlwiLFwiXCJzaG93UG9pbnRzXCJcIjpcIlwicG9pbnRzXCJcIixcIlwicGFyYW1ldGVyc1wiXCI6WzUuNjMxODA3OTY1NzcyNjAzNSwgMS44NDk1NDkzNzcwMDAwNTk1LCA1LjM5MTc5MzMxMjQ3MTExNiwgMC4xNzA2MDcwNzU4NzM0ODQ0Ml0sXCJcInBvaW50c1wiXCI6W3tcIlwieFwiXCI6MC4xMDAwMDAwMDE0OTAxMTYxMixcIlwieVwiXCI6NS40NTgwNzk4MTQ5MTA4ODl9LHtcIlwieFwiXCI6MC42MDAwMDAwMjM4NDE4NTc5LFwiXCJ5XCJcIjo1LjU1NDQyNzE0NjkxMTYyMX0se1wiXCJ4XCJcIjoxLjEwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6NS43OTk5ODMwMjQ1OTcxNjh9LHtcIlwieFwiXCI6MS42MDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjUuMzY0MTQwMDMzNzIxOTI0fSx7XCJcInhcIlwiOjIuMDk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6NS44NjQ0ODU3NDA2NjE2MjF9LHtcIlwieFwiXCI6Mi41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjo1LjQ1MDk4MDY2MzI5OTU2MDV9LHtcIlwieFwiXCI6My4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjo1LjcwMjU3NDcyOTkxOTQzNH0se1wiXCJ4XCJcIjozLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjUuNzMxNDUzNDE4NzMxNjg5NX0se1wiXCJ4XCJcIjo0LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6NS41MTIzNDQzNjAzNTE1NjI1fSx7XCJcInhcIlwiOjQuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjo1LjcyNDM5NTc1MTk1MzEyNX0se1wiXCJ4XCJcIjo1LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6NC4zNTQ1MDY5Njk0NTE5MDR9LHtcIlwieFwiXCI6NS41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjEuNzMwNzY2NjU0MDE0NTg3NH0se1wiXCJ4XCJcIjo2LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC42MzA1OTM2NTc0OTM1OTEzfSx7XCJcInhcIlwiOjYuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjAzNTE4MzQzNzE2ODU5ODE3NX0se1wiXCJ4XCJcIjo3LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC43NTc1MTY5MjA1NjY1NTg4fV19XSxcIlwiY2hhcnRPcHRpb25zXCJcIjp7XCJcInhBeGlzTmFtZVwiXCI6XCJcIkNvbmMuXCJcIixcIlwieUF4aXNOYW1lXCJcIjpcIlwiQWN0aXZpdHlcIlwiLFwiXCJ0aXRsZVwiXCI6XCJcIkRvc2UtUmVzcG9uc2UgY3VydmVzXCJcIn19XCIsdGV4dCwsXG5Td2l0emVybGFuZCxJUlZWR1JZTElFVldLQUFHTURNREtWTEZMV1NTREVJLENOMUNDQyhDQzEpT2MyY2NjKGNjMilDKEYpKEYpRiwxNDgwMDI4LDM2LjMzMTM3MTMwNzM3MzA1LDk5NTA0LDkyLTExIDE3OVRIIFBMQUNFLGh0dHBzOi8vZGF0YWdyb2suYWkvaW1nL3NsaWRlcy9hY2Nlc3MtZGItY29ubmVjdC5wbmcsaWQsRXJyb3JNZXNzYWdlLFwiQ09NUE5EIFxuQVRPTSBcbkVORFwiLGZsYWcsOSwxMCwxSUFOLDEwLDEuMjMsPGNoYXJ0PjwvY2hhcnQ+LFwie1wiXCJzZXJpZXNcIlwiOlt7XCJcIm5hbWVcIlwiOlwiXCJSdW46MjAyMy0wOC0wOFwiXCIsXCJcImZpdEZ1bmN0aW9uXCJcIjpcIlwic2lnbW9pZFwiXCIsXCJcImZpdExpbmVDb2xvclwiXCI6XCJcIiMxZjc3YjRcIlwiLFwiXCJwb2ludENvbG9yXCJcIjpcIlwiIzFmNzdiNFwiXCIsXCJcInNob3dQb2ludHNcIlwiOlwiXCJwb2ludHNcIlwiLFwiXCJwYXJhbWV0ZXJzXCJcIjpbMS4xMTkwMjU1ODY1MDk3NDcxLCAyLjMxNjM4OTUxNjE1NDQ0MzcsIDUuNDk2ODg2NjE4MjI3OTE5NSwgMC4yMDM1MjA0MDQ3Mjg5MDUyXSxcIlwicG9pbnRzXCJcIjpbe1wiXCJ4XCJcIjowLjEwMDAwMDAwMTQ5MDExNjEyLFwiXCJ5XCJcIjoxLjEwNTc2ODMyMjk0NDY0MTF9LHtcIlwieFwiXCI6MC42MDAwMDAwMjM4NDE4NTc5LFwiXCJ5XCJcIjoxLjEwMTk2OTcxODkzMzEwNTV9LHtcIlwieFwiXCI6MS4xMDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjEuMDgxODYwNzgwNzE1OTQyNH0se1wiXCJ4XCJcIjoxLjYwMDAwMDAyMzg0MTg1OCxcIlwieVwiXCI6MS4wNjI5OTc4MTc5OTMxNjR9LHtcIlwieFwiXCI6Mi4wOTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjoxLjA0NjQ0NzUxNTQ4NzY3MX0se1wiXCJ4XCJcIjoyLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjEuMTIxNzI0OTYzMTg4MTcxNH0se1wiXCJ4XCJcIjozLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjEuMjE2Njk5NjAwMjE5NzI2Nn0se1wiXCJ4XCJcIjozLjU5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjEuMjE1NDc3NzA1MDAxODMxfSx7XCJcInhcIlwiOjQuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoxLjA1ODE4OTM5MjA4OTg0Mzh9LHtcIlwieFwiXCI6NC41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjEuMTc0Nzk5NTYxNTAwNTQ5M30se1wiXCJ4XCJcIjo1LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MS4wMTgxMTI3Nzg2NjM2MzUzfSx7XCJcInhcIlwiOjUuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjUzNDQ1MjMxOTE0NTIwMjZ9LHtcIlwieFwiXCI6Ni4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuMjU2OTUyNjQzMzk0NDcwMn0se1wiXCJ4XCJcIjo2LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4xOTEyMjA3MzA1NDMxMzY2fSx7XCJcInhcIlwiOjcuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjE1MDYwNTM4MDUzNTEyNTczfV19LHtcIlwibmFtZVwiXCI6XCJcIlJ1bjoyMDIzLTA4LTA4XCJcIixcIlwiZml0TGluZUNvbG9yXCJcIjpcIlwiI2ZmYmI3OFwiXCIsXCJcInBvaW50Q29sb3JcIlwiOlwiXCIjZmZiYjc4XCJcIixcIlwic2hvd1BvaW50c1wiXCI6XCJcInBvaW50c1wiXCIsXCJcInBhcmFtZXRlcnNcIlwiOlszLjEwMzg1ODEwMjU4MDU3ODUsIDIuMDAzMjIyNDIwNDE4NTI0NSwgNS4wODc2MDI4MjU5ODkxNjMsIDAuMTMyNzc5ODg1MTI0OTI3NTNdLFwiXCJwb2ludHNcIlwiOlt7XCJcInhcIlwiOjAuMTAwMDAwMDAxNDkwMTE2MTIsXCJcInlcIlwiOjMuMDQ5ODUwOTQwNzA0MzQ1N30se1wiXCJ4XCJcIjowLjYwMDAwMDAyMzg0MTg1NzksXCJcInlcIlwiOjIuODA1MjE3NzQyOTE5OTIyfSx7XCJcInhcIlwiOjEuMTAwMDAwMDIzODQxODU4LFwiXCJ5XCJcIjozLjM0MTUyNTMxNjIzODQwMzN9LHtcIlwieFwiXCI6MS42MDAwMDAwMjM4NDE4NTgsXCJcInlcIlwiOjMuMDU0OTg0MzMxMTMwOTgxNH0se1wiXCJ4XCJcIjoyLjA5OTk5OTkwNDYzMjU2ODQsXCJcInlcIlwiOjMuMjUwMDc0ODYzNDMzODM4fSx7XCJcInhcIlwiOjIuNTk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6My4wNDMyNTg2NjY5OTIxODc1fSx7XCJcInhcIlwiOjMuMDk5OTk5OTA0NjMyNTY4NCxcIlwieVwiXCI6My4yNjU4NTI0NTEzMjQ0NjN9LHtcIlwieFwiXCI6My41OTk5OTk5MDQ2MzI1Njg0LFwiXCJ5XCJcIjoyLjk0NzU3MjQ2OTcxMTMwMzd9LHtcIlwieFwiXCI6NC4wOTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjMuMTkyOTg5ODI2MjAyMzkyNn0se1wiXCJ4XCJcIjo0LjU5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6Mi43NDYwMDYwMTE5NjI4OTA2fSx7XCJcInhcIlwiOjUuMDk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjoxLjYxNzU4NjEzNTg2NDI1Nzh9LHtcIlwieFwiXCI6NS41OTk5OTk5MDQ2MzI1NjgsXCJcInlcIlwiOjAuMzAwNjYwODQ4NjE3NTUzN30se1wiXCJ4XCJcIjo2LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC4zNDQ0ODAzMDU5MTAxMTA1fSx7XCJcInhcIlwiOjYuNTk5OTk5OTA0NjMyNTY4LFwiXCJ5XCJcIjowLjAxNTUzNzk3MTYzMDY5MjQ4Mn0se1wiXCJ4XCJcIjo3LjA5OTk5OTkwNDYzMjU2OCxcIlwieVwiXCI6MC41NTI3MzU4MDU1MTE0NzQ2fV19XSxcIlwiY2hhcnRPcHRpb25zXCJcIjp7XCJcInhBeGlzTmFtZVwiXCI6XCJcIkNvbmMuXCJcIixcIlwieUF4aXNOYW1lXCJcIjpcIlwiQWN0aXZpdHlcIlwiLFwiXCJ0aXRsZVwiXCI6XCJcIkRvc2UtUmVzcG9uc2UgY3VydmVzXCJcIn19XCIsdGV4dCwsXG4sLCwsLCwsLCwsLCwsLCwsLCwsLCxgKTtcbnRlc3REYXRhLmNvbHVtbnMuYWRkKERHLkNvbHVtbi5mcm9tTGlzdChERy5UWVBFLkJZVEVfQVJSQVksICdCaW5hcnlJbWFnZScsIEFycmF5LmZyb20obmV3IFVpbnQ4QXJyYXkoMTEpKSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWkdGMFlXWnlZVzFsTFhWMGFXeHpMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaVpHRjBZV1p5WVcxbExYVjBhV3h6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRFJDUVVFMFFqdEJRVU0xUWl4UFFVRlBMRXRCUVVzc1JVRkJSU3hOUVVGTkxHbENRVUZwUWl4RFFVRkRPMEZCUTNSRExFOUJRVThzUzBGQlN5eE5RVUZOTEUxQlFVMHNZVUZCWVN4RFFVRkRPMEZCUTNSRE96czdSMEZIUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3h4UWtGQmNVSXNRMEZCUXl4TFFVRnRRaXhGUVVGRkxFZEJRV003U1VGRGRrVXNUVUZCVFN4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExGVkJRVlVzUTBGQlF6dEpRVU0xUWl4TlFVRk5MRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEV0QlFVc3NTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRNVVlzVFVGQlRTeFBRVUZQTEVkQlFVY3NRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF5eERRVUZETzBsQlEzUkRMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NSVUZCUlN4RFFVRkRPMGxCUXpWQ0xFbEJRVWtzYTBKQlFXdENMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRek5DTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xRkJRM1pETEVsQlFVa3NWMEZCVnl4RFFVRkRMRkZCUVZFc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlR0WlFVTndReXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTXNRMEZCUXp0WlFVTTFReXhuUWtGQlowSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGVrSXNhMEpCUVd0Q0xFbEJRVWtzUTBGQlF5eERRVUZETzFOQlEzcENPMHRCUTBZN1NVRkRSQ3hQUVVGUExHZENRVUZuUWl4RFFVRkRPMEZCUXpGQ0xFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNZVUZCWVN4RFFVRkRMRXRCUVcxQ0xFVkJRVVVzUzBGQlowSTdTVUZEYWtVc1MwRkJTeXhoUVVGTUxFdEJRVXNzWTBGQlRDeExRVUZMTEVsQlFVd3NTMEZCU3l4SFFVRkxMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVTTdTVUZEYUVNc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1NVRkRha01zVFVGQlRTeExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRMR05CUVdNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEpRVU14UXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxGZEJRVmNzUlVGQlJTeERRVUZETzBsQlEyeERMRXRCUVVzc1RVRkJUU3hKUVVGSkxFbEJRVWtzUzBGQlN5eEZRVUZGTzFGQlEzaENMRTFCUVUwc1RVRkJUU3hIUVVGSExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRekZETEUxQlFVMHNVMEZCVXl4SFFVRkhMRTFCUVUwc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFJRVU4wUXl4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFTkJRVU1zU1VGQlNTeEpRVUZKTEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJReTlETEUxQlFVMHNTVUZCU1N4SFFVRkhMRTFCUVUwc1EwRkJReXhWUVVGVkxFTkJRVU03VVVGREwwSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRGVrTXNTVUZCU1N4UlFVRlJMRVZCUVVVN1owSkJRMW9zVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVOMlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTnlRenRwUWtGQlRUdG5Ra0ZEVEN4TlFVRk5MRWxCUVVrc1IwRkJSeXhUUVVGVExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRMnBETEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRoUVVONFF6dFRRVU5HTzB0QlEwWTdTVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF6dEJRVU42UWl4RFFVRkRPMEZCUlVRc1RVRkJUU3hEUVVGRExFMUJRVTBzVVVGQlVTeEhRVUZITEVWQlFVVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhEUVVGRE96czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPM05DUVN0Q2RrSXNRMEZCUXl4RFFVRkRPMEZCUTNoQ0xGRkJRVkVzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVGRkxHRkJRV0VzUlVGQlJTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1ZVRkJWU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvZ1pYTnNhVzUwTFdScGMyRmliR1VnYldGNExXeGxiaUFxTDF4dWFXMXdiM0owSUNvZ1lYTWdSRWNnWm5KdmJTQW5aR0YwWVdkeWIyc3RZWEJwTDJSbkp6dGNibWx0Y0c5eWRDQXFJR0Z6SUhOb1lUSTFOaUJtY205dElDZG1ZWE4wTFhOb1lUSTFOaWM3WEc0dktpcGNiaUFxSUVadmNpQmpiMngxYlc1eklHOW1JSE4wY21sdVp5QjBlWEJsTGlCRGFHVmphM01nZDJobGRHaGxjaUJqYjJ4MWJXNGdZMjl1ZEdGcGJuTWdaVzF3ZEhrZ2RtRnNkV1Z6SUdGdVpDQnlaVzF2ZG1WeklHTnZjbkpsYzNCdmJtUnBibWNnY205M2N5QnBiaUJqWVhObElIVnpaWElnYzJWc1pXTjBjeUIwYnlCeVpXMXZkbVV1WEc0Z0tseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY21WdGIzWmxSVzF3ZEhsVGRISnBibWRTYjNkektIUmhZbXhsT2lCRVJ5NUVZWFJoUm5KaGJXVXNJR052YkRvZ1JFY3VRMjlzZFcxdUtUb2diblZ0WW1WeVcxMGdlMXh1SUNCamIyNXpkQ0JqWVhSeklEMGdZMjlzTG1OaGRHVm5iM0pwWlhNN1hHNGdJR052Ym5OMElHVnRjSFI1VW1GM1NXNWtJRDBnWTJGMGN5NXRZWEFvS0haaGJDd2dhVzVrS1NBOVBpQWhkbUZzSUQ4Z2FXNWtJRG9nYm5Wc2JDa3VabWxzZEdWeUtDaHBkQ2tnUFQ0Z2FYUWdJVDA5SUc1MWJHd3BPMXh1SUNCamIyNXpkQ0J5WVhkRVlYUmhJRDBnV3k0dUxtTnZiQzVuWlhSU1lYZEVZWFJoS0NsZE8xeHVJQ0JqYjI1emRDQmxiWEIwZVZKaGQzTkpibVJsZUdWeklEMGdXMTA3WEc0Z0lHeGxkQ0J5WlcxdmRtVmtVbTkzYzBOdmRXNTBaWElnUFNBd08xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhSaFlteGxMbkp2ZDBOdmRXNTBPeUJwS3lzcElIdGNiaUFnSUNCcFppQW9aVzF3ZEhsU1lYZEpibVF1YVc1amJIVmtaWE1vY21GM1JHRjBZVnRwWFNrcElIdGNiaUFnSUNBZ0lIUmhZbXhsTG5KdmQzTXVjbVZ0YjNabFFYUW9hU0F0SUhKbGJXOTJaV1JTYjNkelEyOTFiblJsY2lrN1hHNGdJQ0FnSUNCbGJYQjBlVkpoZDNOSmJtUmxlR1Z6TG5CMWMyZ29hU2s3WEc0Z0lDQWdJQ0J5WlcxdmRtVmtVbTkzYzBOdmRXNTBaWElnS3owZ01UdGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2NtVjBkWEp1SUdWdGNIUjVVbUYzYzBsdVpHVjRaWE03WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm9ZWE5vUkdGMFlVWnlZVzFsS0hSaFlteGxPaUJFUnk1RVlYUmhSbkpoYldVc0lHNWhiV1Z6UHpvZ2MzUnlhVzVuVzEwcE9pQlZhVzUwT0VGeWNtRjVJSHRjYmlBZ2JtRnRaWE1nUHo4OUlIUmhZbXhsTG1OdmJIVnRibk11Ym1GdFpYTW9LVHRjYmlBZ1kyOXVjM1FnYUdGemFHVnlJRDBnYm1WM0lITm9ZVEkxTmk1SVlYTm9LQ2s3WEc0Z0lHTnZibk4wSUc5eVpHVnlJRDBnZEdGaWJHVXVaMlYwVTI5eWRHVmtUM0prWlhJb2JtRnRaWE1wTzF4dUlDQmpiMjV6ZENCbGJtTnZaR1Z5SUQwZ2JtVjNJRlJsZUhSRmJtTnZaR1Z5S0NrN1hHNGdJR1p2Y2lBb1kyOXVjM1FnYm1GdFpTQnZaaUJ1WVcxbGN5a2dlMXh1SUNBZ0lHTnZibk4wSUdOdmJIVnRiaUE5SUhSaFlteGxMbU52YkhWdGJuTXVZbmxPWVcxbEtHNWhiV1VwTzF4dUlDQWdJR052Ym5OMElHUmhkR0ZCY25KaGVTQTlJR052YkhWdGJpNW5aWFJTWVhkRVlYUmhLQ2s3WEc0Z0lDQWdZMjl1YzNRZ2FYTlRkSEpwYm1jZ1BTQmpiMngxYlc0dWRIbHdaU0E5UFNCRVJ5NVVXVkJGTGxOVVVrbE9SenRjYmlBZ0lDQmpiMjV6ZENCallYUnpJRDBnWTI5c2RXMXVMbU5oZEdWbmIzSnBaWE03WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JrWVhSaFFYSnlZWGt1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lHbG1JQ2hwYzFOMGNtbHVaeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JrWVhSaElEMGdZMkYwYzF0a1lYUmhRWEp5WVhsYmIzSmtaWEpiYVYxZFhUdGNiaUFnSUNBZ0lDQWdhR0Z6YUdWeUxuVndaR0YwWlNobGJtTnZaR1Z5TG1WdVkyOWtaU2hrWVhSaEtTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCa1lYUmhJRDBnWkdGMFlVRnljbUY1VzI5eVpHVnlXMmxkWFR0Y2JpQWdJQ0FnSUNBZ2FHRnphR1Z5TG5Wd1pHRjBaU2hWYVc1ME9FRnljbUY1TG1aeWIyMG9XMlJoZEdGZEtTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCb1lYTm9aWEl1WkdsblpYTjBLQ2s3WEc1OVhHNWNibVY0Y0c5eWRDQmpiMjV6ZENCMFpYTjBSR0YwWVNBOUlFUkhMa1JoZEdGR2NtRnRaUzVtY205dFEzTjJLR0JqYjNWdWRISnBaWE1zWm1GemRHRXNjMjFwYkdWekxHMXZiSEpsWjI1dkxFeFBUaXhhYVhBZ1EyOWtaU3hUZEhKbFpYUWdRV1JrY21WemN5Qk1hVzVsSURFc1NXMWhaMlZWY213c2RYTmxjbDlwWkN4bGNuSnZjbDl0WlhOellXZGxMSGh5WVhrc1pteGhaeXh0WVdkdWFYUjFaR1VzUTFNdGFXUXNjR1JpWDJsa0xHRmpZMlZzWDJFc2RHbHRaVjl2Wm1aelpYUXNZMmhoY25Rc1ptbDBMRkYxWlhOMGFXOXVjeXhsYlhCMGVWOXVkVzFpWlhJc1pXMXdkSGxmYzNSeWFXNW5YRzVDWld4bmFYVnRMRTFUVGtaSVRrVklWazFSUmxsU1RrNU1TMVJMUjFaR1IxSlJMRU5ES0VNb1BVOHBUME5EUTJNeFkyTmpibU14S1dNeVkyTmpZeWhqTWlsREtEMVBLV016WTJOalkyTXpMREUwT0RBd01UUXNNell1TWpjMk56STVOVGd6TnpRd01qTTBMRGs1TlRBME1qTXdNQ3d4TkRBeE5pQlNUMVZVUlNBek1WY3NhSFIwY0hNNkx5OWtZWFJoWjNKdmF5NWhhUzlwYldjdmMyeHBaR1Z6TDJGalkyVnpjeTFrWWkxamIyNXVaV04wTG5CdVp5eHBaQ3hGY25KdmNrMWxjM05oWjJVc1hDSkRUMDFRVGtRZ1hHNUJWRTlOSUZ4dVJVNUVYQ0lzWm14aFp5d3hMREVzTVZGQ1V5d3hMREV1TWpNc1BHTm9ZWEowUGp3dlkyaGhjblErTEZ3aWUxd2lYQ0p6WlhKcFpYTmNJbHdpT2x0N1hDSmNJbTVoYldWY0lsd2lPbHdpWENKU2RXNDZNakF5TXkwd09DMHdPRndpWENJc1hDSmNJbVpwZEVaMWJtTjBhVzl1WENKY0lqcGNJbHdpYzJsbmJXOXBaRndpWENJc1hDSmNJbVpwZEV4cGJtVkRiMnh2Y2x3aVhDSTZYQ0pjSWlNeFpqYzNZalJjSWx3aUxGd2lYQ0p3YjJsdWRFTnZiRzl5WENKY0lqcGNJbHdpSXpGbU56ZGlORndpWENJc1hDSmNJbk5vYjNkUWIybHVkSE5jSWx3aU9sd2lYQ0p3YjJsdWRITmNJbHdpTEZ3aVhDSndZWEpoYldWMFpYSnpYQ0pjSWpwYk1pNDBPVGN6TmpBek5EQTJORFE0TnpJc0lERXVOekExT0RZNU5EazROalk0TmpnMk5Dd2dOUzR5Tnpnd05USTJOemd4T1RVeE16VXNJREF1TVRZd01EQXpNakE0T0Rrd01qZ3pPRE5kTEZ3aVhDSndiMmx1ZEhOY0lsd2lPbHQ3WENKY0luaGNJbHdpT2pBdU1UQXdNREF3TURBeE5Ea3dNVEUyTVRJc1hDSmNJbmxjSWx3aU9qSXVNemMwTkRrNU56azNPREl4TURRMWZTeDdYQ0pjSW5oY0lsd2lPakF1TmpBd01EQXdNREl6T0RReE9EVTNPU3hjSWx3aWVWd2lYQ0k2TWk0Mk1qUXlORGN6TVRJMU5EVTNOelkwZlN4N1hDSmNJbmhjSWx3aU9qRXVNVEF3TURBd01ESXpPRFF4T0RVNExGd2lYQ0o1WENKY0lqb3lMak0yTnpJMk56WXdPRFkwTWpVM09IMHNlMXdpWENKNFhDSmNJam94TGpZd01EQXdNREF5TXpnME1UZzFPQ3hjSWx3aWVWd2lYQ0k2TWk0Mk56SXpNVFE0T0RJeU56ZzBOREkwZlN4N1hDSmNJbmhjSWx3aU9qSXVNRGs1T1RrNU9UQTBOak15TlRZNE5DeGNJbHdpZVZ3aVhDSTZNaTQyTlRNM016UTBORFUxTnpFNE9UazBmU3g3WENKY0luaGNJbHdpT2pJdU5UazVPVGs1T1RBME5qTXlOVFk0TkN4Y0lsd2llVndpWENJNk1pNHpOalV4TmpjeE5EQTVOakEyT1RNMGZTeDdYQ0pjSW5oY0lsd2lPak11TURrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TWk0MU5qVTBNamcwT1RVME1EY3hNRFExZlN4N1hDSmNJbmhjSWx3aU9qTXVOVGs1T1RrNU9UQTBOak15TlRZNE5DeGNJbHdpZVZ3aVhDSTZNaTQwTVRZd09UVTVOekl3TmpFeE5UY3lmU3g3WENKY0luaGNJbHdpT2pRdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpveUxqSTROamN5TmpjeE16RTRNRFUwTW4wc2Uxd2lYQ0o0WENKY0lqbzBMalU1T1RrNU9Ua3dORFl6TWpVMk9DeGNJbHdpZVZ3aVhDSTZNaTQxTVRBd01EUXlPREU1T1RjMk9EQTNmU3g3WENKY0luaGNJbHdpT2pVdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpveExqWTJOelk1T0RVd01qVTBNRFU0T0RSOUxIdGNJbHdpZUZ3aVhDSTZOUzQxT1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakF1Tmpnd01UTTJOVEF4TnpnNU1Ea3pmU3g3WENKY0luaGNJbHdpT2pZdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvd0xqTXpPVEUxTkRNNU1qUTRNRGcxTURKOUxIdGNJbHdpZUZ3aVhDSTZOaTQxT1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakF1TURrd016ZzVPRE15T0RVME1qY3dPVFI5TEh0Y0lsd2llRndpWENJNk55NHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qQXVNVGs0TURJM056VTVOemt3TkRJd05UTjlYWDBzZTF3aVhDSnVZVzFsWENKY0lqcGNJbHdpVW5WdU9qSXdNak10TURndE1EaGNJbHdpTEZ3aVhDSm1hWFJNYVc1bFEyOXNiM0pjSWx3aU9sd2lYQ0lqWm1aaVlqYzRYQ0pjSWl4Y0lsd2ljRzlwYm5SRGIyeHZjbHdpWENJNlhDSmNJaU5tWm1KaU56aGNJbHdpTEZ3aVhDSnphRzkzVUc5cGJuUnpYQ0pjSWpwY0lsd2ljRzlwYm5SelhDSmNJaXhjSWx3aWNHRnlZVzFsZEdWeWMxd2lYQ0k2V3pjdU5USTFNak0xT0RVMU5UQTRNVGM1TENBeExqTXhPRFk1TVRFNE56WTRNRGs1T0RRc0lEVXVNek0xTmpjeU5qQTROVFkwTWprMExDQXdMamM0TmpBM05ETXpORE01TlRnd09UaGRMRndpWENKd2IybHVkSE5jSWx3aU9sdDdYQ0pjSW5oY0lsd2lPakF1TVRBd01EQXdNREF4TkRrd01URTJNVElzWENKY0lubGNJbHdpT2pjdU9UZzRNRGN3TkRnM09UYzJNRGMwZlN4N1hDSmNJbmhjSWx3aU9qQXVOakF3TURBd01ESXpPRFF4T0RVM09TeGNJbHdpZVZ3aVhDSTZOeTR3TVRnME5UTXhNakV4T0RVek1ETjlMSHRjSWx3aWVGd2lYQ0k2TVM0eE1EQXdNREF3TWpNNE5ERTROVGdzWENKY0lubGNJbHdpT2pndU1URTFNamM1TVRrM05qa3lPRGN4ZlN4N1hDSmNJbmhjSWx3aU9qRXVOakF3TURBd01ESXpPRFF4T0RVNExGd2lYQ0o1WENKY0lqbzNMalE0TmpZMU9EQTVOak14TXpRM04zMHNlMXdpWENKNFhDSmNJam95TGpBNU9UazVPVGt3TkRZek1qVTJPRFFzWENKY0lubGNJbHdpT2pjdU16azJORE00TVRJeE56azFOalUwZlN4N1hDSmNJbmhjSWx3aU9qSXVOVGs1T1RrNU9UQTBOak15TlRZNE5DeGNJbHdpZVZ3aVhDSTZOeTQwTnpjd05USXlNVEUzTmpFME56VjlMSHRjSWx3aWVGd2lYQ0k2TXk0d09UazVPVGs1TURRMk16STFOamcwTEZ3aVhDSjVYQ0pjSWpvMkxqa3hNekE1TlRRM05ESTBNekUyTkgwc2Uxd2lYQ0o0WENKY0lqb3pMalU1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPamd1TURFek9EVTBPVGd3TkRZNE56VjlMSHRjSWx3aWVGd2lYQ0k2TkM0d09UazVPVGs1TURRMk16STFOamdzWENKY0lubGNJbHdpT2pZdU9UZzFPVEF3TkRBeU1EWTVNRGt5ZlN4N1hDSmNJbmhjSWx3aU9qUXVOVGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqbzJMamszTURNek5UazJNRE00T0RFNE5IMHNlMXdpWENKNFhDSmNJam8xTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TlM0ME5EZzRNVGN5TlRNeE1USTNPVE45TEh0Y0lsd2llRndpWENJNk5TNDFPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qSXVOVFV6TkRneE9ERTNNalExTkRnek5IMHNlMXdpWENKNFhDSmNJam8yTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TVM0NE9UTTVORGM1TlRnNU5EWXlNamg5TEh0Y0lsd2llRndpWENJNk5pNDFPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qQXVOak0wTURBME1qTTFNalkzTmpNNU1uMHNlMXdpWENKNFhDSmNJam8zTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TUM0NE5EQXpPRGMwTURNNU5qUTVPVFl6ZlYxOVhTeGNJbHdpWTJoaGNuUlBjSFJwYjI1elhDSmNJanA3WENKY0luaEJlR2x6VG1GdFpWd2lYQ0k2WENKY0lrTnZibU11WENKY0lpeGNJbHdpZVVGNGFYTk9ZVzFsWENKY0lqcGNJbHdpUVdOMGFYWnBkSGxjSWx3aUxGd2lYQ0owYVhSc1pWd2lYQ0k2WENKY0lrUnZjMlV0VW1WemNHOXVjMlVnWTNWeWRtVnpYQ0pjSW4xOVhDSXNkR1Y0ZEN3eE1EQXNZV0pqWEc1Q2RYSjFibVJwTEUxRVdVdEZWRXhNVFZCTFZFUkdVRTFTUjBkTVVFNUxSVkJSU1ZGRlMxY3NRMDlqTVdOall6SmpZeWhqWTJNeVl6RXBReWhES1VNb1BVOHBUMk16WTJOaktFTXBZMk16VDBNc01UUTRNREF4TlN3ek5pNHlOelkzTWprMU9ETTNOREF5TXpRc09UazFNRGN6TkRRMExEZ3dJRk5VUVZSRklFaEpSMGhYUVZrZ016RXdMR2gwZEhCek9pOHZaR0YwWVdkeWIyc3VZV2t2YVcxbkwzTnNhV1JsY3k5aFkyTmxjM010WkdJdFkyOXVibVZqZEM1d2JtY3NhV1FzUlhKeWIzSk5aWE56WVdkbExGd2lRMDlOVUU1RUlGeHVRVlJQVFNCY2JrVk9SRndpTEdac1lXY3NNaXd5TERGYVVEZ3NNaXd4TGpJekxEeGphR0Z5ZEQ0OEwyTm9ZWEowUGl4Y0ludGNJbHdpYzJWeWFXVnpYQ0pjSWpwYmUxd2lYQ0p1WVcxbFhDSmNJanBjSWx3aVVuVnVPakl3TWpNdE1EZ3RNRGhjSWx3aUxGd2lYQ0ptYVhSR2RXNWpkR2x2Ymx3aVhDSTZYQ0pjSW5OcFoyMXZhV1JjSWx3aUxGd2lYQ0ptYVhSTWFXNWxRMjlzYjNKY0lsd2lPbHdpWENJak1XWTNOMkkwWENKY0lpeGNJbHdpY0c5cGJuUkRiMnh2Y2x3aVhDSTZYQ0pjSWlNeFpqYzNZalJjSWx3aUxGd2lYQ0p6YUc5M1VHOXBiblJ6WENKY0lqcGNJbHdpY0c5cGJuUnpYQ0pjSWl4Y0lsd2ljR0Z5WVcxbGRHVnljMXdpWENJNld6UXVORE14TkRZd056VXpNVEF6TXprNExDQXlMakUyT1RFME9UZzNPVGt5TkRZM05EVXNJRFV1TWpZMk5EUTFOVGszTVRBeU56YzBMQ0F3TGpjNE1qVTNOakk0TWpjd01UYzVNalpkTEZ3aVhDSndiMmx1ZEhOY0lsd2lPbHQ3WENKY0luaGNJbHdpT2pBdU1UQXdNREF3TURBeE5Ea3dNVEUyTVRJc1hDSmNJbmxjSWx3aU9qUXVOelV4TURnek9EVXdPRFl3TlRrMmZTeDdYQ0pjSW5oY0lsd2lPakF1TmpBd01EQXdNREl6T0RReE9EVTNPU3hjSWx3aWVWd2lYQ0k2TkM0eU1ETXdNREF3TmpnMk5qUTFOVEY5TEh0Y0lsd2llRndpWENJNk1TNHhNREF3TURBd01qTTROREU0TlRnc1hDSmNJbmxjSWx3aU9qUXVOREUxT0RVNE56UTFOVGMwT1RVeGZTeDdYQ0pjSW5oY0lsd2lPakV1TmpBd01EQXdNREl6T0RReE9EVTRMRndpWENKNVhDSmNJam8wTGpZNE5ERTBNekEyTmpRd05qSTFmU3g3WENKY0luaGNJbHdpT2pJdU1EazVPVGs1T1RBME5qTXlOVFk0TkN4Y0lsd2llVndpWENJNk5DNHhPVGcwTURBNU56UXlOek0yT0RKOUxIdGNJbHdpZUZ3aVhDSTZNaTQxT1RrNU9UazVNRFEyTXpJMU5qZzBMRndpWENKNVhDSmNJam8wTGpFM09USXlNakV3Tmprek16VTVOSDBzZTF3aVhDSjRYQ0pjSWpvekxqQTVPVGs1T1Rrd05EWXpNalUyT0RRc1hDSmNJbmxjSWx3aU9qUXVOak00TkRjek9UZzNOVGM1TXpRMmZTeDdYQ0pjSW5oY0lsd2lPak11TlRrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TkM0M01EZzFOVE16TVRReU1EZzVPRFI5TEh0Y0lsd2llRndpWENJNk5DNHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qUXVNamt4TlRnNU1qWXdNVEF4TXpFNGZTeDdYQ0pjSW5oY0lsd2lPalF1TlRrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam8wTGpBek9EQTRNalU1T1RZek9UZzVNMzBzZTF3aVhDSjRYQ0pjSWpvMUxqQTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk15NDBNelE1T1RNNU9ESXpNVFV3TmpNMWZTeDdYQ0pjSW5oY0lsd2lPalV1TlRrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam94TGpJeE9UUTNNRGcxT0RVM016a3hNelo5TEh0Y0lsd2llRndpWENJNk5pNHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qRXVNVGt5TURnek1USXdNelEyTURZNU0zMHNlMXdpWENKNFhDSmNJam8yTGpVNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TUM0MU16VXlOak0xT1RjNU5qVXlOREExZlN4N1hDSmNJbmhjSWx3aU9qY3VNRGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3dMak16TkRZNU1qQXpNVEUwTlRBNU5UaDlYWDBzZTF3aVhDSnVZVzFsWENKY0lqcGNJbHdpVW5WdU9qSXdNak10TURndE1EaGNJbHdpTEZ3aVhDSm1hWFJNYVc1bFEyOXNiM0pjSWx3aU9sd2lYQ0lqWm1aaVlqYzRYQ0pjSWl4Y0lsd2ljRzlwYm5SRGIyeHZjbHdpWENJNlhDSmNJaU5tWm1KaU56aGNJbHdpTEZ3aVhDSnphRzkzVUc5cGJuUnpYQ0pjSWpwY0lsd2ljRzlwYm5SelhDSmNJaXhjSWx3aWNHRnlZVzFsZEdWeWMxd2lYQ0k2V3pJdU16TTVORFU0TURFM09UY3dNVEkyTENBdE1TNHdOek0wTVRnME16RXdNVGN4TVRjNExDQTBMamMwTmpNek1qazFNRFUxTURrek5Dd2dNQzR5TkRneU5ERTJPRFUzTlRrMU5qVTRYU3hjSWx3aWNHOXBiblJ6WENKY0lqcGJlMXdpWENKNFhDSmNJam93TGpFd01EQXdNREF3TVRRNU1ERXhOakV5TEZ3aVhDSjVYQ0pjSWpvd0xqSXhNemt6TXpjMk5UZzRPREl4TkRGOUxIdGNJbHdpZUZ3aVhDSTZNQzQyTURBd01EQXdNak00TkRFNE5UYzVMRndpWENKNVhDSmNJam93TGpReU5qazFOakl3TmpVMk1ERXpORGw5TEh0Y0lsd2llRndpWENJNk1TNHhNREF3TURBd01qTTROREU0TlRnc1hDSmNJbmxjSWx3aU9qQXVNalEwTVRVM016STVNakF4TmprNE0zMHNlMXdpWENKNFhDSmNJam94TGpZd01EQXdNREF5TXpnME1UZzFPQ3hjSWx3aWVWd2lYQ0k2TUM0eE5EWTJNelU1TmpRMU1USTRNalY5TEh0Y0lsd2llRndpWENJNk1pNHdPVGs1T1RrNU1EUTJNekkxTmpnMExGd2lYQ0o1WENKY0lqb3dMakE0T0RFNE5EWXlORGt4TURNMU5EWXhmU3g3WENKY0luaGNJbHdpT2pJdU5UazVPVGs1T1RBME5qTXlOVFk0TkN4Y0lsd2llVndpWENJNk1DNHlOVFl3TmpVMk5qWTJOelUxTmpjMmZTeDdYQ0pjSW5oY0lsd2lPak11TURrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TUM0ME1qUXpOREEwTlRZM01qUXhOalk0TjMwc2Uxd2lYQ0o0WENKY0lqb3pMalU1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPakF1TXpjeE1URXlNekUyT0RRMk9EUTNOVE45TEh0Y0lsd2llRndpWENJNk5DNHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qQXVOVFU0TVRjek56RTJNRFk0TWpZM09IMHNlMXdpWENKNFhDSmNJam8wTGpVNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TVM0eE9ETTFPVEF3TlRRMU1USXdNalI5TEh0Y0lsd2llRndpWENJNk5TNHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qRXVOVFl5T1RnME16UTNNelF6TkRRME9IMHNlMXdpWENKNFhDSmNJam8xTGpVNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TWk0ek1qRXhNamc0TkRVeU1UUTRORE00ZlN4N1hDSmNJbmhjSWx3aU9qWXVNRGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3lMakl5T1RrMk1UWXpNelk0TWpJMU1YMHNlMXdpWENKNFhDSmNJam8yTGpVNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TWk0eU5UWXdNakkyT1RFM01qWTJPRFEyZlN4N1hDSmNJbmhjSWx3aU9qY3VNRGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3lMakl4TkRJek9UZ3pOVGN6T1RFek5UZDlYWDFkTEZ3aVhDSmphR0Z5ZEU5d2RHbHZibk5jSWx3aU9udGNJbHdpZUVGNGFYTk9ZVzFsWENKY0lqcGNJbHdpUTI5dVl5NWNJbHdpTEZ3aVhDSjVRWGhwYzA1aGJXVmNJbHdpT2x3aVhDSkJZM1JwZG1sMGVWd2lYQ0lzWENKY0luUnBkR3hsWENKY0lqcGNJbHdpUkc5elpTMVNaWE53YjI1elpTQmpkWEoyWlhOY0lsd2lmWDFjSWl4MFpYaDBMQ3hjYmtOaGJXVnliMjl1TEUxSlJWWkdURVpIU1ZaTVIweEpVRWxVVEVGSFRFWldWRUZaVEZGWlVsSkhSRkZNUkV3c1EwOWpNV05qWXpKall5aGpZMk15WXpFcFF5aERLVU1vUFU4cFQwTkRRMk16WTJOamJtTXpMREUwT0RBd01UWXNNell1TWpZd09UVTVOakkxTWpRME1UUXNPVGsxTVRVek5UazJMRE13TFRVMklGZElTVlJGVTFSUFRrVWdSVmhRV1N4b2RIUndjem92TDJSaGRHRm5jbTlyTG1GcEwybHRaeTl6Ykdsa1pYTXZZV05qWlhOekxXUmlMV052Ym01bFkzUXVjRzVuTEdsa0xFVnljbTl5VFdWemMyRm5aU3hjSWtOUFRWQk9SQ0JjYmtGVVQwMGdYRzVGVGtSY0lpeG1iR0ZuTERNc015d3lRa1JLTERNc01TNHlNeXc4WTJoaGNuUStQQzlqYUdGeWRENHNYQ0o3WENKY0luTmxjbWxsYzF3aVhDSTZXM3RjSWx3aWJtRnRaVndpWENJNlhDSmNJbEoxYmpveU1ESXpMVEE0TFRBNFhDSmNJaXhjSWx3aVptbDBSblZ1WTNScGIyNWNJbHdpT2x3aVhDSnphV2R0YjJsa1hDSmNJaXhjSWx3aVptbDBUR2x1WlVOdmJHOXlYQ0pjSWpwY0lsd2lJekZtTnpkaU5Gd2lYQ0lzWENKY0luQnZhVzUwUTI5c2IzSmNJbHdpT2x3aVhDSWpNV1kzTjJJMFhDSmNJaXhjSWx3aWMyaHZkMUJ2YVc1MGMxd2lYQ0k2WENKY0luQnZhVzUwYzF3aVhDSXNYQ0pjSW5CaGNtRnRaWFJsY25OY0lsd2lPbHMwTGpZM05qQTJOVEkxTnpnMk5ESXpNalVzSURBdU9UQTBOamsxTmpNeU1EYzFOamN3TXl3Z05TNDJOVEUwTURnNU56RTROVFkzTXpnc0lEQXVNRGMzTXpnNE5EWXdNVEl4T0RReE9EVmRMRndpWENKd2IybHVkSE5jSWx3aU9sdDdYQ0pjSW5oY0lsd2lPakF1TVRBd01EQXdNREF4TkRrd01URTJNVElzWENKY0lubGNJbHdpT2pRdU16STBNalUxT1RRek1qazRNelI5TEh0Y0lsd2llRndpWENJNk1DNDJNREF3TURBd01qTTROREU0TlRjNUxGd2lYQ0o1WENKY0lqbzBMalkyT0RRME1qSTBPVEk1T0RBNU5uMHNlMXdpWENKNFhDSmNJam94TGpFd01EQXdNREF5TXpnME1UZzFPQ3hjSWx3aWVWd2lYQ0k2TkM0ek56azNPRFV3TmpBNE9ESTFOamg5TEh0Y0lsd2llRndpWENJNk1TNDJNREF3TURBd01qTTROREU0TlRnc1hDSmNJbmxjSWx3aU9qVXVNRE0wTlRFek9UVXdNelEzT1gwc2Uxd2lYQ0o0WENKY0lqb3lMakE1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPalF1T0RjNE5qVXpOVEkyTXpBMk1UVXlmU3g3WENKY0luaGNJbHdpT2pJdU5UazVPVGs1T1RBME5qTXlOVFk0TkN4Y0lsd2llVndpWENJNk5DNHpORFV4TXpFek9UY3lORGN6TVRRMWZTeDdYQ0pjSW5oY0lsd2lPak11TURrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TkM0ek16WTVPVEl5TmpNM09UTTVORFY5TEh0Y0lsd2llRndpWENJNk15NDFPVGs1T1RrNU1EUTJNekkxTmpnMExGd2lYQ0o1WENKY0lqbzFMakF6TnpRek1ESTROalF3TnpRM01YMHNlMXdpWENKNFhDSmNJam8wTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TlM0d01Ea3lOamt5TXpjMU1UZ3pNVEExZlN4N1hDSmNJbmhjSWx3aU9qUXVOVGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqbzBMakUxTVRrd01qWTNOVFl5T0RZMk1uMHNlMXdpWENKNFhDSmNJam8xTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TXk0ME1EWTJPVFV4TWpjME9EY3hPREkyZlN4N1hDSmNJbmhjSWx3aU9qVXVOVGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3lMak0zTXpJM05UazVOVEkxTkRVeE5qWjlMSHRjSWx3aWVGd2lYQ0k2Tmk0d09UazVPVGs1TURRMk16STFOamdzWENKY0lubGNJbHdpT2pFdU5qY3pOekk0TVRBNE5EQTJNRFkzZlN4N1hDSmNJbmhjSWx3aU9qWXVOVGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3dMalE0TlRjME56a3dNelU0TlRRek16azJmU3g3WENKY0luaGNJbHdpT2pjdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvd0xqSTNPRE13TlRJek1qVXlORGczTVRoOVhYMHNlMXdpWENKdVlXMWxYQ0pjSWpwY0lsd2lVblZ1T2pJd01qTXRNRGd0TURoY0lsd2lMRndpWENKbWFYUk1hVzVsUTI5c2IzSmNJbHdpT2x3aVhDSWpabVppWWpjNFhDSmNJaXhjSWx3aWNHOXBiblJEYjJ4dmNsd2lYQ0k2WENKY0lpTm1abUppTnpoY0lsd2lMRndpWENKemFHOTNVRzlwYm5SelhDSmNJanBjSWx3aWNHOXBiblJ6WENKY0lpeGNJbHdpY0dGeVlXMWxkR1Z5YzF3aVhDSTZXekl1T1RNNE16azFPRFl6TURFd01URXhMQ0F0TVM0ME5qVTRORGd3TmpZeE16a3lNVEUzTENBMUxqUTJNamN3TWpjMU1UazVOalU0TkN3Z01DNHpORGN6TVRNNU1ESXpOakUxTURNNVhTeGNJbHdpY0c5cGJuUnpYQ0pjSWpwYmUxd2lYQ0o0WENKY0lqb3dMakV3TURBd01EQXdNVFE1TURFeE5qRXlMRndpWENKNVhDSmNJam93TGpRNU5ERTNNVEE0TWprM016UTRNREo5TEh0Y0lsd2llRndpWENJNk1DNDJNREF3TURBd01qTTROREU0TlRjNUxGd2lYQ0o1WENKY0lqb3dMakUxTXpJek9UYzBNVGt5TVRReU5EZzNmU3g3WENKY0luaGNJbHdpT2pFdU1UQXdNREF3TURJek9EUXhPRFU0TEZ3aVhDSjVYQ0pjSWpvd0xqUTJNemN6TkRNeU9EYzBOamM1TlRZMWZTeDdYQ0pjSW5oY0lsd2lPakV1TmpBd01EQXdNREl6T0RReE9EVTRMRndpWENKNVhDSmNJam93TGpNek56QTBNekV6TmpNMU9ESTJNVEY5TEh0Y0lsd2llRndpWENJNk1pNHdPVGs1T1RrNU1EUTJNekkxTmpnMExGd2lYQ0o1WENKY0lqb3dMalV4Tnprd016QXlPVGt4T0RZM01EZDlMSHRjSWx3aWVGd2lYQ0k2TWk0MU9UazVPVGs1TURRMk16STFOamcwTEZ3aVhDSjVYQ0pjSWpvd0xqSTNPRGs1TnpZMU9UWTRNekl5TnpVMGZTeDdYQ0pjSW5oY0lsd2lPak11TURrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TUM0eU1qQTNOVEEyTkRRNE1ETXdORGN4T0gwc2Uxd2lYQ0o0WENKY0lqb3pMalU1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPakF1TlRjNE9Ua3hPRGc1T1RVek5qRXpNMzBzZTF3aVhDSjRYQ0pjSWpvMExqQTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk1DNHlNVEUyT1RreE1UTXlORGszTnpnM05YMHNlMXdpWENKNFhDSmNJam8wTGpVNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TUM0eU56ZzFOelkwTmpNME5qQTVNakl5Tkgwc2Uxd2lYQ0o0WENKY0lqbzFMakE1T1RrNU9Ua3dORFl6TWpVMk9DeGNJbHdpZVZ3aVhDSTZNUzR3T1RBMk16TXlOek14TWpRMk9UUTRmU3g3WENKY0luaGNJbHdpT2pVdU5UazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpveExqZzFNakF6TURBek9EZ3pNell4T0RKOUxIdGNJbHdpZUZ3aVhDSTZOaTR3T1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakl1TnpFM056QTFPVFkxTURReU1URTBNMzBzZTF3aVhDSjRYQ0pjSWpvMkxqVTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk1pNDROamd3T1RFNE1qRTJOekExTXpJeWZTeDdYQ0pjSW5oY0lsd2lPamN1TURrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam96TGpJME1UTXdOemN6TlRRME16RXhOVEo5WFgxZExGd2lYQ0pqYUdGeWRFOXdkR2x2Ym5OY0lsd2lPbnRjSWx3aWVFRjRhWE5PWVcxbFhDSmNJanBjSWx3aVEyOXVZeTVjSWx3aUxGd2lYQ0o1UVhocGMwNWhiV1ZjSWx3aU9sd2lYQ0pCWTNScGRtbDBlVndpWENJc1hDSmNJblJwZEd4bFhDSmNJanBjSWx3aVJHOXpaUzFTWlhOd2IyNXpaU0JqZFhKMlpYTmNJbHdpZlgxY0lpeDBaWGgwTEN4Y2JrTmhibUZrWVN4TlRVVk1Wa3hMVkVsSlIxQkpWbFpIVmxaTVVrbFdSRXRYVEU1TFJFc3NRME1vUXlnOVR5bE9RME5US1dNeFkyTmpZeWhqTVNsREtEMVBLV015WTJOalkyTXlMREUwT0RBd01UY3NNell1TWpZd09UVTVOakkxTWpRME1UUXNPVGsxTVRVc016QXROVFlnVjBoSlZFVlRWRTlPUlNCRldGQlpMR2gwZEhCek9pOHZaR0YwWVdkeWIyc3VZV2t2YVcxbkwzTnNhV1JsY3k5aFkyTmxjM010WkdJdFkyOXVibVZqZEM1d2JtY3NhV1FzUlhKeWIzSk5aWE56WVdkbExGd2lRMDlOVUU1RUlGeHVRVlJQVFNCY2JrVk9SRndpTEdac1lXY3NOQ3cwTERGSlFVNHNOQ3d4TGpJekxEeGphR0Z5ZEQ0OEwyTm9ZWEowUGl4Y0ludGNJbHdpYzJWeWFXVnpYQ0pjSWpwYmUxd2lYQ0p1WVcxbFhDSmNJanBjSWx3aVVuVnVPakl3TWpNdE1EZ3RNRGhjSWx3aUxGd2lYQ0ptYVhSR2RXNWpkR2x2Ymx3aVhDSTZYQ0pjSW5OcFoyMXZhV1JjSWx3aUxGd2lYQ0ptYVhSTWFXNWxRMjlzYjNKY0lsd2lPbHdpWENJak1XWTNOMkkwWENKY0lpeGNJbHdpY0c5cGJuUkRiMnh2Y2x3aVhDSTZYQ0pjSWlNeFpqYzNZalJjSWx3aUxGd2lYQ0p6YUc5M1VHOXBiblJ6WENKY0lqcGNJbHdpY0c5cGJuUnpYQ0pjSWl4Y0lsd2ljR0Z5WVcxbGRHVnljMXdpWENJNld6QXVPRFU1TnpNNU1EazNOVFF6TURBd09Dd2dNUzR3T1RVM05qSTFOek15TkRneE9UUTJMQ0ExTGpJMk1EVXpOekEyTnprNE56azFPQ3dnTUM0d056azNOREU0TnprNU9ERTNOemN6Tmwwc1hDSmNJbkJ2YVc1MGMxd2lYQ0k2VzN0Y0lsd2llRndpWENJNk1DNHhNREF3TURBd01ERTBPVEF4TVRZeE1peGNJbHdpZVZ3aVhDSTZNQzQ0TVRrd01UVXlOalExTVRFeE1EZzBmU3g3WENKY0luaGNJbHdpT2pBdU5qQXdNREF3TURJek9EUXhPRFUzT1N4Y0lsd2llVndpWENJNk1DNDROREl4TmpnNU9EWTNPVGN6TXpJNGZTeDdYQ0pjSW5oY0lsd2lPakV1TVRBd01EQXdNREl6T0RReE9EVTRMRndpWENKNVhDSmNJam93TGpnM05EQTVNakl5TVRJMk1EQTNNRGg5TEh0Y0lsd2llRndpWENJNk1TNDJNREF3TURBd01qTTROREU0TlRnc1hDSmNJbmxjSWx3aU9qQXVPRGt5TkRJM05UQTBNRFl5TmpVeU5uMHNlMXdpWENKNFhDSmNJam95TGpBNU9UazVPVGt3TkRZek1qVTJPRFFzWENKY0lubGNJbHdpT2pBdU9ESTBPVEEyTnpZMk5ERTBOalF5TTMwc2Uxd2lYQ0o0WENKY0lqb3lMalU1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPakF1T1RNeU56WTJPVEUwTXpZM05qYzFPSDBzZTF3aVhDSjRYQ0pjSWpvekxqQTVPVGs1T1Rrd05EWXpNalUyT0RRc1hDSmNJbmxjSWx3aU9qQXVPRFV5TWprM05ESTFNamN3TURnd05uMHNlMXdpWENKNFhDSmNJam96TGpVNU9UazVPVGt3TkRZek1qVTJPRFFzWENKY0lubGNJbHdpT2pBdU9ERTNORFE1TWpjeE5qYzRPVEkwTm4wc2Uxd2lYQ0o0WENKY0lqbzBMakE1T1RrNU9Ua3dORFl6TWpVMk9DeGNJbHdpZVZ3aVhDSTZNQzQ0TXprME5qUTNNalF3TmpNNE56TXpmU3g3WENKY0luaGNJbHdpT2pRdU5UazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvd0xqY3hNemt6T0RjM01qWTNPRE0zTlRKOUxIdGNJbHdpZUZ3aVhDSTZOUzR3T1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakF1TlRVMk1URTJOelU1TnpjM01EWTVNWDBzZTF3aVhDSjRYQ0pjSWpvMUxqVTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk1DNHpNamMyTWpJMk9ERTROVFl4TlRVMGZTeDdYQ0pjSW5oY0lsd2lPall1TURrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam93TGpFeU5EYzVORGMwTXprMU5URXpOVE0xZlN4N1hDSmNJbmhjSWx3aU9qWXVOVGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3dMakV6TURBMk56azNORE15T0RrNU5EYzFmU3g3WENKY0luaGNJbHdpT2pjdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvd0xqQTFPVGN3TWpBM09UYzBNekUwTmpnNU5uMWRmU3g3WENKY0ltNWhiV1ZjSWx3aU9sd2lYQ0pTZFc0Nk1qQXlNeTB3T0Mwd09Gd2lYQ0lzWENKY0ltWnBkRXhwYm1WRGIyeHZjbHdpWENJNlhDSmNJaU5tWm1KaU56aGNJbHdpTEZ3aVhDSndiMmx1ZEVOdmJHOXlYQ0pjSWpwY0lsd2lJMlptWW1JM09Gd2lYQ0lzWENKY0luTm9iM2RRYjJsdWRITmNJbHdpT2x3aVhDSndiMmx1ZEhOY0lsd2lMRndpWENKd1lYSmhiV1YwWlhKelhDSmNJanBiTlM0M05qQTVNekF5TVRrMU9ESTFORFlzSURFdU5qVTVNVGM1TXpJNU16Z3pNekF4TXl3Z05DNDJOamN4TlRVNU1qazNNakE0TlRFc0lEQXVOemcxT0RFd09UVTBOREV5TVRZMU1sMHNYQ0pjSW5CdmFXNTBjMXdpWENJNlczdGNJbHdpZUZ3aVhDSTZNQzR4TURBd01EQXdNREUwT1RBeE1UWXhNaXhjSWx3aWVWd2lYQ0k2Tmk0eE5UWTVPVE16T0RreE1qazJNemw5TEh0Y0lsd2llRndpWENJNk1DNDJNREF3TURBd01qTTROREU0TlRjNUxGd2lYQ0o1WENKY0lqbzFMakl6Tmpjd01UazJOVE16TWpBek1YMHNlMXdpWENKNFhDSmNJam94TGpFd01EQXdNREF5TXpnME1UZzFPQ3hjSWx3aWVWd2lYQ0k2Tmk0d01UQTFOakExTVRJMU5ESTNNalY5TEh0Y0lsd2llRndpWENJNk1TNDJNREF3TURBd01qTTROREU0TlRnc1hDSmNJbmxjSWx3aU9qVXVORGsxTlRFeU9UWXlNelF4TXpBNWZTeDdYQ0pjSW5oY0lsd2lPakl1TURrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2Tmk0d09EYzNOekEwTmpJd016WXhNek45TEh0Y0lsd2llRndpWENJNk1pNDFPVGs1T1RrNU1EUTJNekkxTmpnMExGd2lYQ0o1WENKY0lqbzFMamM1T1RnMk5UY3lNalkxTmpJMWZTeDdYQ0pjSW5oY0lsd2lPak11TURrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TlM0MU9UYzFORFkxTnpjME5UTTJNVE45TEh0Y0lsd2llRndpWENJNk15NDFPVGs1T1RrNU1EUTJNekkxTmpnMExGd2lYQ0o1WENKY0lqbzFMalV5TURrd01qRTFOamd5T1Rnek5IMHNlMXdpWENKNFhDSmNJam8wTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TlM0ek5qQTJOVFF6TlRRd09UVTBOVGw5TEh0Y0lsd2llRndpWENJNk5DNDFPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qTXVOVFV6T1RjME5qSTRORFE0TkRnMk0zMHNlMXdpWENKNFhDSmNJam8xTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TVM0MU56Y3lNell5T1RRM05EWXpPVGw5TEh0Y0lsd2llRndpWENJNk5TNDFPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qRXVNREF3TVRJMk5EZ3hNRFUyTWpFek5IMHNlMXdpWENKNFhDSmNJam8yTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TUM0NU16QTFOemszT0RFMU16SXlPRGMyZlN4N1hDSmNJbmhjSWx3aU9qWXVOVGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3dMall3TXpNMk16ZzNNVFUzTkRRd01UbDlMSHRjSWx3aWVGd2lYQ0k2Tnk0d09UazVPVGs1TURRMk16STFOamdzWENKY0lubGNJbHdpT2pBdU5ESXdNelk0TlRVeU1qQTNPVFEyT0gxZGZWMHNYQ0pjSW1Ob1lYSjBUM0IwYVc5dWMxd2lYQ0k2ZTF3aVhDSjRRWGhwYzA1aGJXVmNJbHdpT2x3aVhDSkRiMjVqTGx3aVhDSXNYQ0pjSW5sQmVHbHpUbUZ0WlZ3aVhDSTZYQ0pjSWtGamRHbDJhWFI1WENKY0lpeGNJbHdpZEdsMGJHVmNJbHdpT2x3aVhDSkViM05sTFZKbGMzQnZibk5sSUdOMWNuWmxjMXdpWENKOWZWd2lMSFJsZUhRc0xGeHVRMjlzYjIxaWFXRXNUVVJTVkVSRlZsTk9TRlJJUkV0UVZFeFVWMFpGUlVsR1JVVlpTRk5RUmtoT0xFWkRLRVlwS0VZcFl6RmpZMk1vVDBNeVEwTk9RME15S1dOak1Td3hORGd3TURJNUxETTJMak16TURrME5EQTJNVEkzT1RNc09UazFNVFV5TURVd0xERWdRMDlWVWxRZ1NFOVZVMFVnVTFGVlFWSkZMR2gwZEhCek9pOHZaR0YwWVdkeWIyc3VZV2t2YVcxbkwzTnNhV1JsY3k5aFkyTmxjM010WkdJdFkyOXVibVZqZEM1d2JtY3NhV1FzUlhKeWIzSk5aWE56WVdkbExGd2lRMDlOVUU1RUlGeHVRVlJQVFNCY2JrVk9SRndpTEdac1lXY3NOU3cxTERSVlNqRXNOU3d4TGpJekxEeGphR0Z5ZEQ0OEwyTm9ZWEowUGl4Y0ludGNJbHdpYzJWeWFXVnpYQ0pjSWpwYmUxd2lYQ0p1WVcxbFhDSmNJanBjSWx3aVVuVnVPakl3TWpNdE1EZ3RNRGhjSWx3aUxGd2lYQ0ptYVhSR2RXNWpkR2x2Ymx3aVhDSTZYQ0pjSW5OcFoyMXZhV1JjSWx3aUxGd2lYQ0ptYVhSTWFXNWxRMjlzYjNKY0lsd2lPbHdpWENJak1XWTNOMkkwWENKY0lpeGNJbHdpY0c5cGJuUkRiMnh2Y2x3aVhDSTZYQ0pjSWlNeFpqYzNZalJjSWx3aUxGd2lYQ0p6YUc5M1VHOXBiblJ6WENKY0lqcGNJbHdpY0c5cGJuUnpYQ0pjSWl4Y0lsd2ljR0Z5WVcxbGRHVnljMXdpWENJNld6WXVORGs1TlRBNE9ETXhOREUxTXpZMU5Td2dNaTQwTWpjd016VXhNREEwTlRNNU9URTBMQ0ExTGpFM09EWTFPVFV6TlRNME9EVTNPU3dnTUM0Mk1qVTJOVE16TkRZeU5ERTFOemRkTEZ3aVhDSndiMmx1ZEhOY0lsd2lPbHQ3WENKY0luaGNJbHdpT2pBdU1UQXdNREF3TURBeE5Ea3dNVEUyTVRJc1hDSmNJbmxjSWx3aU9qWXVORGsyTWpNeE5UVTFPVE00TnpJeGZTeDdYQ0pjSW5oY0lsd2lPakF1TmpBd01EQXdNREl6T0RReE9EVTNPU3hjSWx3aWVWd2lYQ0k2Tmk0ME1qVTBNek0yTXpVM01URTJOMzBzZTF3aVhDSjRYQ0pjSWpveExqRXdNREF3TURBeU16ZzBNVGcxT0N4Y0lsd2llVndpWENJNk55NHdOREF3TmpNNE5UZ3dNekl5TWpkOUxIdGNJbHdpZUZ3aVhDSTZNUzQyTURBd01EQXdNak00TkRFNE5UZ3NYQ0pjSW5sY0lsd2lPall1TVRFeE5UUXdNekUzTlRNMU5IMHNlMXdpWENKNFhDSmNJam95TGpBNU9UazVPVGt3TkRZek1qVTJPRFFzWENKY0lubGNJbHdpT2pZdU5qZ3dOekk0TkRNMU5URTJNelUzZlN4N1hDSmNJbmhjSWx3aU9qSXVOVGs1T1RrNU9UQTBOak15TlRZNE5DeGNJbHdpZVZ3aVhDSTZOaTQwTURZM056UTFNakE0TnpRd01qTjlMSHRjSWx3aWVGd2lYQ0k2TXk0d09UazVPVGs1TURRMk16STFOamcwTEZ3aVhDSjVYQ0pjSWpvMkxqWXhNVEkyT1RRM05EQXlPVFUwTVgwc2Uxd2lYQ0o0WENKY0lqb3pMalU1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPalV1T0RnNU1EazBNelV5TnpJeU1UWTRmU3g3WENKY0luaGNJbHdpT2pRdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvMkxqYzFNelEwTnpBMU5UZ3hOalkxZlN4N1hDSmNJbmhjSWx3aU9qUXVOVGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqbzJMak0yTVRRek5UZzVNREU1TnpjMU5IMHNlMXdpWENKNFhDSmNJam8xTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TkM0eE5qWTJPVGMxTURJeE16WXlNekExZlN4N1hDSmNJbmhjSWx3aU9qVXVOVGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3hMakUzTWpFeE9Ea3dNakl3TmpReU1YMHNlMXdpWENKNFhDSmNJam8yTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TUM0NE1ERXdORGc1T1RRd05qUXpNekY5TEh0Y0lsd2llRndpWENJNk5pNDFPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qQXVORFkwTURBeU1UQXlOakV6TkRRNU1YMHNlMXdpWENKNFhDSmNJam8zTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TUM0d01ERXdNelUzTmpZM09USTBPRE0yTWpjNGZWMTlMSHRjSWx3aWJtRnRaVndpWENJNlhDSmNJbEoxYmpveU1ESXpMVEE0TFRBNFhDSmNJaXhjSWx3aVptbDBUR2x1WlVOdmJHOXlYQ0pjSWpwY0lsd2lJMlptWW1JM09Gd2lYQ0lzWENKY0luQnZhVzUwUTI5c2IzSmNJbHdpT2x3aVhDSWpabVppWWpjNFhDSmNJaXhjSWx3aWMyaHZkMUJ2YVc1MGMxd2lYQ0k2WENKY0luQnZhVzUwYzF3aVhDSXNYQ0pjSW5CaGNtRnRaWFJsY25OY0lsd2lPbHN4TGpRM016UXpPREV6TkRjME5EWTBNREVzSURFdU1UWTBPVGd3TlRFNE9EQTNOREU1Tml3Z05DNDRNamsxT0RZd09EZzJOalF5TVN3Z01DNHdPVFV3TURVME5UUTVOamN4TURBd04xMHNYQ0pjSW5CdmFXNTBjMXdpWENJNlczdGNJbHdpZUZ3aVhDSTZNQzR4TURBd01EQXdNREUwT1RBeE1UWXhNaXhjSWx3aWVWd2lYQ0k2TVM0MU1qYzVNRGsyTXpZME9UYzBPVGMyZlN4N1hDSmNJbmhjSWx3aU9qQXVOakF3TURBd01ESXpPRFF4T0RVM09TeGNJbHdpZVZ3aVhDSTZNUzR6TlRVNU9UYzBORE14T1RreE5UYzNmU3g3WENKY0luaGNJbHdpT2pFdU1UQXdNREF3TURJek9EUXhPRFU0TEZ3aVhDSjVYQ0pjSWpveExqVXlORFl6TnpneE9ETXpOalE0TmpoOUxIdGNJbHdpZUZ3aVhDSTZNUzQyTURBd01EQXdNak00TkRFNE5UZ3NYQ0pjSW5sY0lsd2lPakV1TlRVMk56WTFOemswTnpVME1ESTRNMzBzZTF3aVhDSjRYQ0pjSWpveUxqQTVPVGs1T1Rrd05EWXpNalUyT0RRc1hDSmNJbmxjSWx3aU9qRXVOREV4TkRJME1EUXdOemswTXpjeU5uMHNlMXdpWENKNFhDSmNJam95TGpVNU9UazVPVGt3TkRZek1qVTJPRFFzWENKY0lubGNJbHdpT2pFdU5EQTBOVEF4TURnd05URXpNREF3Tlgwc2Uxd2lYQ0o0WENKY0lqb3pMakE1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPakV1TkRjMk9UZ3lPVFV4TVRZME1qUTFObjBzZTF3aVhDSjRYQ0pjSWpvekxqVTVPVGs1T1Rrd05EWXpNalUyT0RRc1hDSmNJbmxjSWx3aU9qRXVORGczTlRVd01ESXdNakUzT0RrMU5YMHNlMXdpWENKNFhDSmNJam8wTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TVM0eU9Ua3hPVGczTkRZMk9ERXlNVE0wZlN4N1hDSmNJbmhjSWx3aU9qUXVOVGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3dMamt5TWprMk1UUXhNemcyTURNeU1YMHNlMXdpWENKNFhDSmNJam8xTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TUM0Mk5USXdNRFEwT0RBek5qRTVNemcxZlN4N1hDSmNJbmhjSWx3aU9qVXVOVGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3dMakUxTXpVd09UYzRNRGMyTkRVM09UYzNmU3g3WENKY0luaGNJbHdpT2pZdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvd0xqRXdOemc1TURNd056a3dNekk0T1RoOUxIdGNJbHdpZUZ3aVhDSTZOaTQxT1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakF1TVRjeU56WTBORGsxTURFMU1UUTBNelY5TEh0Y0lsd2llRndpWENJNk55NHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qQXVNVFF3TmpZMk1EZ3lOVEF4TkRFeE5EUjlYWDFkTEZ3aVhDSmphR0Z5ZEU5d2RHbHZibk5jSWx3aU9udGNJbHdpZUVGNGFYTk9ZVzFsWENKY0lqcGNJbHdpUTI5dVl5NWNJbHdpTEZ3aVhDSjVRWGhwYzA1aGJXVmNJbHdpT2x3aVhDSkJZM1JwZG1sMGVWd2lYQ0lzWENKY0luUnBkR3hsWENKY0lqcGNJbHdpUkc5elpTMVNaWE53YjI1elpTQmpkWEoyWlhOY0lsd2lmWDFjSWl4MFpYaDBMQ3hjYmtOdmMzUmhJRkpwWTJFc1RVdFRWRXRGUlVsUlZFbExWRXhNUzBSVFVsUkJTMWxJUzFKTVVVbFdUQ3hEUXloREtVTmpNV05qWXloall6RXBReWhES1VNb1BVOHBUakpEUTBORE1rTW9QVThwVDBORFEyTXpZMk5qWTJNekxERTBPREF3TVRnc016WXVNek13T1RRME1EWXhNamM1TXl3NU9UVXdPRFF5TVRnc05EQTBNU0JUVDFWVVNGZEZVMVJGVWs0Z1FreFdSQ3hvZEhSd2N6b3ZMMlJoZEdGbmNtOXJMbUZwTDJsdFp5OXpiR2xrWlhNdllXTmpaWE56TFdSaUxXTnZibTVsWTNRdWNHNW5MR2xrTEVWeWNtOXlUV1Z6YzJGblpTeGNJa05QVFZCT1JDQmNia0ZVVDAwZ1hHNUZUa1JjSWl4bWJHRm5MRFlzTml3eVFsQlhMRFlzTVM0eU15dzhZMmhoY25RK1BDOWphR0Z5ZEQ0c1hDSjdYQ0pjSW5ObGNtbGxjMXdpWENJNlczdGNJbHdpYm1GdFpWd2lYQ0k2WENKY0lsSjFiam95TURJekxUQTRMVEE0WENKY0lpeGNJbHdpWm1sMFJuVnVZM1JwYjI1Y0lsd2lPbHdpWENKemFXZHRiMmxrWENKY0lpeGNJbHdpWm1sMFRHbHVaVU52Ykc5eVhDSmNJanBjSWx3aUl6Rm1OemRpTkZ3aVhDSXNYQ0pjSW5CdmFXNTBRMjlzYjNKY0lsd2lPbHdpWENJak1XWTNOMkkwWENKY0lpeGNJbHdpYzJodmQxQnZhVzUwYzF3aVhDSTZYQ0pjSW5CdmFXNTBjMXdpWENJc1hDSmNJbkJoY21GdFpYUmxjbk5jSWx3aU9sc3lMalE0TXpNMk5ERTRORE16TVRFeU1qY3NJQzB4TGpnNU5EVTVOemczTkRJd09UQXdOaklzSURRdU5qY3hNVEkzTnpBNE1Ea3lOVFk0TENBd0xqSTBNVFU1T0RZeE16RXhPREUxTVRVelhTeGNJbHdpY0c5cGJuUnpYQ0pjSWpwYmUxd2lYQ0o0WENKY0lqb3dMakV3TURBd01EQXdNVFE1TURFeE5qRXlMRndpWENKNVhDSmNJam93TGpBNU5qazFNalF4TmpBd01qYzFNRFI5TEh0Y0lsd2llRndpWENJNk1DNDJNREF3TURBd01qTTROREU0TlRjNUxGd2lYQ0o1WENKY0lqb3dMakF5T0RRNE16QTBNRFl6TURneE56UXhNMzBzZTF3aVhDSjRYQ0pjSWpveExqRXdNREF3TURBeU16ZzBNVGcxT0N4Y0lsd2llVndpWENJNk1DNHlNakE0TnpFM05qRTBOREV5TXpBM04zMHNlMXdpWENKNFhDSmNJam94TGpZd01EQXdNREF5TXpnME1UZzFPQ3hjSWx3aWVWd2lYQ0k2TUM0d01EWTRPVEUxTlRRMk9EY3hOekl4TnpRMWZTeDdYQ0pjSW5oY0lsd2lPakl1TURrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TUM0ME16QTFPRGM1TnpjeE56QTVORFF5ZlN4N1hDSmNJbmhjSWx3aU9qSXVOVGs1T1RrNU9UQTBOak15TlRZNE5DeGNJbHdpZVZ3aVhDSTZNQzQwTkRjM05ERXhOVEE0TlRZd01UZ3dOMzBzZTF3aVhDSjRYQ0pjSWpvekxqQTVPVGs1T1Rrd05EWXpNalUyT0RRc1hDSmNJbmxjSWx3aU9qQXVORFV6TkRZek1UazJOelUwTkRVMU5UZDlMSHRjSWx3aWVGd2lYQ0k2TXk0MU9UazVPVGs1TURRMk16STFOamcwTEZ3aVhDSjVYQ0pjSWpvd0xqSXpOekExT1RNeE1EQTNPRFl5TURsOUxIdGNJbHdpZUZ3aVhDSTZOQzR3T1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakF1TkRZMU56azFNemszTnpVNE5EZ3pPWDBzZTF3aVhDSjRYQ0pjSWpvMExqVTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk1TNHhOVFV5TURBM01UazRNek16TnpSOUxIdGNJbHdpZUZ3aVhDSTZOUzR3T1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakl1TWpJNU5EQTNNRGN5TURZM01qWXdOMzBzZTF3aVhDSjRYQ0pjSWpvMUxqVTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk1pNDBNekV4TlRNd05Ua3dNRFUzTXpjemZTeDdYQ0pjSW5oY0lsd2lPall1TURrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam95TGpNek9EUTJNVEUyTURZMU9UYzVmU3g3WENKY0luaGNJbHdpT2pZdU5UazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpveUxqWXdPREl3TVRBeU5qa3hOalV3Tkgwc2Uxd2lYQ0o0WENKY0lqbzNMakE1T1RrNU9Ua3dORFl6TWpVMk9DeGNJbHdpZVZ3aVhDSTZNaTQ0TVRNMk1UUXpOamcwTXpnM01qQTNmVjE5TEh0Y0lsd2libUZ0WlZ3aVhDSTZYQ0pjSWxKMWJqb3lNREl6TFRBNExUQTRYQ0pjSWl4Y0lsd2labWwwVEdsdVpVTnZiRzl5WENKY0lqcGNJbHdpSTJabVltSTNPRndpWENJc1hDSmNJbkJ2YVc1MFEyOXNiM0pjSWx3aU9sd2lYQ0lqWm1aaVlqYzRYQ0pjSWl4Y0lsd2ljMmh2ZDFCdmFXNTBjMXdpWENJNlhDSmNJbkJ2YVc1MGMxd2lYQ0lzWENKY0luQmhjbUZ0WlhSbGNuTmNJbHdpT2xzMUxqSXlORFUzTXpVeU1UWTBNakF6TXl3Z01TNDBORFUwTURNek9USTBNVGs0TlRJNExDQTFMall3TVRReE9UYzNORFl3TnpZMU16VXNJREF1TWpneU16SXhOakExTkRFNU56VTNOMTBzWENKY0luQnZhVzUwYzF3aVhDSTZXM3RjSWx3aWVGd2lYQ0k2TUM0eE1EQXdNREF3TURFME9UQXhNVFl4TWl4Y0lsd2llVndpWENJNk5DNDVOVEF5TnpRNU5EUXpNRFUwTW4wc2Uxd2lYQ0o0WENKY0lqb3dMall3TURBd01EQXlNemcwTVRnMU56a3NYQ0pjSW5sY0lsd2lPalV1TVRjMU5EWTNPVFkzT1RnM01EWXdOWDBzZTF3aVhDSjRYQ0pjSWpveExqRXdNREF3TURBeU16ZzBNVGcxT0N4Y0lsd2llVndpWENJNk5TNHlOelkzTlRJNU5EZzNOakE1T0RaOUxIdGNJbHdpZUZ3aVhDSTZNUzQyTURBd01EQXdNak00TkRFNE5UZ3NYQ0pjSW5sY0lsd2lPalV1TlRnNU1qazBPVEV3TkRNd09UQTRmU3g3WENKY0luaGNJbHdpT2pJdU1EazVPVGs1T1RBME5qTXlOVFk0TkN4Y0lsd2llVndpWENJNk5TNDJNVFk1T1RRNE5UYzNPRGd3T0RaOUxIdGNJbHdpZUZ3aVhDSTZNaTQxT1RrNU9UazVNRFEyTXpJMU5qZzBMRndpWENKNVhDSmNJam8xTGpFeU1EZ3hNemcwTmpVNE9ERXpOWDBzZTF3aVhDSjRYQ0pjSWpvekxqQTVPVGs1T1Rrd05EWXpNalUyT0RRc1hDSmNJbmxjSWx3aU9qVXVNelF3TnpZMk9UQTJOek00TWpneGZTeDdYQ0pjSW5oY0lsd2lPak11TlRrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TkM0NE56WTBOekV3TkRJMk16TXdOVGQ5TEh0Y0lsd2llRndpWENJNk5DNHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qUXVPVFE1T1Rrek5qRXdNemd5TURoOUxIdGNJbHdpZUZ3aVhDSTZOQzQxT1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPalV1TVRZeU5UWTBOelUwTkRnMk1EZzBmU3g3WENKY0luaGNJbHdpT2pVdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvMExqTTVPVFUxTnpVNU1EUTRORFl4T1gwc2Uxd2lYQ0o0WENKY0lqbzFMalU1T1RrNU9Ua3dORFl6TWpVMk9DeGNJbHdpZVZ3aVhDSTZNaTQzT1RjM09UWTVOalEyTkRVek9EVTNmU3g3WENKY0luaGNJbHdpT2pZdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpveExqQXlNams0TnpJME5qVXhNek0yTmpkOUxIdGNJbHdpZUZ3aVhDSTZOaTQxT1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakF1TkRneU56VTJNREU0TmpNNE5qRXdPRFI5TEh0Y0lsd2llRndpWENJNk55NHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qQXVNVEEwTURnNU16RTVOekExT1RZek1UTjlYWDFkTEZ3aVhDSmphR0Z5ZEU5d2RHbHZibk5jSWx3aU9udGNJbHdpZUVGNGFYTk9ZVzFsWENKY0lqcGNJbHdpUTI5dVl5NWNJbHdpTEZ3aVhDSjVRWGhwYzA1aGJXVmNJbHdpT2x3aVhDSkJZM1JwZG1sMGVWd2lYQ0lzWENKY0luUnBkR3hsWENKY0lqcGNJbHdpUkc5elpTMVNaWE53YjI1elpTQmpkWEoyWlhOY0lsd2lmWDFjSWl4MFpYaDBMQ3hjYmtOMVltRXNUVWhCU1V4U1dVWkpVbEpNUmxsSVNVWlpTMGxaVTB4SlUwdExTRkZUVEZCVFJGWlNVVVlzUTA5ak1XTmpZekpqS0dNeEtXTW9RME1vUFU4cFRqTkRRME5ETTBNb1BVOHBUMk0wWTJOaktFTXBZMk0wVDBNcFl5aERLVzR5UXlnOVR5bGpOV05qWXloRGJDbGpZelVzTVRRNE1EQXhPU3d6Tmk0ek16RXhOVGMyT0RRek1qWXhOeXc1T1RVd09ERTVNamdzTVRJeU55QlZVeUJJU1VkSVYwRlpJREV4TEdoMGRIQnpPaTh2WkdGMFlXZHliMnN1WVdrdmFXMW5MM05zYVdSbGN5OWhZMk5sYzNNdFpHSXRZMjl1Ym1WamRDNXdibWNzYVdRc1JYSnliM0pOWlhOellXZGxMRndpUTA5TlVFNUVJRnh1UVZSUFRTQmNia1ZPUkZ3aUxHWnNZV2NzTnl3M0xERlJRbE1zTnl3eExqSXpMRHhqYUdGeWRENDhMMk5vWVhKMFBpeGNJbnRjSWx3aWMyVnlhV1Z6WENKY0lqcGJlMXdpWENKdVlXMWxYQ0pjSWpwY0lsd2lVblZ1T2pJd01qTXRNRGd0TURoY0lsd2lMRndpWENKbWFYUkdkVzVqZEdsdmJsd2lYQ0k2WENKY0luTnBaMjF2YVdSY0lsd2lMRndpWENKbWFYUk1hVzVsUTI5c2IzSmNJbHdpT2x3aVhDSWpNV1kzTjJJMFhDSmNJaXhjSWx3aWNHOXBiblJEYjJ4dmNsd2lYQ0k2WENKY0lpTXhaamMzWWpSY0lsd2lMRndpWENKemFHOTNVRzlwYm5SelhDSmNJanBjSWx3aWNHOXBiblJ6WENKY0lpeGNJbHdpY0dGeVlXMWxkR1Z5YzF3aVhDSTZXek11TXpJd09ETTROamM1TnpFek9USTFMQ0F0TVM0eU5ESXhOakU1T1RnM016RTJOekk0TENBMExqZ3pNVE15TlRReU5USXlOVEkxTml3Z01DNHpNak0yTURFeE1EazROREF6TURjeVhTeGNJbHdpY0c5cGJuUnpYQ0pjSWpwYmUxd2lYQ0o0WENKY0lqb3dMakV3TURBd01EQXdNVFE1TURFeE5qRXlMRndpWENKNVhDSmNJam93TGpNM01qYzBOekF6TXpnek5EUTFOelI5TEh0Y0lsd2llRndpWENJNk1DNDJNREF3TURBd01qTTROREU0TlRjNUxGd2lYQ0o1WENKY0lqb3dMakV5TXpZMU1ERTBNVEEyTURNMU1qTXpmU3g3WENKY0luaGNJbHdpT2pFdU1UQXdNREF3TURJek9EUXhPRFU0TEZ3aVhDSjVYQ0pjSWpvd0xqUTROREl5TkRZM056QTROVGczTmpRMmZTeDdYQ0pjSW5oY0lsd2lPakV1TmpBd01EQXdNREl6T0RReE9EVTRMRndpWENKNVhDSmNJam93TGpJeU5qUTBOalV3T1RNMk1USTJOekY5TEh0Y0lsd2llRndpWENJNk1pNHdPVGs1T1RrNU1EUTJNekkxTmpnMExGd2lYQ0o1WENKY0lqb3dMakUyT0RJeE56azBNakV4T0RZME5EY3hmU3g3WENKY0luaGNJbHdpT2pJdU5UazVPVGs1T1RBME5qTXlOVFk0TkN4Y0lsd2llVndpWENJNk1DNHpPRGM1TURFME5UVXhOak01TlRVM2ZTeDdYQ0pjSW5oY0lsd2lPak11TURrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TUM0MU5EY3dNalEwT0RnME5Ea3dPVFkzZlN4N1hDSmNJbmhjSWx3aU9qTXVOVGs1T1RrNU9UQTBOak15TlRZNE5DeGNJbHdpZVZ3aVhDSTZNQzR6TkRFNU1EVXpOVFUwTlRNME9URXlmU3g3WENKY0luaGNJbHdpT2pRdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvd0xqYzJOVFV4TWpBME9URTVPREUxTURaOUxIdGNJbHdpZUZ3aVhDSTZOQzQxT1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakV1TWpNME5qVXhOamcwTnpZeE1EUTNOSDBzZTF3aVhDSjRYQ0pjSWpvMUxqQTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk1pNDBOVE16TXpZM01UVTJPVGd5TkRKOUxIdGNJbHdpZUZ3aVhDSTZOUzQxT1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakl1T1RVMk5UUTVNVFkzTmpNek1EVTJObjBzZTF3aVhDSjRYQ0pjSWpvMkxqQTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk15NHpNelV5T1RrME9URTRPREl6TWpSOUxIdGNJbHdpZUZ3aVhDSTZOaTQxT1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPak11TWpRd01qa3dPRGd3TWpBek1qUTNmU3g3WENKY0luaGNJbHdpT2pjdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvekxqRXhNRGN5TVRneU5qVTFNek0wTkRkOVhYMHNlMXdpWENKdVlXMWxYQ0pjSWpwY0lsd2lVblZ1T2pJd01qTXRNRGd0TURoY0lsd2lMRndpWENKbWFYUk1hVzVsUTI5c2IzSmNJbHdpT2x3aVhDSWpabVppWWpjNFhDSmNJaXhjSWx3aWNHOXBiblJEYjJ4dmNsd2lYQ0k2WENKY0lpTm1abUppTnpoY0lsd2lMRndpWENKemFHOTNVRzlwYm5SelhDSmNJanBjSWx3aWNHOXBiblJ6WENKY0lpeGNJbHdpY0dGeVlXMWxkR1Z5YzF3aVhDSTZXek11TmpRd01UZzFNelV5TVRVeE1UQTVOQ3dnTVM0eU5qSXhNVFU0T0RnM05UQXhNeXdnTlM0ek9Ua3dNamd3TnpRME1ESTNORFFzSURBdU5UQTRPVFU0TURnek1EQTJPREE1TVYwc1hDSmNJbkJ2YVc1MGMxd2lYQ0k2VzN0Y0lsd2llRndpWENJNk1DNHhNREF3TURBd01ERTBPVEF4TVRZeE1peGNJbHdpZVZ3aVhDSTZNeTQ0TlRnMU5UazRORFk0Tnpnd05URTRmU3g3WENKY0luaGNJbHdpT2pBdU5qQXdNREF3TURJek9EUXhPRFUzT1N4Y0lsd2llVndpWENJNk15NDJNRGMzTWpBMk1UTTBOemsyTVRRemZTeDdYQ0pjSW5oY0lsd2lPakV1TVRBd01EQXdNREl6T0RReE9EVTRMRndpWENKNVhDSmNJam96TGpnMU5USTFNakkyTlRrek1ERTNObjBzZTF3aVhDSjRYQ0pjSWpveExqWXdNREF3TURBeU16ZzBNVGcxT0N4Y0lsd2llVndpWENJNk15NDJNVGt3TXpreU9UY3hNRE00T0RKOUxIdGNJbHdpZUZ3aVhDSTZNaTR3T1RrNU9UazVNRFEyTXpJMU5qZzBMRndpWENKNVhDSmNJam96TGpnek9UTTRPRE0zTURVeE16a3hObjBzZTF3aVhDSjRYQ0pjSWpveUxqVTVPVGs1T1Rrd05EWXpNalUyT0RRc1hDSmNJbmxjSWx3aU9qTXVNek0xTWpnek1EUXhNREF3TXpZMmZTeDdYQ0pjSW5oY0lsd2lPak11TURrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TXk0MU56RXhOREUwT0RFek9UazFNelo5TEh0Y0lsd2llRndpWENJNk15NDFPVGs1T1RrNU1EUTJNekkxTmpnMExGd2lYQ0o1WENKY0lqb3pMalF4TlRVd05EWTVNems0TkRrNE5UUjlMSHRjSWx3aWVGd2lYQ0k2TkM0d09UazVPVGs1TURRMk16STFOamdzWENKY0lubGNJbHdpT2pNdU56TXhOalkwTmpVM05Ua3lOemN6Tkgwc2Uxd2lYQ0o0WENKY0lqbzBMalU1T1RrNU9Ua3dORFl6TWpVMk9DeGNJbHdpZVZ3aVhDSTZNeTR3Tmpnd01UVTFOelUwTURnNU16VTFmU3g3WENKY0luaGNJbHdpT2pVdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpveUxqZzVNVEEyTmpVMU1USXdPRFE1Tm4wc2Uxd2lYQ0o0WENKY0lqbzFMalU1T1RrNU9Ua3dORFl6TWpVMk9DeGNJbHdpZVZ3aVhDSTZNUzQyTURJeU56VXpOekUxTlRFMU1UTTNmU3g3WENKY0luaGNJbHdpT2pZdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvd0xqYzJOVEkxTnpZMU5qVTNOREkwT1ROOUxIdGNJbHdpZUZ3aVhDSTZOaTQxT1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakF1TmpnM05UTXlOakF6TnpRd05qa3lNWDBzZTF3aVhDSjRYQ0pjSWpvM0xqQTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk1DNDFPREk0T0RjeE56STJPVGc1TnpRMmZWMTlYU3hjSWx3aVkyaGhjblJQY0hScGIyNXpYQ0pjSWpwN1hDSmNJbmhCZUdselRtRnRaVndpWENJNlhDSmNJa052Ym1NdVhDSmNJaXhjSWx3aWVVRjRhWE5PWVcxbFhDSmNJanBjSWx3aVFXTjBhWFpwZEhsY0lsd2lMRndpWENKMGFYUnNaVndpWENJNlhDSmNJa1J2YzJVdFVtVnpjRzl1YzJVZ1kzVnlkbVZ6WENKY0luMTlYQ0lzZEdWNGRDd3NYRzVKZEdGc2VTeE5VMDVHU0U1RlNGWk5VVVpaVWs1T1RFdFVTMGRXUmtkU1VTeERReWhES1VOak1XTmpZeWhqWXpFcFF5aERLVU1vUFU4cFRqSkRRME5ETWtNb1BVOHBUME5EVDF0T0sxMG9QVThwVzA4dFhTd3hORGd3TURJd0xETTJMak16TVRFMU56WTRORE15TmpFM0xEazVOVEF5TEZ3aU1UWTRMVFEySURreFUxUWdRVlpGTGl3Z01rNUVJRVpNVWx3aUxHaDBkSEJ6T2k4dlpHRjBZV2R5YjJzdVlXa3ZhVzFuTDNOc2FXUmxjeTloWTJObGMzTXRaR0l0WTI5dWJtVmpkQzV3Ym1jc2FXUXNSWEp5YjNKTlpYTnpZV2RsTEZ3aVEwOU5VRTVFSUZ4dVFWUlBUU0JjYmtWT1JGd2lMR1pzWVdjc09DdzRMREZhVURnc09Dd3hMakl6TER4amFHRnlkRDQ4TDJOb1lYSjBQaXhjSW50Y0lsd2ljMlZ5YVdWelhDSmNJanBiZTF3aVhDSnVZVzFsWENKY0lqcGNJbHdpVW5WdU9qSXdNak10TURndE1EaGNJbHdpTEZ3aVhDSm1hWFJHZFc1amRHbHZibHdpWENJNlhDSmNJbk5wWjIxdmFXUmNJbHdpTEZ3aVhDSm1hWFJNYVc1bFEyOXNiM0pjSWx3aU9sd2lYQ0lqTVdZM04ySTBYQ0pjSWl4Y0lsd2ljRzlwYm5SRGIyeHZjbHdpWENJNlhDSmNJaU14WmpjM1lqUmNJbHdpTEZ3aVhDSnphRzkzVUc5cGJuUnpYQ0pjSWpwY0lsd2ljRzlwYm5SelhDSmNJaXhjSWx3aWNHRnlZVzFsZEdWeWMxd2lYQ0k2V3pJdU1qa3pOVGt5TVRBMU9USXpPREE1TENBeExqTTNPREUxT0RZMU5Ea3hOREU0TXpVc0lEVXVNVEF5TlRnNU9EQXpPRFkzTmpZd05Td2dNQzR3TXpRNU16ZzFNVEkwTlRJNU1USTVNVjBzWENKY0luQnZhVzUwYzF3aVhDSTZXM3RjSWx3aWVGd2lYQ0k2TUM0eE1EQXdNREF3TURFME9UQXhNVFl4TWl4Y0lsd2llVndpWENJNk1pNHhNamczTWpnek9EazNNems1T1RBeWZTeDdYQ0pjSW5oY0lsd2lPakF1TmpBd01EQXdNREl6T0RReE9EVTNPU3hjSWx3aWVWd2lYQ0k2TWk0eU5qYzVOekl5TXpBNU1URXlOVFY5TEh0Y0lsd2llRndpWENJNk1TNHhNREF3TURBd01qTTROREU0TlRnc1hDSmNJbmxjSWx3aU9qSXVNems0TkRReU5UQTJOemt3TVRZeGZTeDdYQ0pjSW5oY0lsd2lPakV1TmpBd01EQXdNREl6T0RReE9EVTRMRndpWENKNVhDSmNJam95TGpVeE16QTJNakl6T0RZNU16SXpOek45TEh0Y0lsd2llRndpWENJNk1pNHdPVGs1T1RrNU1EUTJNekkxTmpnMExGd2lYQ0o1WENKY0lqb3lMak15TlRVeE1UWTVNemsxTkRRMk56aDlMSHRjSWx3aWVGd2lYQ0k2TWk0MU9UazVPVGs1TURRMk16STFOamcwTEZ3aVhDSjVYQ0pjSWpveUxqRXlOek0wTURjNU16WXdPVFl4T1gwc2Uxd2lYQ0o0WENKY0lqb3pMakE1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPakl1TkRjeU5UazNPRE0zTkRRNE1USjlMSHRjSWx3aWVGd2lYQ0k2TXk0MU9UazVPVGs1TURRMk16STFOamcwTEZ3aVhDSjVYQ0pjSWpveUxqRXpNVEU0TVRRM09EVXdNRE0yTm4wc2Uxd2lYQ0o0WENKY0lqbzBMakE1T1RrNU9Ua3dORFl6TWpVMk9DeGNJbHdpZVZ3aVhDSTZNaTR3T1RBME1qRTBNemd5TVRjeE5qTjlMSHRjSWx3aWVGd2lYQ0k2TkM0MU9UazVPVGs1TURRMk16STFOamdzWENKY0lubGNJbHdpT2pJdU1ESXlPVGt4TmpVM01qVTNNRGg5TEh0Y0lsd2llRndpWENJNk5TNHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qRXVNVEV3TlRBMU9UTTROVEk1T1RZNE0zMHNlMXdpWENKNFhDSmNJam8xTGpVNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TUM0ME5EazBORGcxT0RVMU1UQXlOVE01ZlN4N1hDSmNJbmhjSWx3aU9qWXVNRGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3dMakV6TnpVMk16VTROakl6TlRBME5qUjlMSHRjSWx3aWVGd2lYQ0k2Tmk0MU9UazVPVGs1TURRMk16STFOamdzWENKY0lubGNJbHdpT2pBdU1ETTJNelV4TVRJeE9UWXlNRGN3TkRZMWZTeDdYQ0pjSW5oY0lsd2lPamN1TURrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam93TGpFMk1UazNOekV4TWpJNU16STBNelI5WFgwc2Uxd2lYQ0p1WVcxbFhDSmNJanBjSWx3aVVuVnVPakl3TWpNdE1EZ3RNRGhjSWx3aUxGd2lYQ0ptYVhSTWFXNWxRMjlzYjNKY0lsd2lPbHdpWENJalptWmlZamM0WENKY0lpeGNJbHdpY0c5cGJuUkRiMnh2Y2x3aVhDSTZYQ0pjSWlObVptSmlOemhjSWx3aUxGd2lYQ0p6YUc5M1VHOXBiblJ6WENKY0lqcGNJbHdpY0c5cGJuUnpYQ0pjSWl4Y0lsd2ljR0Z5WVcxbGRHVnljMXdpWENJNld6VXVPVFV6TVRJMU5EazVORE01T0RjNUxDQXhMakkxTWpnMk1qQXlOVFV6TURZMU1qZ3NJRFV1TVRnM05qTTNORFF3TVRRNU9EQXlMQ0F3TGpNeE1UQXpORGczTlRNeU5qQTRPRFpkTEZ3aVhDSndiMmx1ZEhOY0lsd2lPbHQ3WENKY0luaGNJbHdpT2pBdU1UQXdNREF3TURBeE5Ea3dNVEUyTVRJc1hDSmNJbmxjSWx3aU9qVXVOalU0TlRJNE16STNPVFF4T0RrME5YMHNlMXdpWENKNFhDSmNJam93TGpZd01EQXdNREF5TXpnME1UZzFOemtzWENKY0lubGNJbHdpT2pVdU9URXhNVFV5TXpZeU9ESXpORGcyZlN4N1hDSmNJbmhjSWx3aU9qRXVNVEF3TURBd01ESXpPRFF4T0RVNExGd2lYQ0o1WENKY0lqbzFMamt5TkRreU1EQTRNakE1TWpJNE5YMHNlMXdpWENKNFhDSmNJam94TGpZd01EQXdNREF5TXpnME1UZzFPQ3hjSWx3aWVWd2lYQ0k2TlM0NE5EWTVORE00TlRVeU9EVTJORFExZlN4N1hDSmNJbmhjSWx3aU9qSXVNRGs1T1RrNU9UQTBOak15TlRZNE5DeGNJbHdpZVZ3aVhDSTZOUzQ1TWprME56STVNak15TnpnNE1EbDlMSHRjSWx3aWVGd2lYQ0k2TWk0MU9UazVPVGs1TURRMk16STFOamcwTEZ3aVhDSjVYQ0pjSWpvMkxqRTVNREF6TnpjeU56TTFOVGsxTjMwc2Uxd2lYQ0o0WENKY0lqb3pMakE1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPall1TWpNMk1UYzVPREk0TmpRek56azVmU3g3WENKY0luaGNJbHdpT2pNdU5UazVPVGs1T1RBME5qTXlOVFk0TkN4Y0lsd2llVndpWENJNk5pNHhOREV3TVRrek5EUXpNams0TXpSOUxIdGNJbHdpZUZ3aVhDSTZOQzR3T1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPalV1TWprMU1qRXdPRE00TXpFM09EY3hmU3g3WENKY0luaGNJbHdpT2pRdU5UazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvMUxqSTJOVGd3TVRrd05qVTROVFk1TTMwc2Uxd2lYQ0o0WENKY0lqbzFMakE1T1RrNU9Ua3dORFl6TWpVMk9DeGNJbHdpZVZ3aVhDSTZNeTR6TnpJeU9EVXhNamMyTXprM056QTFmU3g3WENKY0luaGNJbHdpT2pVdU5UazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpveExqZ3lPVGt5TWpZM05qQTROalF5TlRoOUxIdGNJbHdpZUZ3aVhDSTZOaTR3T1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakF1TXpJMk9UQTVNREExTmpReE9UTTNNalo5TEh0Y0lsd2llRndpWENJNk5pNDFPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qQXVOakkzTkRVME16UXdORFUzT1RFMk0zMHNlMXdpWENKNFhDSmNJam8zTGpBNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TUM0NE5EUXhPRFUzTURrNU5UTXpNRGd4ZlYxOVhTeGNJbHdpWTJoaGNuUlBjSFJwYjI1elhDSmNJanA3WENKY0luaEJlR2x6VG1GdFpWd2lYQ0k2WENKY0lrTnZibU11WENKY0lpeGNJbHdpZVVGNGFYTk9ZVzFsWENKY0lqcGNJbHdpUVdOMGFYWnBkSGxjSWx3aUxGd2lYQ0owYVhSc1pWd2lYQ0k2WENKY0lrUnZjMlV0VW1WemNHOXVjMlVnWTNWeWRtVnpYQ0pjSW4xOVhDSXNkR1Y0ZEN3c1hHNVNkMkZ1WkdFc1RWQk9VMFZRUVZOTVRFVk1SazVUU1VGVVVVZEZURlpTVTB4TFFVZE9RVk5MTEVOREtFTXBRMk14WTJOaktHTmpNU2xES0VNcFF5ZzlUeWxPTWtORFEwTXlReWc5VHlsUFEwTlBMREUwT0RBd01qRXNNell1TXpNeE16Y3hNekEzTXpjek1EVXNPVGsxTURNM01qUTNMRndpTVRZNExUUTJJRGt4VTFRZ1FWWkZMaXdnTWs1RUlFWk1VbHdpTEdoMGRIQnpPaTh2WkdGMFlXZHliMnN1WVdrdmFXMW5MM05zYVdSbGN5OWhZMk5sYzNNdFpHSXRZMjl1Ym1WamRDNXdibWNzYVdRc1JYSnliM0pOWlhOellXZGxMRndpUTA5TlVFNUVJRnh1UVZSUFRTQmNia1ZPUkZ3aUxHWnNZV2NzT1N3NUxESkNSRW9zT1N3eExqSXpMRHhqYUdGeWRENDhMMk5vWVhKMFBpeGNJbnRjSWx3aWMyVnlhV1Z6WENKY0lqcGJlMXdpWENKdVlXMWxYQ0pjSWpwY0lsd2lVblZ1T2pJd01qTXRNRGd0TURoY0lsd2lMRndpWENKbWFYUkdkVzVqZEdsdmJsd2lYQ0k2WENKY0luTnBaMjF2YVdSY0lsd2lMRndpWENKbWFYUk1hVzVsUTI5c2IzSmNJbHdpT2x3aVhDSWpNV1kzTjJJMFhDSmNJaXhjSWx3aWNHOXBiblJEYjJ4dmNsd2lYQ0k2WENKY0lpTXhaamMzWWpSY0lsd2lMRndpWENKemFHOTNVRzlwYm5SelhDSmNJanBjSWx3aWNHOXBiblJ6WENKY0lpeGNJbHdpY0dGeVlXMWxkR1Z5YzF3aVhDSTZXek11T0RJd09UazNNakl3TWpZMU5EUTNOQ3dnTVM0ek56YzVNakUyTnpFMk5EUTROVEEyTENBMUxqSTVPVGc0TWpJeU9EUXpPVFk0Tml3Z01DNHdOakEwTURZME5UVXhPVEEyT1RZd09GMHNYQ0pjSW5CdmFXNTBjMXdpWENJNlczdGNJbHdpZUZ3aVhDSTZNQzR4TURBd01EQXdNREUwT1RBeE1UWXhNaXhjSWx3aWVWd2lYQ0k2TXk0M09ESXhNVEE1TWprME9Ea3hNelUzZlN4N1hDSmNJbmhjSWx3aU9qQXVOakF3TURBd01ESXpPRFF4T0RVM09TeGNJbHdpZVZ3aVhDSTZNeTQxTkRJME16TXdNak0wTlRJM05UbDlMSHRjSWx3aWVGd2lYQ0k2TVM0eE1EQXdNREF3TWpNNE5ERTROVGdzWENKY0lubGNJbHdpT2pNdU56QXdPRFkzTkRFME5EYzBORGczTTMwc2Uxd2lYQ0o0WENKY0lqb3hMall3TURBd01EQXlNemcwTVRnMU9DeGNJbHdpZVZ3aVhDSTZNeTQzTVRjek1ERTJNRGN4TXpFNU5UaDlMSHRjSWx3aWVGd2lYQ0k2TWk0d09UazVPVGs1TURRMk16STFOamcwTEZ3aVhDSjVYQ0pjSWpvMExqQXlORFExTWpJd09UUTNNalkxTm4wc2Uxd2lYQ0o0WENKY0lqb3lMalU1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPalF1TURFek9EazVNekkyTXpJME5EWXpmU3g3WENKY0luaGNJbHdpT2pNdU1EazVPVGs1T1RBME5qTXlOVFk0TkN4Y0lsd2llVndpWENJNk15NDVORFV3T1RRek5EY3dNREF4TWpKOUxIdGNJbHdpZUZ3aVhDSTZNeTQxT1RrNU9UazVNRFEyTXpJMU5qZzBMRndpWENKNVhDSmNJam96TGpnMk5qWXlNVGszTVRFek1ETTNNWDBzZTF3aVhDSjRYQ0pjSWpvMExqQTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk15NDNORFl4TmpJMk5USTVOamt6TmpBMGZTeDdYQ0pjSW5oY0lsd2lPalF1TlRrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam96TGpNME5UUTNOREF3TkRjME5UUTRNelI5TEh0Y0lsd2llRndpWENJNk5TNHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qSXVOakU1TkRRek1UYzRNVGMyT0RoOUxIdGNJbHdpZUZ3aVhDSTZOUzQxT1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakF1T1RrNU5EQTFNREkyTkRNMU9EVXlmU3g3WENKY0luaGNJbHdpT2pZdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvd0xqUTJNalU1Tnprek5qTTVNVGd6TURRMGZTeDdYQ0pjSW5oY0lsd2lPall1TlRrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam93TGpBMU5ERXpORFl4TVRBME1ETTFNemMzTlgwc2Uxd2lYQ0o0WENKY0lqbzNMakE1T1RrNU9Ua3dORFl6TWpVMk9DeGNJbHdpZVZ3aVhDSTZNQzR3TlRjeE1URTROelF5TWpJM05UVTBNMzFkZlN4N1hDSmNJbTVoYldWY0lsd2lPbHdpWENKU2RXNDZNakF5TXkwd09DMHdPRndpWENJc1hDSmNJbVpwZEV4cGJtVkRiMnh2Y2x3aVhDSTZYQ0pjSWlObVptSmlOemhjSWx3aUxGd2lYQ0p3YjJsdWRFTnZiRzl5WENKY0lqcGNJbHdpSTJabVltSTNPRndpWENJc1hDSmNJbk5vYjNkUWIybHVkSE5jSWx3aU9sd2lYQ0p3YjJsdWRITmNJbHdpTEZ3aVhDSndZWEpoYldWMFpYSnpYQ0pjSWpwYk5TNDJNekU0TURjNU5qVTNOekkyTURNMUxDQXhMamcwT1RVME9UTTNOekF3TURBMU9UVXNJRFV1TXpreE56a3pNekV5TkRjeE1URTJMQ0F3TGpFM01EWXdOekEzTlRnM016UTRORFF5WFN4Y0lsd2ljRzlwYm5SelhDSmNJanBiZTF3aVhDSjRYQ0pjSWpvd0xqRXdNREF3TURBd01UUTVNREV4TmpFeUxGd2lYQ0o1WENKY0lqbzFMalExT0RBM09UZ3hORGt4TURnNE9YMHNlMXdpWENKNFhDSmNJam93TGpZd01EQXdNREF5TXpnME1UZzFOemtzWENKY0lubGNJbHdpT2pVdU5UVTBOREkzTVRRMk9URXhOakl4ZlN4N1hDSmNJbmhjSWx3aU9qRXVNVEF3TURBd01ESXpPRFF4T0RVNExGd2lYQ0o1WENKY0lqbzFMamM1T1RrNE16QXlORFU1TnpFMk9IMHNlMXdpWENKNFhDSmNJam94TGpZd01EQXdNREF5TXpnME1UZzFPQ3hjSWx3aWVWd2lYQ0k2TlM0ek5qUXhOREF3TXpNM01qRTVNalI5TEh0Y0lsd2llRndpWENJNk1pNHdPVGs1T1RrNU1EUTJNekkxTmpnMExGd2lYQ0o1WENKY0lqbzFMamcyTkRRNE5UYzBNRFkyTVRZeU1YMHNlMXdpWENKNFhDSmNJam95TGpVNU9UazVPVGt3TkRZek1qVTJPRFFzWENKY0lubGNJbHdpT2pVdU5EVXdPVGd3TmpZek1qazVOVFl3Tlgwc2Uxd2lYQ0o0WENKY0lqb3pMakE1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPalV1TnpBeU5UYzBOekk1T1RFNU5ETTBmU3g3WENKY0luaGNJbHdpT2pNdU5UazVPVGs1T1RBME5qTXlOVFk0TkN4Y0lsd2llVndpWENJNk5TNDNNekUwTlRNME1UZzNNekUyT0RrMWZTeDdYQ0pjSW5oY0lsd2lPalF1TURrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam8xTGpVeE1qTTBORE0yTURNMU1UVTJNalY5TEh0Y0lsd2llRndpWENJNk5DNDFPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qVXVOekkwTXprMU56VXhPVFV6TVRJMWZTeDdYQ0pjSW5oY0lsd2lPalV1TURrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam8wTGpNMU5EVXdOamsyT1RRMU1Ua3dOSDBzZTF3aVhDSjRYQ0pjSWpvMUxqVTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk1TNDNNekEzTmpZMk5UUXdNVFExT0RjMGZTeDdYQ0pjSW5oY0lsd2lPall1TURrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam93TGpZek1EVTVNelkxTnpRNU16VTVNVE45TEh0Y0lsd2llRndpWENJNk5pNDFPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qQXVNRE0xTVRnek5ETTNNVFk0TlRrNE1UYzFmU3g3WENKY0luaGNJbHdpT2pjdU1EazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvd0xqYzFOelV4TmpreU1EVTJOalUxT0RoOVhYMWRMRndpWENKamFHRnlkRTl3ZEdsdmJuTmNJbHdpT250Y0lsd2llRUY0YVhOT1lXMWxYQ0pjSWpwY0lsd2lRMjl1WXk1Y0lsd2lMRndpWENKNVFYaHBjMDVoYldWY0lsd2lPbHdpWENKQlkzUnBkbWwwZVZ3aVhDSXNYQ0pjSW5ScGRHeGxYQ0pjSWpwY0lsd2lSRzl6WlMxU1pYTndiMjV6WlNCamRYSjJaWE5jSWx3aWZYMWNJaXgwWlhoMExDeGNibE4zYVhSNlpYSnNZVzVrTEVsU1ZsWkhVbGxNU1VWV1YwdEJRVWROUkUxRVMxWk1Sa3hYVTFORVJVa3NRMDR4UTBOREtFTkRNU2xQWXpKalkyTW9ZMk15S1VNb1Jpa29SaWxHTERFME9EQXdNamdzTXpZdU16TXhNemN4TXpBM016Y3pNRFVzT1RrMU1EUXNPVEl0TVRFZ01UYzVWRWdnVUV4QlEwVXNhSFIwY0hNNkx5OWtZWFJoWjNKdmF5NWhhUzlwYldjdmMyeHBaR1Z6TDJGalkyVnpjeTFrWWkxamIyNXVaV04wTG5CdVp5eHBaQ3hGY25KdmNrMWxjM05oWjJVc1hDSkRUMDFRVGtRZ1hHNUJWRTlOSUZ4dVJVNUVYQ0lzWm14aFp5dzVMREV3TERGSlFVNHNNVEFzTVM0eU15dzhZMmhoY25RK1BDOWphR0Z5ZEQ0c1hDSjdYQ0pjSW5ObGNtbGxjMXdpWENJNlczdGNJbHdpYm1GdFpWd2lYQ0k2WENKY0lsSjFiam95TURJekxUQTRMVEE0WENKY0lpeGNJbHdpWm1sMFJuVnVZM1JwYjI1Y0lsd2lPbHdpWENKemFXZHRiMmxrWENKY0lpeGNJbHdpWm1sMFRHbHVaVU52Ykc5eVhDSmNJanBjSWx3aUl6Rm1OemRpTkZ3aVhDSXNYQ0pjSW5CdmFXNTBRMjlzYjNKY0lsd2lPbHdpWENJak1XWTNOMkkwWENKY0lpeGNJbHdpYzJodmQxQnZhVzUwYzF3aVhDSTZYQ0pjSW5CdmFXNTBjMXdpWENJc1hDSmNJbkJoY21GdFpYUmxjbk5jSWx3aU9sc3hMakV4T1RBeU5UVTROalV3T1RjME56RXNJREl1TXpFMk16ZzVOVEUyTVRVME5EUXpOeXdnTlM0ME9UWTRPRFkyTVRneU1qYzVNVGsxTENBd0xqSXdNelV5TURRd05EY3lPRGt3TlRKZExGd2lYQ0p3YjJsdWRITmNJbHdpT2x0N1hDSmNJbmhjSWx3aU9qQXVNVEF3TURBd01EQXhORGt3TVRFMk1USXNYQ0pjSW5sY0lsd2lPakV1TVRBMU56WTRNekl5T1RRME5qUXhNWDBzZTF3aVhDSjRYQ0pjSWpvd0xqWXdNREF3TURBeU16ZzBNVGcxTnprc1hDSmNJbmxjSWx3aU9qRXVNVEF4T1RZNU56RTRPVE16TVRBMU5YMHNlMXdpWENKNFhDSmNJam94TGpFd01EQXdNREF5TXpnME1UZzFPQ3hjSWx3aWVWd2lYQ0k2TVM0d09ERTROakEzT0RBM01UVTVOREkwZlN4N1hDSmNJbmhjSWx3aU9qRXVOakF3TURBd01ESXpPRFF4T0RVNExGd2lYQ0o1WENKY0lqb3hMakEyTWprNU56Z3hOems1TXpFMk5IMHNlMXdpWENKNFhDSmNJam95TGpBNU9UazVPVGt3TkRZek1qVTJPRFFzWENKY0lubGNJbHdpT2pFdU1EUTJORFEzTlRFMU5EZzNOamN4ZlN4N1hDSmNJbmhjSWx3aU9qSXVOVGs1T1RrNU9UQTBOak15TlRZNE5DeGNJbHdpZVZ3aVhDSTZNUzR4TWpFM01qUTVOak14T0RneE56RTBmU3g3WENKY0luaGNJbHdpT2pNdU1EazVPVGs1T1RBME5qTXlOVFk0TkN4Y0lsd2llVndpWENJNk1TNHlNVFkyT1RrMk1EQXlNVGszTWpZMmZTeDdYQ0pjSW5oY0lsd2lPak11TlRrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TVM0eU1UVTBOemMzTURVd01ERTRNekY5TEh0Y0lsd2llRndpWENJNk5DNHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qRXVNRFU0TVRnNU16a3lNRGc1T0RRek9IMHNlMXdpWENKNFhDSmNJam8wTGpVNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TVM0eE56UTNPVGsxTmpFMU1EQTFORGt6ZlN4N1hDSmNJbmhjSWx3aU9qVXVNRGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3hMakF4T0RFeE1qYzNPRFkyTXpZek5UTjlMSHRjSWx3aWVGd2lYQ0k2TlM0MU9UazVPVGs1TURRMk16STFOamdzWENKY0lubGNJbHdpT2pBdU5UTTBORFV5TXpFNU1UUTFNakF5Tm4wc2Uxd2lYQ0o0WENKY0lqbzJMakE1T1RrNU9Ua3dORFl6TWpVMk9DeGNJbHdpZVZ3aVhDSTZNQzR5TlRZNU5USTJORE16T1RRME56QXlmU3g3WENKY0luaGNJbHdpT2pZdU5UazVPVGs1T1RBME5qTXlOVFk0TEZ3aVhDSjVYQ0pjSWpvd0xqRTVNVEl5TURjek1EVTBNekV6TmpaOUxIdGNJbHdpZUZ3aVhDSTZOeTR3T1RrNU9UazVNRFEyTXpJMU5qZ3NYQ0pjSW5sY0lsd2lPakF1TVRVd05qQTFNemd3TlRNMU1USTFOek45WFgwc2Uxd2lYQ0p1WVcxbFhDSmNJanBjSWx3aVVuVnVPakl3TWpNdE1EZ3RNRGhjSWx3aUxGd2lYQ0ptYVhSTWFXNWxRMjlzYjNKY0lsd2lPbHdpWENJalptWmlZamM0WENKY0lpeGNJbHdpY0c5cGJuUkRiMnh2Y2x3aVhDSTZYQ0pjSWlObVptSmlOemhjSWx3aUxGd2lYQ0p6YUc5M1VHOXBiblJ6WENKY0lqcGNJbHdpY0c5cGJuUnpYQ0pjSWl4Y0lsd2ljR0Z5WVcxbGRHVnljMXdpWENJNld6TXVNVEF6T0RVNE1UQXlOVGd3TlRjNE5Td2dNaTR3TURNeU1qSTBNakEwTVRnMU1qUTFMQ0ExTGpBNE56WXdNamd5TlRrNE9URTJNeXdnTUM0eE16STNOems0T0RVeE1qUTVNamMxTTEwc1hDSmNJbkJ2YVc1MGMxd2lYQ0k2VzN0Y0lsd2llRndpWENJNk1DNHhNREF3TURBd01ERTBPVEF4TVRZeE1peGNJbHdpZVZ3aVhDSTZNeTR3TkRrNE5UQTVOREEzTURRek5EVTNmU3g3WENKY0luaGNJbHdpT2pBdU5qQXdNREF3TURJek9EUXhPRFUzT1N4Y0lsd2llVndpWENJNk1pNDRNRFV5TVRjM05ESTVNVGs1TWpKOUxIdGNJbHdpZUZ3aVhDSTZNUzR4TURBd01EQXdNak00TkRFNE5UZ3NYQ0pjSW5sY0lsd2lPak11TXpReE5USTFNekUyTWpNNE5EQXpNMzBzZTF3aVhDSjRYQ0pjSWpveExqWXdNREF3TURBeU16ZzBNVGcxT0N4Y0lsd2llVndpWENJNk15NHdOVFE1T0RRek16RXhNekE1T0RFMGZTeDdYQ0pjSW5oY0lsd2lPakl1TURrNU9UazVPVEEwTmpNeU5UWTROQ3hjSWx3aWVWd2lYQ0k2TXk0eU5UQXdOelE0TmpNME16TTRNemg5TEh0Y0lsd2llRndpWENJNk1pNDFPVGs1T1RrNU1EUTJNekkxTmpnMExGd2lYQ0o1WENKY0lqb3pMakEwTXpJMU9EWTJOams1TWpFNE56VjlMSHRjSWx3aWVGd2lYQ0k2TXk0d09UazVPVGs1TURRMk16STFOamcwTEZ3aVhDSjVYQ0pjSWpvekxqSTJOVGcxTWpRMU1UTXlORFEyTTMwc2Uxd2lYQ0o0WENKY0lqb3pMalU1T1RrNU9Ua3dORFl6TWpVMk9EUXNYQ0pjSW5sY0lsd2lPakl1T1RRM05UY3lORFk1TnpFeE16QXpOMzBzZTF3aVhDSjRYQ0pjSWpvMExqQTVPVGs1T1Rrd05EWXpNalUyT0N4Y0lsd2llVndpWENJNk15NHhPVEk1T0RrNE1qWXlNREl6T1RJMmZTeDdYQ0pjSW5oY0lsd2lPalF1TlRrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam95TGpjME5qQXdOakF4TVRrMk1qZzVNRFo5TEh0Y0lsd2llRndpWENJNk5TNHdPVGs1T1RrNU1EUTJNekkxTmpnc1hDSmNJbmxjSWx3aU9qRXVOakUzTlRnMk1UTTFPRFkwTWpVM09IMHNlMXdpWENKNFhDSmNJam8xTGpVNU9UazVPVGt3TkRZek1qVTJPQ3hjSWx3aWVWd2lYQ0k2TUM0ek1EQTJOakE0TkRnMk1UYzFOVE0zZlN4N1hDSmNJbmhjSWx3aU9qWXVNRGs1T1RrNU9UQTBOak15TlRZNExGd2lYQ0o1WENKY0lqb3dMak0wTkRRNE1ETXdOVGt4TURFeE1EVjlMSHRjSWx3aWVGd2lYQ0k2Tmk0MU9UazVPVGs1TURRMk16STFOamdzWENKY0lubGNJbHdpT2pBdU1ERTFOVE0zT1RjeE5qTXdOamt5TkRneWZTeDdYQ0pjSW5oY0lsd2lPamN1TURrNU9UazVPVEEwTmpNeU5UWTRMRndpWENKNVhDSmNJam93TGpVMU1qY3pOVGd3TlRVeE1UUTNORFo5WFgxZExGd2lYQ0pqYUdGeWRFOXdkR2x2Ym5OY0lsd2lPbnRjSWx3aWVFRjRhWE5PWVcxbFhDSmNJanBjSWx3aVEyOXVZeTVjSWx3aUxGd2lYQ0o1UVhocGMwNWhiV1ZjSWx3aU9sd2lYQ0pCWTNScGRtbDBlVndpWENJc1hDSmNJblJwZEd4bFhDSmNJanBjSWx3aVJHOXpaUzFTWlhOd2IyNXpaU0JqZFhKMlpYTmNJbHdpZlgxY0lpeDBaWGgwTEN4Y2Jpd3NMQ3dzTEN3c0xDd3NMQ3dzTEN3c0xDd3NMR0FwTzF4dWRHVnpkRVJoZEdFdVkyOXNkVzF1Y3k1aFpHUW9SRWN1UTI5c2RXMXVMbVp5YjIxTWFYTjBLRVJITGxSWlVFVXVRbGxVUlY5QlVsSkJXU3dnSjBKcGJtRnllVWx0WVdkbEp5d2dRWEp5WVhrdVpuSnZiU2h1WlhjZ1ZXbHVkRGhCY25KaGVTZ3hNU2twS1NrN1hHNGlYWDA9IiwidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5pbXBvcnQgeyB0ZXN0RGF0YSB9IGZyb20gJy4vZGF0YWZyYW1lLXV0aWxzJztcbmNvbnN0IFNUQU5EQVJUX1RJTUVPVVQgPSAzMDAwMDtcbmNvbnN0IEJFTkNITUFSS19USU1FT1VUID0gMTA4MDAwMDA7XG5jb25zdCBzdGRMb2cgPSBjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpO1xuY29uc3Qgc3RkSW5mbyA9IGNvbnNvbGUuaW5mby5iaW5kKGNvbnNvbGUpO1xuY29uc3Qgc3RkV2FybiA9IGNvbnNvbGUud2Fybi5iaW5kKGNvbnNvbGUpO1xuY29uc3Qgc3RkRXJyb3IgPSBjb25zb2xlLmVycm9yLmJpbmQoY29uc29sZSk7XG5leHBvcnQgY29uc3QgdGVzdHMgPSB7fTtcbmNvbnN0IGF1dG9UZXN0c0NhdE5hbWUgPSAnQXV0byBUZXN0cyc7XG5jb25zdCBkZW1vQ2F0TmFtZSA9ICdEZW1vJztcbmNvbnN0IGRldGVjdG9yc0NhdE5hbWUgPSAnRGV0ZWN0b3JzJztcbmNvbnN0IGNvcmVDYXROYW1lID0gJ0NvcmUnO1xuY29uc3Qgd2FzUmVnaXN0ZXJlZCA9IHt9O1xuZXhwb3J0IGxldCBjdXJyZW50Q2F0ZWdvcnk7XG5leHBvcnQgdmFyIGFzc3VyZTtcbihmdW5jdGlvbiAoYXNzdXJlKSB7XG4gICAgZnVuY3Rpb24gbm90TnVsbCh2YWx1ZSwgbmFtZSkge1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lID09IG51bGwgPyAnVmFsdWUnIDogbmFtZX0gbm90IGRlZmluZWRgKTtcbiAgICB9XG4gICAgYXNzdXJlLm5vdE51bGwgPSBub3ROdWxsO1xufSkoYXNzdXJlIHx8IChhc3N1cmUgPSB7fSkpO1xuZXhwb3J0IGNsYXNzIFRlc3RDb250ZXh0IHtcbiAgICBjb25zdHJ1Y3RvcihjYXRjaFVuaGFuZGxlZCwgcmVwb3J0KSB7XG4gICAgICAgIHRoaXMuY2F0Y2hVbmhhbmRsZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlcG9ydCA9IGZhbHNlO1xuICAgICAgICBpZiAoY2F0Y2hVbmhhbmRsZWQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHRoaXMuY2F0Y2hVbmhhbmRsZWQgPSBjYXRjaFVuaGFuZGxlZDtcbiAgICAgICAgaWYgKHJlcG9ydCAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgdGhpcy5yZXBvcnQgPSByZXBvcnQ7XG4gICAgfVxuICAgIDtcbn1cbmV4cG9ydCBjbGFzcyBUZXN0IHtcbiAgICBjb25zdHJ1Y3RvcihjYXRlZ29yeSwgbmFtZSwgdGVzdCwgb3B0aW9ucykge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnkgPSBjYXRlZ29yeTtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgb3B0aW9ucyAhPT0gbnVsbCAmJiBvcHRpb25zICE9PSB2b2lkIDAgPyBvcHRpb25zIDogKG9wdGlvbnMgPSB7fSk7XG4gICAgICAgIChfYSA9IG9wdGlvbnMudGltZW91dCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogKG9wdGlvbnMudGltZW91dCA9IFNUQU5EQVJUX1RJTUVPVVQpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLnRlc3QgPSAoKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSAnJztcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB5aWVsZCB0ZXN0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gdGVzdEV2ZW50KGV2ZW50LCBoYW5kbGVyLCB0cmlnZ2VyLCBtcyA9IDAsIHJlYXNvbiA9IGB0aW1lb3V0YCkge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdWIgPSBldmVudC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVyKGFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCdPSycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIERvIG5vdCBjbGVhclRpbWVvdXQgb3IgZXZlbnQgc3ViIGlmIGhhbmRsZXIgZmFpbHNcbiAgICAgICAgICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9yc1xuICAgICAgICAgICAgICAgIHJlamVjdChyZWFzb24pO1xuICAgICAgICAgICAgfSwgbXMpO1xuICAgICAgICAgICAgdHJpZ2dlcigpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0KG5hbWUsIHRlc3QsIG9wdGlvbnMpIHtcbiAgICBpZiAodGVzdHNbY3VycmVudENhdGVnb3J5XSA9PSB1bmRlZmluZWQpXG4gICAgICAgIHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0gPSB7fTtcbiAgICBpZiAodGVzdHNbY3VycmVudENhdGVnb3J5XS50ZXN0cyA9PSB1bmRlZmluZWQpXG4gICAgICAgIHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0udGVzdHMgPSBbXTtcbiAgICB0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldLnRlc3RzLnB1c2gobmV3IFRlc3QoY3VycmVudENhdGVnb3J5LCBuYW1lLCB0ZXN0LCBvcHRpb25zKSk7XG59XG4vKiBUZXN0cyB0d28gb2JqZWN0cyBmb3IgZXF1YWxpdHksIHRocm93cyBhbiBleGNlcHRpb24gaWYgdGhleSBhcmUgbm90IGVxdWFsLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdChhY3R1YWwsIGV4cGVjdGVkID0gdHJ1ZSwgZXJyb3IpIHtcbiAgICBpZiAoZXJyb3IpXG4gICAgICAgIGVycm9yID0gYCR7ZXJyb3J9LCBgO1xuICAgIGVsc2VcbiAgICAgICAgZXJyb3IgPSAnJztcbiAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2Vycm9yfUV4cGVjdGVkIFwiJHtleHBlY3RlZH1cIiwgZ290IFwiJHthY3R1YWx9XCJgKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBleHBlY3RGbG9hdChhY3R1YWwsIGV4cGVjdGVkLCB0b2xlcmFuY2UgPSAwLjAwMSwgZXJyb3IpIHtcbiAgICBpZiAoKGFjdHVhbCA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICYmIGV4cGVjdGVkID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHx8XG4gICAgICAgIChhY3R1YWwgPT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAmJiBleHBlY3RlZCA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB8fFxuICAgICAgICAoYWN0dWFsID09PSBOdW1iZXIuTmFOICYmIGV4cGVjdGVkID09PSBOdW1iZXIuTmFOKSB8fCAoaXNOYU4oYWN0dWFsKSAmJiBpc05hTihleHBlY3RlZCkpKVxuICAgICAgICByZXR1cm47XG4gICAgY29uc3QgYXJlRXF1YWwgPSBNYXRoLmFicyhhY3R1YWwgLSBleHBlY3RlZCkgPCB0b2xlcmFuY2U7XG4gICAgZXhwZWN0KGFyZUVxdWFsLCB0cnVlLCBgJHtlcnJvciAhPT0gbnVsbCAmJiBlcnJvciAhPT0gdm9pZCAwID8gZXJyb3IgOiAnJ30gKHRvbGVyYW5jZSA9ICR7dG9sZXJhbmNlfSlgKTtcbiAgICBpZiAoIWFyZUVxdWFsKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICR7ZXhwZWN0ZWR9LCBnb3QgJHthY3R1YWx9ICh0b2xlcmFuY2UgPSAke3RvbGVyYW5jZX0pYCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZXhwZWN0VGFibGUoYWN0dWFsLCBleHBlY3RlZCwgZXJyb3IpIHtcbiAgICBjb25zdCBleHBlY3RlZFJvd0NvdW50ID0gZXhwZWN0ZWQucm93Q291bnQ7XG4gICAgY29uc3QgYWN0dWFsUm93Q291bnQgPSBhY3R1YWwucm93Q291bnQ7XG4gICAgZXhwZWN0KGFjdHVhbFJvd0NvdW50LCBleHBlY3RlZFJvd0NvdW50LCBgJHtlcnJvciAhPT0gbnVsbCAmJiBlcnJvciAhPT0gdm9pZCAwID8gZXJyb3IgOiAnJ30sIHJvdyBjb3VudGApO1xuICAgIGZvciAoY29uc3QgY29sdW1uIG9mIGV4cGVjdGVkLmNvbHVtbnMpIHtcbiAgICAgICAgY29uc3QgYWN0dWFsQ29sdW1uID0gYWN0dWFsLmNvbHVtbnMuYnlOYW1lKGNvbHVtbi5uYW1lKTtcbiAgICAgICAgaWYgKGFjdHVhbENvbHVtbiA9PSBudWxsKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb2x1bW4gJHtjb2x1bW4ubmFtZX0gbm90IGZvdW5kYCk7XG4gICAgICAgIGlmIChhY3R1YWxDb2x1bW4udHlwZSAhPSBjb2x1bW4udHlwZSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29sdW1uICR7Y29sdW1uLm5hbWV9IHR5cGUgZXhwZWN0ZWQgJHtjb2x1bW4udHlwZX0gZ290ICR7YWN0dWFsQ29sdW1uLnR5cGV9YCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZXhwZWN0ZWRSb3dDb3VudDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbHVtbi5nZXQoaSk7XG4gICAgICAgICAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGFjdHVhbENvbHVtbi5nZXQoaSk7XG4gICAgICAgICAgICBpZiAoY29sdW1uLnR5cGUgPT0gREcuVFlQRS5GTE9BVClcbiAgICAgICAgICAgICAgICBleHBlY3RGbG9hdChhY3R1YWxWYWx1ZSwgdmFsdWUsIDAuMDAwMSwgZXJyb3IpO1xuICAgICAgICAgICAgZWxzZSBpZiAoY29sdW1uLnR5cGUgPT0gREcuVFlQRS5EQVRFX1RJTUUpXG4gICAgICAgICAgICAgICAgZXhwZWN0KGFjdHVhbFZhbHVlLmlzU2FtZSh2YWx1ZSksIHRydWUsIGVycm9yKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBleHBlY3QoYWN0dWFsVmFsdWUsIHZhbHVlLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gZXhwZWN0T2JqZWN0KGFjdHVhbCwgZXhwZWN0ZWQpIHtcbiAgICBmb3IgKGNvbnN0IFtleHBlY3RlZEtleSwgZXhwZWN0ZWRWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZXhwZWN0ZWQpKSB7XG4gICAgICAgIGlmICghYWN0dWFsLmhhc093blByb3BlcnR5KGV4cGVjdGVkS2V5KSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgcHJvcGVydHkgXCIke2V4cGVjdGVkS2V5fVwiIG5vdCBmb3VuZGApO1xuICAgICAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGFjdHVhbFtleHBlY3RlZEtleV07XG4gICAgICAgIGlmIChhY3R1YWxWYWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIGV4cGVjdGVkVmFsdWUgaW5zdGFuY2VvZiBBcnJheSlcbiAgICAgICAgICAgIGV4cGVjdEFycmF5KGFjdHVhbFZhbHVlLCBleHBlY3RlZFZhbHVlKTtcbiAgICAgICAgZWxzZSBpZiAoYWN0dWFsVmFsdWUgaW5zdGFuY2VvZiBPYmplY3QgJiYgZXhwZWN0ZWRWYWx1ZSBpbnN0YW5jZW9mIE9iamVjdClcbiAgICAgICAgICAgIGV4cGVjdE9iamVjdChhY3R1YWxWYWx1ZSwgZXhwZWN0ZWRWYWx1ZSk7XG4gICAgICAgIGVsc2UgaWYgKE51bWJlci5pc0Zpbml0ZShhY3R1YWxWYWx1ZSkgJiYgTnVtYmVyLmlzRmluaXRlKGV4cGVjdGVkVmFsdWUpKVxuICAgICAgICAgICAgZXhwZWN0RmxvYXQoYWN0dWFsVmFsdWUsIGV4cGVjdGVkVmFsdWUpO1xuICAgICAgICBlbHNlIGlmIChhY3R1YWxWYWx1ZSAhPSBleHBlY3RlZFZhbHVlKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAoJHtleHBlY3RlZFZhbHVlfSkgZm9yIGtleSAnJHtleHBlY3RlZEtleX0nLCBnb3QgKCR7YWN0dWFsVmFsdWV9KWApO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBleHBlY3RBcnJheShhY3R1YWwsIGV4cGVjdGVkKSB7XG4gICAgY29uc3QgYWN0dWFsTGVuZ3RoID0gYWN0dWFsLmxlbmd0aDtcbiAgICBjb25zdCBleHBlY3RlZExlbmd0aCA9IGV4cGVjdGVkLmxlbmd0aDtcbiAgICBpZiAoYWN0dWFsTGVuZ3RoICE9IGV4cGVjdGVkTGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQXJyYXlzIGFyZSBvZiBkaWZmZXJlbnQgbGVuZ3RoOiBhY3R1YWwgYXJyYXkgbGVuZ3RoIGlzICR7YWN0dWFsTGVuZ3RofSBgICtcbiAgICAgICAgICAgIGBhbmQgZXhwZWN0ZWQgYXJyYXkgbGVuZ3RoIGlzICR7ZXhwZWN0ZWRMZW5ndGh9YCk7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWN0dWFsTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGFjdHVhbFtpXSBpbnN0YW5jZW9mIEFycmF5ICYmIGV4cGVjdGVkW2ldIGluc3RhbmNlb2YgQXJyYXkpXG4gICAgICAgICAgICBleHBlY3RBcnJheShhY3R1YWxbaV0sIGV4cGVjdGVkW2ldKTtcbiAgICAgICAgZWxzZSBpZiAoYWN0dWFsW2ldIGluc3RhbmNlb2YgT2JqZWN0ICYmIGV4cGVjdGVkW2ldIGluc3RhbmNlb2YgT2JqZWN0KVxuICAgICAgICAgICAgZXhwZWN0T2JqZWN0KGFjdHVhbFtpXSwgZXhwZWN0ZWRbaV0pO1xuICAgICAgICBlbHNlIGlmIChhY3R1YWxbaV0gIT0gZXhwZWN0ZWRbaV0pXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICR7ZXhwZWN0ZWRbaV19IGF0IHBvc2l0aW9uICR7aX0sIGdvdCAke2FjdHVhbFtpXX1gKTtcbiAgICB9XG59XG4vKiBEZWZpbmVzIGEgdGVzdCBzdWl0ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYXRlZ29yeShjYXRlZ29yeSwgdGVzdHNfLCBvcHRpb25zKSB7XG4gICAgdmFyIF9hO1xuICAgIGN1cnJlbnRDYXRlZ29yeSA9IGNhdGVnb3J5O1xuICAgIHRlc3RzXygpO1xuICAgIGlmICh0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldKSB7XG4gICAgICAgIHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0uY2xlYXIgPSAoX2EgPSBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuY2xlYXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHRydWU7XG4gICAgICAgIHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0udGltZW91dCA9IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy50aW1lb3V0O1xuICAgIH1cbn1cbi8qIERlZmluZXMgYSBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCBiZWZvcmUgdGhlIHRlc3RzIGluIHRoaXMgY2F0ZWdvcnkgYXJlIGV4ZWN1dGVkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJlZm9yZShiZWZvcmUpIHtcbiAgICBpZiAodGVzdHNbY3VycmVudENhdGVnb3J5XSA9PSB1bmRlZmluZWQpXG4gICAgICAgIHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0gPSB7fTtcbiAgICB0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldLmJlZm9yZSA9IGJlZm9yZTtcbn1cbi8qIERlZmluZXMgYSBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCBhZnRlciB0aGUgdGVzdHMgaW4gdGhpcyBjYXRlZ29yeSBhcmUgZXhlY3V0ZWQuICovXG5leHBvcnQgZnVuY3Rpb24gYWZ0ZXIoYWZ0ZXIpIHtcbiAgICBpZiAodGVzdHNbY3VycmVudENhdGVnb3J5XSA9PSB1bmRlZmluZWQpXG4gICAgICAgIHRlc3RzW2N1cnJlbnRDYXRlZ29yeV0gPSB7fTtcbiAgICB0ZXN0c1tjdXJyZW50Q2F0ZWdvcnldLmFmdGVyID0gYWZ0ZXI7XG59XG5mdW5jdGlvbiBhZGROYW1lc3BhY2UocywgZikge1xuICAgIHJldHVybiBzLnJlcGxhY2UobmV3IFJlZ0V4cChmLm5hbWUsICdnaScpLCBmLm5xTmFtZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gaW5pdEF1dG9UZXN0cyhwYWNrYWdlXywgbW9kdWxlKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IHBhY2thZ2VJZCA9IHBhY2thZ2VfLmlkO1xuICAgICAgICBpZiAod2FzUmVnaXN0ZXJlZFtwYWNrYWdlSWRdKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBtb2R1bGVUZXN0cyA9IG1vZHVsZSA/IG1vZHVsZS50ZXN0cyA6IHRlc3RzO1xuICAgICAgICBpZiAobW9kdWxlVGVzdHNbYXV0b1Rlc3RzQ2F0TmFtZV0gIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgbW9kdWxlVGVzdHNbZGVtb0NhdE5hbWVdICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKG1vZHVsZVRlc3RzKS5maW5kKChjKSA9PiBjLnN0YXJ0c1dpdGgoYXV0b1Rlc3RzQ2F0TmFtZSkgfHwgYy5zdGFydHNXaXRoKGNvcmVDYXROYW1lKSkpIHtcbiAgICAgICAgICAgIHdhc1JlZ2lzdGVyZWRbcGFja2FnZUlkXSA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhY2thZ2VfLm5hbWUgPT09ICdEZXZUb29scycgfHwgKCEhbW9kdWxlICYmIG1vZHVsZS5fcGFja2FnZS5uYW1lID09PSAnRGV2VG9vbHMnKSkge1xuICAgICAgICAgICAgY29uc3QgdGVzdEZ1bmN0aW9ucyA9IERHLkZ1bmMuZmluZCh7IHRhZ3M6IFsnZGFydFRlc3QnXSB9KTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZiBvZiB0ZXN0RnVuY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXJyID0gZi5uYW1lLnNwbGl0KC9cXHMqXFx8XFxzKi9nKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuYW1lID0gKF9hID0gYXJyLnBvcCgpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBmLm5hbWU7XG4gICAgICAgICAgICAgICAgY29uc3QgY2F0ID0gYXJyLmxlbmd0aCA/IGNvcmVDYXROYW1lICsgJzogJyArIGFyci5qb2luKCc6ICcpIDogY29yZUNhdE5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKG1vZHVsZVRlc3RzW2NhdF0gPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlVGVzdHNbY2F0XSA9IHsgdGVzdHM6IFtdLCBjbGVhcjogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgIG1vZHVsZVRlc3RzW2NhdF0udGVzdHMucHVzaChuZXcgVGVzdChjYXQsIG5hbWUsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHsgcmV0dXJuIHlpZWxkIGYuYXBwbHkoKTsgfSksIHsgaXNBZ2dyZWdhdGVkOiBmLm91dHB1dHMubGVuZ3RoID4gMCwgdGltZW91dDogMzAwMDAwIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2R1bGVBdXRvVGVzdHMgPSBbXTtcbiAgICAgICAgY29uc3QgbW9kdWxlRGVtbyA9IFtdO1xuICAgICAgICBjb25zdCBtb2R1bGVEZXRlY3RvcnMgPSBbXTtcbiAgICAgICAgY29uc3QgcGFja0Z1bmN0aW9ucyA9IHlpZWxkIGdyb2suZGFwaS5mdW5jdGlvbnMuZmlsdGVyKGBwYWNrYWdlLmlkID0gXCIke3BhY2thZ2VJZH1cImApLmxpc3QoKTtcbiAgICAgICAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cCgvc2tpcDpcXHMqKFteLFxcc10rKXx3YWl0OlxccyooXFxkKyl8Y2F0OlxccyooW14sXFxzXSspfHRpbWVvdXQ6XFxzKihcXGQrKS9nKTtcbiAgICAgICAgZm9yIChjb25zdCBmIG9mIHBhY2tGdW5jdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHRlc3RzID0gZi5vcHRpb25zWyd0ZXN0J107XG4gICAgICAgICAgICBjb25zdCBkZW1vID0gZi5vcHRpb25zWydkZW1vUGF0aCddO1xuICAgICAgICAgICAgaWYgKCh0ZXN0cyAmJiBBcnJheS5pc0FycmF5KHRlc3RzKSAmJiB0ZXN0cy5sZW5ndGgpKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXMgPSB0ZXN0c1tpXS5tYXRjaEFsbChyZWcpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXAgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgQXJyYXkuZnJvbShyZXMpLmZvckVhY2goKGFycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFyclswXS5zdGFydHNXaXRoKCdza2lwJykpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwWydza2lwJ10gPSBhcnJbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChhcnJbMF0uc3RhcnRzV2l0aCgnd2FpdCcpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcFsnd2FpdCddID0gcGFyc2VJbnQoYXJyWzJdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGFyclswXS5zdGFydHNXaXRoKCdjYXQnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBbJ2NhdCddID0gYXJyWzNdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYXJyWzBdLnN0YXJ0c1dpdGgoJ3RpbWVvdXQnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBbJ3RpbWVvdXQnXSA9IHBhcnNlSW50KGFycls0XSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXN0ID0gbmV3IFRlc3QoYXV0b1Rlc3RzQ2F0TmFtZSwgdGVzdHMubGVuZ3RoID09PSAxID8gZi5uYW1lIDogYCR7Zi5uYW1lfSAke2kgKyAxfWAsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IHlpZWxkIGdyb2suZnVuY3Rpb25zLmV2YWwoYWRkTmFtZXNwYWNlKHRlc3RzW2ldLCBmKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWFwLndhaXQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgZGVsYXkobWFwLndhaXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRocm93LWxpdGVyYWxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmVzID09PSAnYm9vbGVhbicgJiYgIXJlcylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBgRmFpbGVkOiAke3Rlc3RzW2ldfSwgZXhwZWN0ZWQgdHJ1ZSwgZ290ICR7cmVzfWA7XG4gICAgICAgICAgICAgICAgICAgIH0pLCB7IHNraXBSZWFzb246IG1hcC5za2lwLCB0aW1lb3V0OiBtYXAudGltZW91dCB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1hcC5jYXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhdCA9IGF1dG9UZXN0c0NhdE5hbWUgKyAnOiAnICsgbWFwLmNhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlc3QuY2F0ZWdvcnkgPSBjYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kdWxlVGVzdHNbY2F0XSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZVRlc3RzW2NhdF0gPSB7IHRlc3RzOiBbXSwgY2xlYXI6IHRydWUgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZVRlc3RzW2NhdF0udGVzdHMucHVzaCh0ZXN0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVBdXRvVGVzdHMucHVzaCh0ZXN0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGVtbykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdhaXQgPSBmLm9wdGlvbnNbJ2RlbW9XYWl0J10gPyBwYXJzZUludChmLm9wdGlvbnNbJ2RlbW9XYWl0J10pIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRlc3QgPSBuZXcgVGVzdChkZW1vQ2F0TmFtZSwgZi5mcmllbmRseU5hbWUsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3Jvay5zaGVsbC5sYXN0RXJyb3IgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgeWllbGQgZi5hcHBseSgpO1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCBkZWxheSh3YWl0ID8gd2FpdCA6IDIwMDApO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZ3Jvay5zaGVsbC5sYXN0RXJyb3IpXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZ3Jvay5zaGVsbC5sYXN0RXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pLCB7IHNraXBSZWFzb246IGYub3B0aW9uc1snZGVtb1NraXAnXSB9KTtcbiAgICAgICAgICAgICAgICBtb2R1bGVEZW1vLnB1c2godGVzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZi5oYXNUYWcoJ3NlbVR5cGVEZXRlY3RvcicpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGVzdCA9IG5ldyBUZXN0KGRldGVjdG9yc0NhdE5hbWUsIGYuZnJpZW5kbHlOYW1lLCAoKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFyciA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNvbCBvZiB0ZXN0RGF0YS5jbG9uZSgpLmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IHlpZWxkIGYuYXBwbHkoW2NvbF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJyLnB1c2gocmVzIHx8IGNvbC5zZW1UeXBlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBleHBlY3QoYXJyLmZpbHRlcigoaSkgPT4gaSkubGVuZ3RoLCAxKTtcbiAgICAgICAgICAgICAgICB9KSwgeyBza2lwUmVhc29uOiBmLm9wdGlvbnNbJ3NraXBUZXN0J10gfSk7XG4gICAgICAgICAgICAgICAgbW9kdWxlRGV0ZWN0b3JzLnB1c2godGVzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgd2FzUmVnaXN0ZXJlZFtwYWNrYWdlSWRdID0gdHJ1ZTtcbiAgICAgICAgaWYgKG1vZHVsZUF1dG9UZXN0cy5sZW5ndGgpXG4gICAgICAgICAgICBtb2R1bGVUZXN0c1thdXRvVGVzdHNDYXROYW1lXSA9IHsgdGVzdHM6IG1vZHVsZUF1dG9UZXN0cywgY2xlYXI6IHRydWUgfTtcbiAgICAgICAgaWYgKG1vZHVsZURlbW8ubGVuZ3RoKVxuICAgICAgICAgICAgbW9kdWxlVGVzdHNbZGVtb0NhdE5hbWVdID0geyB0ZXN0czogbW9kdWxlRGVtbywgY2xlYXI6IHRydWUgfTtcbiAgICAgICAgaWYgKG1vZHVsZURldGVjdG9ycy5sZW5ndGgpXG4gICAgICAgICAgICBtb2R1bGVUZXN0c1tkZXRlY3RvcnNDYXROYW1lXSA9IHsgdGVzdHM6IG1vZHVsZURldGVjdG9ycywgY2xlYXI6IGZhbHNlIH07XG4gICAgfSk7XG59XG5mdW5jdGlvbiByZWRlZmluZUNvbnNvbGUoKSB7XG4gICAgY29uc3QgbG9ncyA9IFtdO1xuICAgIGNvbnNvbGUubG9nID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgbG9ncy5wdXNoKC4uLmFyZ3MpO1xuICAgICAgICBzdGRMb2coLi4uYXJncyk7XG4gICAgfTtcbiAgICBjb25zb2xlLmluZm8gPSAoLi4uYXJncykgPT4ge1xuICAgICAgICBsb2dzLnB1c2goLi4uYXJncyk7XG4gICAgICAgIHN0ZEluZm8oLi4uYXJncyk7XG4gICAgfTtcbiAgICBjb25zb2xlLndhcm4gPSAoLi4uYXJncykgPT4ge1xuICAgICAgICBsb2dzLnB1c2goLi4uYXJncyk7XG4gICAgICAgIHN0ZFdhcm4oLi4uYXJncyk7XG4gICAgfTtcbiAgICBjb25zb2xlLmVycm9yID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgbG9ncy5wdXNoKC4uLmFyZ3MpO1xuICAgICAgICBzdGRFcnJvciguLi5hcmdzKTtcbiAgICB9O1xuICAgIHJldHVybiBsb2dzO1xufVxuZnVuY3Rpb24gcmVzZXRDb25zb2xlKCkge1xuICAgIGNvbnNvbGUubG9nID0gc3RkTG9nO1xuICAgIGNvbnNvbGUuaW5mbyA9IHN0ZEluZm87XG4gICAgY29uc29sZS53YXJuID0gc3RkV2FybjtcbiAgICBjb25zb2xlLmVycm9yID0gc3RkRXJyb3I7XG59XG5leHBvcnQgZnVuY3Rpb24gcnVuVGVzdHMob3B0aW9ucykge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2UsIF9mO1xuICAgIHZhciBfZztcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCBwYWNrYWdlXyA9IChfYiA9IChfYSA9IGdyb2suZnVuY3Rpb25zLmdldEN1cnJlbnRDYWxsKCkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mdW5jKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IucGFja2FnZTtcbiAgICAgICAgeWllbGQgaW5pdEF1dG9UZXN0cyhwYWNrYWdlXyk7XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBbXTtcbiAgICAgICAgY29uc29sZS5sb2coYFJ1bm5pbmcgdGVzdHNgKTtcbiAgICAgICAgb3B0aW9ucyAhPT0gbnVsbCAmJiBvcHRpb25zICE9PSB2b2lkIDAgPyBvcHRpb25zIDogKG9wdGlvbnMgPSB7fSk7XG4gICAgICAgIChfYyA9IChfZyA9IG9wdGlvbnMpLnRlc3RDb250ZXh0KSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAoX2cudGVzdENvbnRleHQgPSBuZXcgVGVzdENvbnRleHQoKSk7XG4gICAgICAgIGdyb2suc2hlbGwubGFzdEVycm9yID0gJyc7XG4gICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBbXTtcbiAgICAgICAgY29uc3QgbG9ncyA9IHJlZGVmaW5lQ29uc29sZSgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModGVzdHMpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCghIShvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuY2F0ZWdvcnkpICYmICFrZXkudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgKChfZCA9IG9wdGlvbnMuZXhjbHVkZSkgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kLnNvbWUoKGMpID0+IGtleS5zdGFydHNXaXRoKGMpKSkpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIHN0ZExvZyhgU3RhcnRlZCAke2tleX0gY2F0ZWdvcnlgKTtcbiAgICAgICAgICAgICAgICBjYXRlZ29yaWVzLnB1c2goa2V5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBza2lwcGVkID0gKF9lID0gdmFsdWUudGVzdHMpID09PSBudWxsIHx8IF9lID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZS5ldmVyeSgodCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSB0Lm9wdGlvbnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5za2lwUmVhc29uOyB9KTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUuYmVmb3JlICYmICFza2lwcGVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgdmFsdWUuYmVmb3JlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoICh4KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLmJlZm9yZVN0YXR1cyA9IGdldFJlc3VsdCh4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgdCA9IChfZiA9IHZhbHVlLnRlc3RzKSAhPT0gbnVsbCAmJiBfZiAhPT0gdm9pZCAwID8gX2YgOiBbXTtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBbXTtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUuY2xlYXIpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXMucHVzaCh5aWVsZCBleGVjVGVzdCh0W2ldLCBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMudGVzdCwgbG9ncywgdmFsdWUudGltZW91dCwgcGFja2FnZV8ubmFtZSwgb3B0aW9ucy52ZXJib3NlKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBncm9rLnNoZWxsLmNsb3NlQWxsKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBERy5CYWxsb29uLmNsb3NlQWxsKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdC5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5wdXNoKHlpZWxkIGV4ZWNUZXN0KHRbaV0sIG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy50ZXN0LCBsb2dzLCB2YWx1ZS50aW1lb3V0LCBwYWNrYWdlXy5uYW1lLCBvcHRpb25zLnZlcmJvc2UpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJlcy5maWx0ZXIoKGQpID0+IGQucmVzdWx0ICE9ICdza2lwcGVkJyk7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlLmFmdGVyICYmICFza2lwcGVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgdmFsdWUuYWZ0ZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUuYWZ0ZXJTdGF0dXMgPSBnZXRSZXN1bHQoeCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIENsZWFyIGFmdGVyIGNhdGVnb3J5XG4gICAgICAgICAgICAgICAgLy8gZ3Jvay5zaGVsbC5jbG9zZUFsbCgpO1xuICAgICAgICAgICAgICAgIC8vIERHLkJhbGxvb24uY2xvc2VBbGwoKTtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUuYWZ0ZXJTdGF0dXMpXG4gICAgICAgICAgICAgICAgICAgIGRhdGEucHVzaCh7IGNhdGVnb3J5OiBrZXksIG5hbWU6ICdhZnRlcicsIHJlc3VsdDogdmFsdWUuYWZ0ZXJTdGF0dXMsIHN1Y2Nlc3M6IGZhbHNlLCBtczogMCwgc2tpcHBlZDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLmJlZm9yZVN0YXR1cylcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5wdXNoKHsgY2F0ZWdvcnk6IGtleSwgbmFtZTogJ2JlZm9yZScsIHJlc3VsdDogdmFsdWUuYmVmb3JlU3RhdHVzLCBzdWNjZXNzOiBmYWxzZSwgbXM6IDAsIHNraXBwZWQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaCguLi5kYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgIHJlc2V0Q29uc29sZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLnRlc3RDb250ZXh0LmNhdGNoVW5oYW5kbGVkKSB7XG4gICAgICAgICAgICB5aWVsZCBkZWxheSgxMDAwKTtcbiAgICAgICAgICAgIGlmIChncm9rLnNoZWxsLmxhc3RFcnJvci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnk6ICdVbmhhbmRsZWQgZXhjZXB0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdleGNlcHRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0OiBncm9rLnNoZWxsLmxhc3RFcnJvciwgc3VjY2VzczogZmFsc2UsIG1zOiAwLCBza2lwcGVkOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghb3B0aW9ucy50ZXN0ICYmIHJlc3VsdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBzdWNjZXNzZnVsID0gcmVzdWx0cy5maWx0ZXIoKHIpID0+IHIuc3VjY2VzcykubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3Qgc2tpcHBlZCA9IHJlc3VsdHMuZmlsdGVyKChyKSA9PiByLnNraXBwZWQpLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnN0IGZhaWxlZCA9IHJlc3VsdHMuZmlsdGVyKChyKSA9PiAhci5zdWNjZXNzKTtcbiAgICAgICAgICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcGFja2FnZV8ubmFtZTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2F0IG9mIGNhdGVnb3JpZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSByZXN1bHRzLmZpbHRlcigocikgPT4gci5jYXRlZ29yeSA9PT0gY2F0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBmYWlsZWRfID0gcmVzLmZpbHRlcigocikgPT4gIXIuc3VjY2VzcykubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgc3VjY2VzczogZmFpbGVkXyA9PT0gMCxcbiAgICAgICAgICAgICAgICAgICAgcGFzc2VkOiByZXMuZmlsdGVyKChyKSA9PiByLnN1Y2Nlc3MpLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgc2tpcHBlZDogcmVzLmZpbHRlcigocikgPT4gci5za2lwcGVkKS5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIGZhaWxlZDogZmFpbGVkXyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3BhY2thZ2UnLCBwYWNrYWdlTmFtZSwgY2F0ZWdvcnk6IGNhdCB9O1xuICAgICAgICAgICAgICAgIGdyb2subG9nLnVzYWdlKGAke3BhY2thZ2VOYW1lfTogJHtjYXR9YCwgcGFyYW1zLCBgY2F0ZWdvcnktcGFja2FnZSAke3BhY2thZ2VOYW1lfTogJHtjYXR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIW9wdGlvbnMuY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7IHN1Y2Nlc3M6IGZhaWxlZC5sZW5ndGggPT09IDAsIHBhc3NlZDogc3VjY2Vzc2Z1bCwgc2tpcHBlZCwgZmFpbGVkOiBmYWlsZWQubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAncGFja2FnZScsIHBhY2thZ2VOYW1lIH07XG4gICAgICAgICAgICAgICAgZ3Jvay5sb2cudXNhZ2UocGFja2FnZU5hbWUsIHBhcmFtcywgYHBhY2thZ2UtcGFja2FnZSAke3BhY2thZ2VOYW1lfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMudGVzdENvbnRleHQucmVwb3J0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IERHLkxvZ2dlcigpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gJ1BhY2thZ2UgQHBhY2thZ2UgdGVzdGVkOiBAc3VjY2Vzc2Z1bCBzdWNjZXNzZnVsLCBAc2tpcHBlZCBza2lwcGVkLCBAZmFpbGVkIGZhaWxlZCB0ZXN0cyc7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzZnVsOiBzdWNjZXNzZnVsLFxuICAgICAgICAgICAgICAgICAgICBza2lwcGVkOiBza2lwcGVkLFxuICAgICAgICAgICAgICAgICAgICBmYWlsZWQ6IGZhaWxlZC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIHBhY2thZ2U6IHBhY2thZ2VfXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHIgb2YgZmFpbGVkKVxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHBhcmFtcywgeyBbYCR7ci5jYXRlZ29yeX0gfCAke3IubmFtZX1gXTogci5yZXN1bHQgfSk7XG4gICAgICAgICAgICAgICAgbG9nZ2VyLmxvZyhkZXNjcmlwdGlvbiwgcGFyYW1zLCAncGFja2FnZS10ZXN0ZWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldFJlc3VsdCh4KSB7XG4gICAgcmV0dXJuIGAke3gudG9TdHJpbmcoKX1cXG4ke3guc3RhY2sgPyBERy5Mb2dnZXIudHJhbnNsYXRlU3RhY2tUcmFjZSh4LnN0YWNrKSA6ICcnfWA7XG59XG5mdW5jdGlvbiBleGVjVGVzdCh0LCBwcmVkaWNhdGUsIGxvZ3MsIGNhdGVnb3J5VGltZW91dCwgcGFja2FnZU5hbWUsIHZlcmJvc2UpIHtcbiAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lLCBfZjtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBsb2dzLmxlbmd0aCA9IDA7XG4gICAgICAgIGxldCByO1xuICAgICAgICBsZXQgdHlwZSA9ICdwYWNrYWdlJztcbiAgICAgICAgY29uc3QgZmlsdGVyID0gcHJlZGljYXRlICE9IHVuZGVmaW5lZCAmJiAodC5uYW1lLnRvTG93ZXJDYXNlKCkgIT09IHByZWRpY2F0ZS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgY29uc3Qgc2tpcCA9ICgoX2EgPSB0Lm9wdGlvbnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5za2lwUmVhc29uKSB8fCBmaWx0ZXI7XG4gICAgICAgIGNvbnN0IHNraXBSZWFzb24gPSBmaWx0ZXIgPyAnc2tpcHBlZCcgOiAoX2IgPSB0Lm9wdGlvbnMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5za2lwUmVhc29uO1xuICAgICAgICBpZiAoIXNraXApXG4gICAgICAgICAgICBzdGRMb2coYFN0YXJ0ZWQgJHt0LmNhdGVnb3J5fSAke3QubmFtZX1gKTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHNraXApXG4gICAgICAgICAgICAgICAgciA9IHsgc3VjY2VzczogdHJ1ZSwgcmVzdWx0OiBza2lwUmVhc29uLCBtczogMCwgc2tpcHBlZDogdHJ1ZSB9O1xuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IHRpbWVvdXRfID0gKChfYyA9IHQub3B0aW9ucykgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLnRpbWVvdXQpID09PSBTVEFOREFSVF9USU1FT1VUICYmXG4gICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5VGltZW91dCA/IGNhdGVnb3J5VGltZW91dCA6IChfZCA9IHQub3B0aW9ucykgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kLnRpbWVvdXQ7XG4gICAgICAgICAgICAgICAgdGltZW91dF8gPSBERy5UZXN0LmlzSW5CZW5jaG1hcmsgJiYgdGltZW91dF8gPT09IFNUQU5EQVJUX1RJTUVPVVQgPyBCRU5DSE1BUktfVElNRU9VVCA6IHRpbWVvdXRfO1xuICAgICAgICAgICAgICAgIHIgPSB7IHN1Y2Nlc3M6IHRydWUsIHJlc3VsdDogKF9lID0geWllbGQgdGltZW91dCh0LnRlc3QsIHRpbWVvdXRfKSkgIT09IG51bGwgJiYgX2UgIT09IHZvaWQgMCA/IF9lIDogJ09LJywgbXM6IDAsIHNraXBwZWQ6IGZhbHNlIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgIHIgPSB7IHN1Y2Nlc3M6IGZhbHNlLCByZXN1bHQ6IGdldFJlc3VsdCh4KSwgbXM6IDAsIHNraXBwZWQ6IGZhbHNlIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCgoX2YgPSB0Lm9wdGlvbnMpID09PSBudWxsIHx8IF9mID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZi5pc0FnZ3JlZ2F0ZWQpICYmIHIucmVzdWx0LmNvbnN0cnVjdG9yID09PSBERy5EYXRhRnJhbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbCA9IHIucmVzdWx0LmNvbCgnc3VjY2VzcycpO1xuICAgICAgICAgICAgdHlwZSA9ICdjb3JlJztcbiAgICAgICAgICAgIGlmIChjb2wpXG4gICAgICAgICAgICAgICAgci5zdWNjZXNzID0gY29sLnN0YXRzLnN1bSA9PT0gY29sLmxlbmd0aDtcbiAgICAgICAgICAgIGlmICghdmVyYm9zZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRmID0gci5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgZGYuY29sdW1ucy5yZW1vdmUoJ3N0YWNrJyk7XG4gICAgICAgICAgICAgICAgZGYucm93cy5yZW1vdmVXaGVyZSgocikgPT4gci5nZXQoJ3N1Y2Nlc3MnKSk7XG4gICAgICAgICAgICAgICAgci5yZXN1bHQgPSBkZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHIucmVzdWx0ID0gci5yZXN1bHQudG9Dc3YoKTtcbiAgICAgICAgfVxuICAgICAgICByLmxvZ3MgPSBsb2dzLmpvaW4oJ1xcbicpO1xuICAgICAgICByLm1zID0gRGF0ZS5ub3coKSAtIHN0YXJ0O1xuICAgICAgICBpZiAoIXNraXApXG4gICAgICAgICAgICBzdGRMb2coYEZpbmlzaGVkICR7dC5jYXRlZ29yeX0gJHt0Lm5hbWV9IGZvciAke3IubXN9IG1zYCk7XG4gICAgICAgIHIuY2F0ZWdvcnkgPSB0LmNhdGVnb3J5O1xuICAgICAgICByLm5hbWUgPSB0Lm5hbWU7XG4gICAgICAgIGlmICghZmlsdGVyKSB7XG4gICAgICAgICAgICBsZXQgcGFyYW1zID0geyAnc3VjY2Vzcyc6IHIuc3VjY2VzcywgJ3Jlc3VsdCc6IHIucmVzdWx0LCAnbXMnOiByLm1zLCAnc2tpcHBlZCc6IHIuc2tpcHBlZCxcbiAgICAgICAgICAgICAgICAndHlwZSc6IHR5cGUsIHBhY2thZ2VOYW1lLCAnY2F0ZWdvcnknOiB0LmNhdGVnb3J5LCAndGVzdCc6IHQubmFtZSwgJ2xvZ3MnOiByLmxvZ3MgfTtcbiAgICAgICAgICAgIGlmIChyLnJlc3VsdC5jb25zdHJ1Y3RvciA9PSBPYmplY3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBPYmplY3Qua2V5cyhyLnJlc3VsdCkucmVkdWNlKChhY2MsIGspID0+IChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGFjYyksIHsgWydyZXN1bHQuJyArIGtdOiByLnJlc3VsdFtrXSB9KSksIHt9KTtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHBhcmFtcyksIHJlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBncm9rLmxvZy51c2FnZShgJHtwYWNrYWdlTmFtZX06ICR7dC5jYXRlZ29yeX06ICR7dC5uYW1lfWAsIHBhcmFtcywgYHRlc3QtJHt0eXBlfSAke3BhY2thZ2VOYW1lfTogJHt0LmNhdGVnb3J5fTogJHt0Lm5hbWV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHI7XG4gICAgfSk7XG59XG4vKiBXYWl0cyBbbXNdIG1pbGxpc2Vjb25kcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGF5KG1zKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgeWllbGQgbmV3IFByb21pc2UoKHIpID0+IHNldFRpbWVvdXQociwgbXMpKTtcbiAgICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBhd2FpdENoZWNrKGNoZWNrSGFuZGxlciwgZXJyb3IgPSAnVGltZW91dCBleGNlZWRlZCcsIHdhaXQgPSA1MDAsIGludGVydmFsID0gNTApIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTtcbiAgICAgICAgICAgICAgICByZWplY3QobmV3IEVycm9yKGVycm9yKSk7XG4gICAgICAgICAgICB9LCB3YWl0KTtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGNvbnN0IGludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNoZWNrSGFuZGxlcigpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBpbnRlcnZhbCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuLy8gUmV0dXJucyB0ZXN0IGV4ZWN1dGlvbiByZXN1bHQgb3IgYW4gZXJyb3IgaW4gY2FzZSBvZiB0aW1lb3V0XG5mdW5jdGlvbiB0aW1lb3V0KGZ1bmMsIHRlc3RUaW1lb3V0KSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgbGV0IHRpbWVvdXQgPSBudWxsO1xuICAgICAgICBjb25zdCB0aW1lb3V0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9yc1xuICAgICAgICAgICAgICAgIHJlamVjdCgnRVhFQ1VUSU9OIFRJTUVPVVQnKTtcbiAgICAgICAgICAgIH0sIHRlc3RUaW1lb3V0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4geWllbGQgUHJvbWlzZS5yYWNlKFtmdW5jKCksIHRpbWVvdXRQcm9taXNlXSk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBpZiAodGltZW91dClcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0RpYWxvZ1ByZXNlbnQoZGlhbG9nVGl0bGUpIHtcbiAgICBjb25zdCBkaWFsb2dzID0gREcuRGlhbG9nLmdldE9wZW5EaWFsb2dzKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaWFsb2dzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChkaWFsb2dzW2ldLnRpdGxlID09IGRpYWxvZ1RpdGxlKVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbi8qKiBFeHBlY3RzIGFuIGFzeW5jaHJvbm91cyB7QGxpbmsgYWN0aW9ufSB0byB0aHJvdyBhbiBleGNlcHRpb24uIFVzZSB7QGxpbmsgY2hlY2t9IHRvIHBlcmZvcm1cbiAqIGRlZXBlciBpbnNwZWN0aW9uIG9mIHRoZSBleGNlcHRpb24gaWYgbmVjZXNzYXJ5LlxuICogQHBhcmFtICB7ZnVuY3Rpb24oKTogUHJvbWlzZTx2b2lkPn0gYWN0aW9uXG4gKiBAcGFyYW0gIHtmdW5jdGlvbihhbnkpOiBib29sZWFufSBjaGVja1xuICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdEV4Y2VwdGlvbkFzeW5jKGFjdGlvbiwgY2hlY2spIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBsZXQgY2F1Z2h0ID0gZmFsc2U7XG4gICAgICAgIGxldCBjaGVja2VkID0gZmFsc2U7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB5aWVsZCBhY3Rpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY2F1Z2h0ID0gdHJ1ZTtcbiAgICAgICAgICAgIGNoZWNrZWQgPSAhY2hlY2sgfHwgY2hlY2soZSk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBpZiAoIWNhdWdodClcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FuIGV4Y2VwdGlvbiBpcyBleHBlY3RlZCBidXQgbm90IHRocm93bicpO1xuICAgICAgICAgICAgaWYgKCFjaGVja2VkKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQW4gZXhwZWN0ZWQgZXhjZXB0aW9uIGlzIHRocm93biwgYnV0IGl0IGRvZXMgbm90IHNhdGlzZnkgdGhlIGNvbmRpdGlvbicpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5jb25zdCBjYXRERiA9IERHLkRhdGFGcmFtZS5mcm9tQ29sdW1ucyhbREcuQ29sdW1uLmZyb21TdHJpbmdzKCdjb2wnLCBbJ3ZhbDEnLCAndmFsMicsICd2YWwzJ10pXSk7XG4vKipcbiAqIFVuaXZlcnNhbCB0ZXN0IGZvciB2aWV3ZXJzLiBJdCBzZWFyY2ggdmlld2VycyBpbiBET00gYnkgdGFnczogY2FudmFzLCBzdmcsIGltZywgaW5wdXQsIGgxLCBhXG4gKiBAcGFyYW0gIHtzdHJpbmd9IHYgVmlld2VyIG5hbWVcbiAqIEBwYXJhbSAge0RHLkRhdGFGcmFtZX0gZGYgRGF0YWZyYW1lIHRvIHVzZS4gU2hvdWxkIGhhdmUgYXQgbGVhc3QgMyByb3dzXG4gKiBAcGFyYW0gIHtib29sZWFufSBvcHRpb25zLmRldGVjdFNlbWFudGljVHlwZXMgU3BlY2lmeSB3aGV0aGVyIHRvIGRldGVjdCBzZW1hbnRpYyB0eXBlcyBvciBub3RcbiAqIEBwYXJhbSAge2Jvb2xlYW59IG9wdGlvbnMucmVhZE9ubHkgSWYgc2V0IHRvIHRydWUsIHRoZSBkYXRhZnJhbWUgd2lsbCBub3QgYmUgbW9kaWZpZWQgZHVyaW5nIHRoZSB0ZXN0XG4gKiBAcGFyYW0gIHtib29sZWFufSBvcHRpb25zLmFyYml0cmFyeURmVGVzdCBJZiBzZXQgdG8gZmFsc2UsIHRlc3Qgb24gYXJiaXRyYXJ5IGRhdGFmcmFtZVxuICogKG9uZSBjYXRlZ29yaWNhbCBjb2x1bW4pIHdpbGwgbm90IGJlIHBlcmZvcm1lZFxuICogQHBhcmFtICB7b2JqZWN0fSBvcHRpb25zIExpc3Qgb2Ygb3B0aW9ucyAob3B0aW9uYWwpXG4gKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBUaGUgdGVzdCBpcyBjb25zaWRlcmVkIHN1Y2Nlc3NmdWwgaWYgaXQgY29tcGxldGVzIHdpdGhvdXQgZXJyb3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0Vmlld2VyKHYsIGRmLCBvcHRpb25zKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZVZpZXdlciA9ICh0diwgdiwgcGFja2FnZU5hbWUpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGxldCByZXM7XG4gICAgICAgICAgICBpZiAocGFja2FnZU5hbWUpIHtcbiAgICAgICAgICAgICAgICByZXMgPSAoeWllbGQgdHYuZGF0YUZyYW1lLnBsb3QuZnJvbVR5cGUodikpO1xuICAgICAgICAgICAgICAgIHR2LmRvY2tNYW5hZ2VyLmRvY2socmVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICByZXMgPSB0di5hZGRWaWV3ZXIodik7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5kZXRlY3RTZW1hbnRpY1R5cGVzKVxuICAgICAgICAgICAgeWllbGQgZ3Jvay5kYXRhLmRldGVjdFNlbWFudGljVHlwZXMoZGYpO1xuICAgICAgICBsZXQgdHYgPSBncm9rLnNoZWxsLmFkZFRhYmxlVmlldyhkZik7XG4gICAgICAgIGNvbnN0IHZpZXdlck5hbWUgPSBgW25hbWU9dmlld2VyLSR7di5yZXBsYWNlKC9cXHMrL2csICctJyl9IGldYDtcbiAgICAgICAgLy8gY29uc3Qgc2VsZWN0b3IgPSBgJHt2aWV3ZXJOYW1lfSBjYW52YXMsJHt2aWV3ZXJOYW1lfSBzdmcsJHt2aWV3ZXJOYW1lfSBpbWcsXG4gICAgICAgIC8vICAgJHt2aWV3ZXJOYW1lfSBpbnB1dCwke3ZpZXdlck5hbWV9IGgxLCR7dmlld2VyTmFtZX0gYSwke3ZpZXdlck5hbWV9IC5kNC12aWV3ZXItZXJyb3JgO1xuICAgICAgICBjb25zdCBzZWxlY3RvciA9IFsnZGl2LnVpLWJveCcgLyogcm9vdCAqLywgJ2NhbnZhcycsICdzdmcnLCAnaW1nJywgJ2lucHV0JywgJ2gxJywgJ2EnLCAnLmQ0LXZpZXdlci1lcnJvciddXG4gICAgICAgICAgICAubWFwKChzZWxUYWcpID0+IGAke3ZpZXdlck5hbWV9ICR7c2VsVGFnfWApLmpvaW4oJywgJyk7XG4gICAgICAgIGNvbnN0IHJlcyA9IFtdO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbGV0IHZpZXdlciA9IHlpZWxkIGNyZWF0ZVZpZXdlcih0diwgdiwgb3B0aW9ucyA9PT0gbnVsbCB8fCBvcHRpb25zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25zLnBhY2thZ2VOYW1lKTtcbiAgICAgICAgICAgIHlpZWxkIGF3YWl0Q2hlY2soKCkgPT4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3RvcikgIT09IG51bGwsICdjYW5ub3QgbG9hZCB2aWV3ZXInLCAzMDAwKTtcbiAgICAgICAgICAgIGNvbnN0IHRhZyA9IChfYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudGFnTmFtZTtcbiAgICAgICAgICAgIHJlcy5wdXNoKEFycmF5LmZyb20odHYudmlld2VycykubGVuZ3RoKTtcbiAgICAgICAgICAgIGlmICghKG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5yZWFkT25seSkpIHtcbiAgICAgICAgICAgICAgICBBcnJheS5mcm9tKGRmLnJvdygwKS5jZWxscykuZm9yRWFjaCgoYykgPT4gYy52YWx1ZSA9IG51bGwpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG51bSA9IGRmLnJvd0NvdW50IDwgMjAgPyBNYXRoLmZsb29yKGRmLnJvd0NvdW50IC8gMikgOiAxMDtcbiAgICAgICAgICAgICAgICBkZi5yb3dzLnNlbGVjdCgocm93KSA9PiByb3cuaWR4ID49IDAgJiYgcm93LmlkeCA8IG51bSk7XG4gICAgICAgICAgICAgICAgeWllbGQgZGVsYXkoNTApO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSBudW07IGkgPCBudW0gKiAyOyBpKyspXG4gICAgICAgICAgICAgICAgICAgIGRmLmZpbHRlci5zZXQoaSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgIHlpZWxkIGRlbGF5KDUwKTtcbiAgICAgICAgICAgICAgICBkZi5jdXJyZW50Um93SWR4ID0gMTtcbiAgICAgICAgICAgICAgICBjb25zdCBkZjEgPSBkZi5jbG9uZSgpO1xuICAgICAgICAgICAgICAgIGRmLmNvbHVtbnMubmFtZXMoKS5zbGljZSgwLCBNYXRoLmNlaWwoZGYuY29sdW1ucy5sZW5ndGggLyAyKSkuZm9yRWFjaCgoYykgPT4gZGYuY29sdW1ucy5yZW1vdmUoYykpO1xuICAgICAgICAgICAgICAgIHlpZWxkIGRlbGF5KDEwMCk7XG4gICAgICAgICAgICAgICAgdHYuZGF0YUZyYW1lID0gZGYxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IG9wdG5zO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBvcHRucyA9IHZpZXdlci5nZXRPcHRpb25zKHRydWUpLmxvb2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWaWV3ZXIncyAuZ2V0T3B0aW9ucygpIGVycm9yLmAsIHsgY2F1c2U6IGVyciB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBwcm9wcztcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcHJvcHMgPSB2aWV3ZXIuZ2V0UHJvcGVydGllcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVmlld2VyJ3MgLmdldFByb3BlcnRpZXMoKSBlcnJvci5gLCB7IGNhdXNlOiBlcnIgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBuZXdQcm9wcyA9IHt9O1xuICAgICAgICAgICAgT2JqZWN0LmtleXMob3B0bnMpLmZpbHRlcigoaykgPT4gdHlwZW9mIG9wdG5zW2tdID09PSAnYm9vbGVhbicpLmZvckVhY2goKGspID0+IG5ld1Byb3BzW2tdID0gIW9wdG5zW2tdKTtcbiAgICAgICAgICAgIHByb3BzLmZpbHRlcigocCkgPT4gcC5jaG9pY2VzICE9PSBudWxsKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiBuZXdQcm9wc1twLm5hbWVdID0gcC5jaG9pY2VzLmZpbmQoKGMpID0+IGMgIT09IG9wdG5zW3AubmFtZV0pKTtcbiAgICAgICAgICAgIHZpZXdlci5zZXRPcHRpb25zKG5ld1Byb3BzKTtcbiAgICAgICAgICAgIHlpZWxkIGRlbGF5KDMwMCk7XG4gICAgICAgICAgICBjb25zdCBsYXlvdXQgPSB0di5zYXZlTGF5b3V0KCk7XG4gICAgICAgICAgICBjb25zdCBvbGRQcm9wcyA9IHZpZXdlci5nZXRPcHRpb25zKCkubG9vaztcbiAgICAgICAgICAgIHR2LnJlc2V0TGF5b3V0KCk7XG4gICAgICAgICAgICByZXMucHVzaChBcnJheS5mcm9tKHR2LnZpZXdlcnMpLmxlbmd0aCk7XG4gICAgICAgICAgICB0di5sb2FkTGF5b3V0KGxheW91dCk7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RvcjEgPSBgJHt2aWV3ZXJOYW1lfSAke3RhZ31gO1xuICAgICAgICAgICAgeWllbGQgYXdhaXRDaGVjaygoKSA9PiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yMSkgIT09IG51bGwsICdjYW5ub3QgbG9hZCB2aWV3ZXIgZnJvbSBsYXlvdXQnLCAzMDAwKTtcbiAgICAgICAgICAgIHJlcy5wdXNoKEFycmF5LmZyb20odHYudmlld2VycykubGVuZ3RoKTtcbiAgICAgICAgICAgIHZpZXdlciA9IEFycmF5LmZyb20odHYudmlld2VycykuZmluZCgodikgPT4gdi50eXBlICE9PSAnR3JpZCcpO1xuICAgICAgICAgICAgZXhwZWN0QXJyYXkocmVzLCBbMiwgMSwgMl0pO1xuICAgICAgICAgICAgZXhwZWN0KEpTT04uc3RyaW5naWZ5KHZpZXdlci5nZXRPcHRpb25zKCkubG9vayksIEpTT04uc3RyaW5naWZ5KG9sZFByb3BzKSk7XG4gICAgICAgICAgICBpZiAoKG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5hcmJpdHJhcnlEZlRlc3QpICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuYXdhaXRWaWV3ZXIpXG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIG9wdGlvbnMuYXdhaXRWaWV3ZXIodmlld2VyKTtcbiAgICAgICAgICAgICAgICBncm9rLnNoZWxsLmNsb3NlQWxsKCk7XG4gICAgICAgICAgICAgICAgeWllbGQgZGVsYXkoMTAwKTtcbiAgICAgICAgICAgICAgICB0diA9IGdyb2suc2hlbGwuYWRkVGFibGVWaWV3KGNhdERGKTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB2aWV3ZXIgPSB5aWVsZCBjcmVhdGVWaWV3ZXIodHYsIHYsIG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9ucy5wYWNrYWdlTmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyb2suc2hlbGwuY2xvc2VBbGwoKTtcbiAgICAgICAgICAgICAgICAgICAgREcuQmFsbG9vbi5jbG9zZUFsbCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHlpZWxkIGF3YWl0Q2hlY2soKCkgPT4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3RvcikgIT09IG51bGwsICdjYW5ub3QgbG9hZCB2aWV3ZXIgb24gYXJiaXRyYXJ5IGRhdGFzZXQnLCAzMDAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9wdGlvbnMuYXdhaXRWaWV3ZXIpXG4gICAgICAgICAgICAgICAgeWllbGQgb3B0aW9ucy5hd2FpdFZpZXdlcih2aWV3ZXIpO1xuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgLy8gY2xvc2VBbGwoKSBpcyBoYW5kbGluZyBieSBjb21tb24gdGVzdCB3b3JrZmxvd1xuICAgICAgICAgICAgLy8gZ3Jvay5zaGVsbC5jbG9zZUFsbCgpO1xuICAgICAgICAgICAgLy8gREcuQmFsbG9vbi5jbG9zZUFsbCgpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkR1Z6ZEM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJblJsYzNRdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN08wRkJRVUVzVDBGQlR5eExRVUZMTEVsQlFVa3NUVUZCVFN4dFFrRkJiVUlzUTBGQlF6dEJRVU14UXl4UFFVRlBMRXRCUVVzc1JVRkJSU3hOUVVGTkxHbENRVUZwUWl4RFFVRkRPMEZCUlhSRExFOUJRVThzUlVGQlF5eFJRVUZSTEVWQlFVTXNUVUZCVFN4dFFrRkJiVUlzUTBGQlF6dEJRVWN6UXl4TlFVRk5MR2RDUVVGblFpeEhRVUZITEV0QlFVc3NRMEZCUXp0QlFVTXZRaXhOUVVGTkxHbENRVUZwUWl4SFFVRkhMRkZCUVZFc1EwRkJRenRCUVVWdVF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0QlFVTjZReXhOUVVGTkxFOUJRVThzUjBGQlJ5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dEJRVU16UXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRCUVVNelF5eE5RVUZOTEZGQlFWRXNSMEZCUnl4UFFVRlBMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0QlFVVTNReXhOUVVGTkxFTkJRVU1zVFVGQlRTeExRVUZMTEVkQlMyUXNSVUZCUlN4RFFVRkRPMEZCUlZBc1RVRkJUU3huUWtGQlowSXNSMEZCUnl4WlFVRlpMRU5CUVVNN1FVRkRkRU1zVFVGQlRTeFhRVUZYTEVkQlFVY3NUVUZCVFN4RFFVRkRPMEZCUXpOQ0xFMUJRVTBzWjBKQlFXZENMRWRCUVVjc1YwRkJWeXhEUVVGRE8wRkJRM0pETEUxQlFVMHNWMEZCVnl4SFFVRkhMRTFCUVUwc1EwRkJRenRCUVVNelFpeE5RVUZOTEdGQlFXRXNSMEZCTmtJc1JVRkJSU3hEUVVGRE8wRkJRMjVFTEUxQlFVMHNRMEZCUXl4SlFVRkpMR1ZCUVhWQ0xFTkJRVU03UVVGRmJrTXNUVUZCVFN4TFFVRlhMRTFCUVUwc1EwRkxkRUk3UVVGTVJDeFhRVUZwUWl4TlFVRk5PMGxCUTNKQ0xGTkJRV2RDTEU5QlFVOHNRMEZCUXl4TFFVRlZMRVZCUVVVc1NVRkJZVHRSUVVNdlF5eEpRVUZKTEV0QlFVc3NTVUZCU1N4SlFVRkpPMWxCUTJZc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5eEhRVUZITEVsQlFVa3NTVUZCU1N4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4alFVRmpMRU5CUVVNc1EwRkJRenRKUVVOd1JTeERRVUZETzBsQlNHVXNZMEZCVHl4VlFVZDBRaXhEUVVGQk8wRkJRMGdzUTBGQlF5eEZRVXhuUWl4TlFVRk5MRXRCUVU0c1RVRkJUU3hSUVV0MFFqdEJRV05FTEUxQlFVMHNUMEZCVHl4WFFVRlhPMGxCU1hSQ0xGbEJRVmtzWTBGQmQwSXNSVUZCUlN4TlFVRm5RanRSUVVoMFJDeHRRa0ZCWXl4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVOMFFpeFhRVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRPMUZCUjJJc1NVRkJTU3hqUVVGakxFdEJRVXNzVTBGQlV6dFpRVUZGTEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1kwRkJZeXhEUVVGRE8xRkJRM1pGTEVsQlFVa3NUVUZCVFN4TFFVRkxMRk5CUVZNN1dVRkJSU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXp0SlFVTnFSQ3hEUVVGRE8wbEJRVUVzUTBGQlF6dERRVU5JTzBGQlJVUXNUVUZCVFN4UFFVRlBMRWxCUVVrN1NVRk5aaXhaUVVGWkxGRkJRV2RDTEVWQlFVVXNTVUZCV1N4RlFVRkZMRWxCUVhkQ0xFVkJRVVVzVDBGQmNVSTdPMUZCUTNwR0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVkQlFVY3NVVUZCVVN4RFFVRkRPMUZCUTNwQ0xFbEJRVWtzUTBGQlF5eEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUTJwQ0xFOUJRVThzWVVGQlVDeFBRVUZQTEdOQlFWQXNUMEZCVHl4SlFVRlFMRTlCUVU4c1IwRkJTeXhGUVVGRkxFVkJRVU03VVVGRFppeE5RVUZCTEU5QlFVOHNRMEZCUXl4UFFVRlBMRzlEUVVGbUxFOUJRVThzUTBGQlF5eFBRVUZQTEVkQlFVc3NaMEpCUVdkQ0xFVkJRVU03VVVGRGNrTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhQUVVGUExFTkJRVU03VVVGRGRrSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhIUVVGMVFpeEZRVUZGTzFsQlEyNURMRTlCUVU4c1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlR5eFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVVN1owSkJRek5ETEVsQlFVa3NUVUZCVFN4SFFVRkhMRVZCUVVVc1EwRkJRenRuUWtGRGFFSXNTVUZCU1R0dlFrRkRSaXhOUVVGTkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVWQlFVVXNRMEZCUXp0cFFrRkRka0k3WjBKQlFVTXNUMEZCVHl4RFFVRk5MRVZCUVVVN2IwSkJRMllzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmxDUVVOWU8yZENRVU5FTEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVOc1FpeERRVUZETEVOQlFVRXNRMEZCUXl4RFFVRkRPMUZCUTB3c1EwRkJReXhEUVVGQkxFTkJRVU03U1VGRFNpeERRVUZETzBOQlEwWTdRVUZGUkN4TlFVRk5MRlZCUVdkQ0xGTkJRVk1zUTBGQlNTeExRVUZ2UWl4RlFVTnlSQ3hQUVVFd1FpeEZRVUZGTEU5QlFXMUNMRVZCUVVVc1MwRkJZU3hEUVVGRExFVkJRVVVzVTBGQmFVSXNVMEZCVXpzN1VVRkZNMFlzVDBGQlR5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzUlVGQlJUdFpRVU55UXl4TlFVRk5MRWRCUVVjc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNTVUZCVHl4RlFVRkZMRVZCUVVVN1owSkJRM1JETEVsQlFVazdiMEpCUTBZc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzI5Q1FVTmtMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dHBRa0ZEWmp0blFrRkJReXhQUVVGUExFTkJRVU1zUlVGQlJUdHZRa0ZEVml4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03YVVKQlExZzdaMEpCUTBRc2IwUkJRVzlFTzJkQ1FVTndSQ3hIUVVGSExFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdaMEpCUTJ4Q0xGbEJRVmtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0WlFVTjRRaXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5JTEUxQlFVMHNUMEZCVHl4SFFVRkhMRlZCUVZVc1EwRkJReXhIUVVGSExFVkJRVVU3WjBKQlF6bENMRWRCUVVjc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF6dG5Ra0ZEYkVJc2QwUkJRWGRFTzJkQ1FVTjRSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZEYWtJc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzFsQlExQXNUMEZCVHl4RlFVRkZMRU5CUVVNN1VVRkRXaXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5NTEVOQlFVTTdRMEZCUVR0QlFVVkVMRTFCUVUwc1ZVRkJWU3hKUVVGSkxFTkJRVU1zU1VGQldTeEZRVUZGTEVsQlFYZENMRVZCUVVVc1QwRkJjVUk3U1VGRGFFWXNTVUZCU1N4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVGRExFbEJRVWtzVTBGQlV6dFJRVU55UXl4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETzBsQlF6bENMRWxCUVVrc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF5eERRVUZETEV0QlFVc3NTVUZCU1N4VFFVRlRPMUZCUXpORExFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlFVTXNRMEZCUXl4TFFVRkxMRWRCUVVjc1JVRkJSU3hEUVVGRE8wbEJRM0JETEV0QlFVc3NRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJReXhMUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NTVUZCU1N4RFFVRkRMR1ZCUVdVc1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRja1lzUTBGQlF6dEJRVVZFTEdkR1FVRm5SanRCUVVOb1JpeE5RVUZOTEZWQlFWVXNUVUZCVFN4RFFVRkRMRTFCUVZjc1JVRkJSU3hYUVVGblFpeEpRVUZKTEVWQlFVVXNTMEZCWXp0SlFVTjBSU3hKUVVGSkxFdEJRVXM3VVVGRFVDeExRVUZMTEVkQlFVY3NSMEZCUnl4TFFVRkxMRWxCUVVrc1EwRkJRenM3VVVGRGJFSXNTMEZCU3l4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVOb1FpeEpRVUZKTEUxQlFVMHNTMEZCU3l4UlFVRlJPMUZCUTNKQ0xFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNSMEZCUnl4TFFVRkxMR0ZCUVdFc1VVRkJVU3hYUVVGWExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTTdRVUZEZGtVc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeFhRVUZYTEVOQlFVTXNUVUZCWXl4RlFVRkZMRkZCUVdkQ0xFVkJRVVVzVTBGQlV5eEhRVUZITEV0QlFVc3NSVUZCUlN4TFFVRmpPMGxCUXpkR0xFbEJRVWtzUTBGQlF5eE5RVUZOTEV0QlFVc3NUVUZCVFN4RFFVRkRMR2xDUVVGcFFpeEpRVUZKTEZGQlFWRXNTMEZCU3l4TlFVRk5MRU5CUVVNc2FVSkJRV2xDTEVOQlFVTTdVVUZET1VVc1EwRkJReXhOUVVGTkxFdEJRVXNzVFVGQlRTeERRVUZETEdsQ1FVRnBRaXhKUVVGSkxGRkJRVkVzUzBGQlN5eE5RVUZOTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU03VVVGRE9VVXNRMEZCUXl4TlFVRk5MRXRCUVVzc1RVRkJUU3hEUVVGRExFZEJRVWNzU1VGQlNTeFJRVUZSTEV0QlFVc3NUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dFJRVU14Uml4UFFVRlBPMGxCUTFRc1RVRkJUU3hSUVVGUkxFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4TlFVRk5MRWRCUVVjc1VVRkJVU3hEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETzBsQlEzcEVMRTFCUVUwc1EwRkJReXhSUVVGUkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVkQlFVY3NTMEZCU3l4aFFVRk1MRXRCUVVzc1kwRkJUQ3hMUVVGTExFZEJRVWtzUlVGQlJTeHBRa0ZCYVVJc1UwRkJVeXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU53UlN4SlFVRkpMRU5CUVVNc1VVRkJVVHRSUVVOWUxFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNXVUZCV1N4UlFVRlJMRk5CUVZNc1RVRkJUU3hwUWtGQmFVSXNVMEZCVXl4SFFVRkhMRU5CUVVNc1EwRkJRenRCUVVOMFJpeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMRmRCUVZjc1EwRkJReXhOUVVGdlFpeEZRVUZGTEZGQlFYTkNMRVZCUVVVc1MwRkJZenRKUVVOMFJpeE5RVUZOTEdkQ1FVRm5RaXhIUVVGSExGRkJRVkVzUTBGQlF5eFJRVUZSTEVOQlFVTTdTVUZETTBNc1RVRkJUU3hqUVVGakxFZEJRVWNzVFVGQlRTeERRVUZETEZGQlFWRXNRMEZCUXp0SlFVTjJReXhOUVVGTkxFTkJRVU1zWTBGQll5eEZRVUZGTEdkQ1FVRm5RaXhGUVVGRkxFZEJRVWNzUzBGQlN5eGhRVUZNTEV0QlFVc3NZMEZCVEN4TFFVRkxMRWRCUVVrc1JVRkJSU3hoUVVGaExFTkJRVU1zUTBGQlF6dEpRVVYwUlN4TFFVRkxMRTFCUVUwc1RVRkJUU3hKUVVGSkxGRkJRVkVzUTBGQlF5eFBRVUZQTEVWQlFVVTdVVUZEY2tNc1RVRkJUU3haUVVGWkxFZEJRVWNzVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEzaEVMRWxCUVVrc1dVRkJXU3hKUVVGSkxFbEJRVWs3V1VGRGRFSXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXhWUVVGVkxFMUJRVTBzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4RFFVRkRPMUZCUTNKRUxFbEJRVWtzV1VGQldTeERRVUZETEVsQlFVa3NTVUZCU1N4TlFVRk5MRU5CUVVNc1NVRkJTVHRaUVVOc1F5eE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1RVRkJUU3hEUVVGRExFbEJRVWtzYTBKQlFXdENMRTFCUVUwc1EwRkJReXhKUVVGSkxGRkJRVkVzV1VGQldTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRha2NzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExHZENRVUZuUWl4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRM3BETEUxQlFVMHNTMEZCU3l4SFFVRkhMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZETlVJc1RVRkJUU3hYUVVGWExFZEJRVWNzV1VGQldTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVONFF5eEpRVUZKTEUxQlFVMHNRMEZCUXl4SlFVRkpMRWxCUVVrc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTzJkQ1FVTTVRaXhYUVVGWExFTkJRVU1zVjBGQlZ5eEZRVUZGTEV0QlFVc3NSVUZCUlN4TlFVRk5MRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03YVVKQlF6VkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFbEJRVWtzU1VGQlNTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRk5CUVZNN1owSkJRM1pETEUxQlFVMHNRMEZCUXl4WFFVRlhMRU5CUVVNc1RVRkJUU3hEUVVGRExFdEJRVXNzUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenM3WjBKQlJTOURMRTFCUVUwc1EwRkJReXhYUVVGWExFVkJRVVVzUzBGQlN5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMU5CUTNKRE8wdEJRMFk3UVVGRFNDeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMRmxCUVZrc1EwRkJReXhOUVVFNFFpeEZRVUZGTEZGQlFXZERPMGxCUXpOR0xFdEJRVXNzVFVGQlRTeERRVUZETEZkQlFWY3NSVUZCUlN4aFFVRmhMRU5CUVVNc1NVRkJTU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4RlFVRkZPMUZCUTI1RkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRmRCUVZjc1EwRkJRenRaUVVOeVF5eE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMSE5DUVVGelFpeFhRVUZYTEdGQlFXRXNRMEZCUXl4RFFVRkRPMUZCUld4RkxFMUJRVTBzVjBGQlZ5eEhRVUZITEUxQlFVMHNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenRSUVVONFF5eEpRVUZKTEZkQlFWY3NXVUZCV1N4TFFVRkxMRWxCUVVrc1lVRkJZU3haUVVGWkxFdEJRVXM3V1VGRGFFVXNWMEZCVnl4RFFVRkRMRmRCUVZjc1JVRkJSU3hoUVVGaExFTkJRVU1zUTBGQlF6dGhRVU55UXl4SlFVRkpMRmRCUVZjc1dVRkJXU3hOUVVGTkxFbEJRVWtzWVVGQllTeFpRVUZaTEUxQlFVMDdXVUZEZGtVc1dVRkJXU3hEUVVGRExGZEJRVmNzUlVGQlJTeGhRVUZoTEVOQlFVTXNRMEZCUXp0aFFVTjBReXhKUVVGSkxFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExGRkJRVkVzUTBGQlF5eGhRVUZoTEVOQlFVTTdXVUZEY2tVc1YwRkJWeXhEUVVGRExGZEJRVmNzUlVGQlJTeGhRVUZoTEVOQlFVTXNRMEZCUXp0aFFVTnlReXhKUVVGSkxGZEJRVmNzU1VGQlNTeGhRVUZoTzFsQlEyNURMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zWVVGQllTeGhRVUZoTEdOQlFXTXNWMEZCVnl4WFFVRlhMRmRCUVZjc1IwRkJSeXhEUVVGRExFTkJRVU03UzBGRGFrYzdRVUZEU0N4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxGZEJRVmNzUTBGQlF5eE5RVUZ6UWl4RlFVRkZMRkZCUVhkQ08wbEJRekZGTEUxQlFVMHNXVUZCV1N4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGRGJrTXNUVUZCVFN4alFVRmpMRWRCUVVjc1VVRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVVYyUXl4SlFVRkpMRmxCUVZrc1NVRkJTU3hqUVVGakxFVkJRVVU3VVVGRGJFTXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXd3UkVGQk1FUXNXVUZCV1N4SFFVRkhPMWxCUTNaR0xHZERRVUZuUXl4alFVRmpMRVZCUVVVc1EwRkJReXhEUVVGRE8wdEJRM0pFTzBsQlJVUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEZsQlFWa3NSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVOeVF5eEpRVUZKTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1dVRkJXU3hMUVVGTExFbEJRVWtzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4WlFVRlpMRXRCUVVzN1dVRkROVVFzVjBGQlZ5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTnFReXhKUVVGSkxFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNXVUZCV1N4TlFVRk5MRWxCUVVrc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eFpRVUZaTEUxQlFVMDdXVUZEYmtVc1dVRkJXU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dGhRVU5zUXl4SlFVRkpMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUXk5Q0xFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNXVUZCV1N4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRk5CUVZNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0TFFVTnFSanRCUVVOSUxFTkJRVU03UVVGRlJDd3lRa0ZCTWtJN1FVRkRNMElzVFVGQlRTeFZRVUZWTEZGQlFWRXNRMEZCUXl4UlFVRm5RaXhGUVVGRkxFMUJRV3RDTEVWQlFVVXNUMEZCZVVJN08wbEJRM1JHTEdWQlFXVXNSMEZCUnl4UlFVRlJMRU5CUVVNN1NVRkRNMElzVFVGQlRTeEZRVUZGTEVOQlFVTTdTVUZEVkN4SlFVRkpMRXRCUVVzc1EwRkJReXhsUVVGbExFTkJRVU1zUlVGQlJUdFJRVU14UWl4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVGRExFTkJRVU1zUzBGQlN5eEhRVUZITEUxQlFVRXNUMEZCVHl4aFFVRlFMRTlCUVU4c2RVSkJRVkFzVDBGQlR5eERRVUZGTEV0QlFVc3NiVU5CUVVrc1NVRkJTU3hEUVVGRE8xRkJRM1JFTEV0QlFVc3NRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJReXhQUVVGUExFZEJRVWNzVDBGQlR5eGhRVUZRTEU5QlFVOHNkVUpCUVZBc1QwRkJUeXhEUVVGRkxFOUJRVThzUTBGQlF6dExRVU51UkR0QlFVTklMRU5CUVVNN1FVRkZSQ3gxUmtGQmRVWTdRVUZEZGtZc1RVRkJUU3hWUVVGVkxFMUJRVTBzUTBGQlF5eE5RVUV5UWp0SlFVTm9SQ3hKUVVGSkxFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlFVTXNTVUZCU1N4VFFVRlRPMUZCUTNKRExFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNN1NVRkRPVUlzUzBGQlN5eERRVUZETEdWQlFXVXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhOUVVGTkxFTkJRVU03UVVGRGVrTXNRMEZCUXp0QlFVVkVMSE5HUVVGelJqdEJRVU4wUml4TlFVRk5MRlZCUVZVc1MwRkJTeXhEUVVGRExFdEJRVEJDTzBsQlF6bERMRWxCUVVrc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF5eEpRVUZKTEZOQlFWTTdVVUZEY2tNc1MwRkJTeXhEUVVGRExHVkJRV1VzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVTTVRaXhMUVVGTExFTkJRVU1zWlVGQlpTeERRVUZETEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRCUVVOMlF5eERRVUZETzBGQlJVUXNVMEZCVXl4WlFVRlpMRU5CUVVNc1EwRkJVeXhGUVVGRkxFTkJRVlU3U1VGRGVrTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUTNaRUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFXZENMR0ZCUVdFc1EwRkJReXhSUVVGdlFpeEZRVUZGTEUxQlFWazdPenRSUVVOd1JTeE5RVUZOTEZOQlFWTXNSMEZCUnl4UlFVRlJMRU5CUVVNc1JVRkJSU3hEUVVGRE8xRkJRemxDTEVsQlFVa3NZVUZCWVN4RFFVRkRMRk5CUVZNc1EwRkJRenRaUVVGRkxFOUJRVTg3VVVGRGNrTXNUVUZCVFN4WFFVRlhMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU03VVVGRGJFUXNTVUZCU1N4WFFVRlhMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNTMEZCU3l4VFFVRlRPMWxCUXpORExGZEJRVmNzUTBGQlF5eFhRVUZYTEVOQlFVTXNTMEZCU3l4VFFVRlRPMWxCUTNSRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1ZVRkJWU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExGVkJRVlVzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXl4RlFVRkZPMWxCUTNKSExHRkJRV0VzUTBGQlF5eFRRVUZUTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNN1dVRkRhRU1zVDBGQlR6dFRRVU5TTzFGQlEwUXNTVUZCU1N4UlFVRlJMRU5CUVVNc1NVRkJTU3hMUVVGTExGVkJRVlVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWxCUVVrc1RVRkJUU3hEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEV0QlFVc3NWVUZCVlN4RFFVRkRMRVZCUVVVN1dVRkRja1lzVFVGQlRTeGhRVUZoTEVkQlFXTXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4VlFVRlZMRU5CUVVNc1JVRkJReXhEUVVGRExFTkJRVU03V1VGRGNFVXNTMEZCU3l4TlFVRk5MRU5CUVVNc1NVRkJTU3hoUVVGaExFVkJRVVU3WjBKQlF6ZENMRTFCUVUwc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE8yZENRVU4wUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhOUVVGQkxFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNiVU5CUVVrc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF6dG5Ra0ZEYWtNc1RVRkJUU3hIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1YwRkJWeXhIUVVGSExFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTTdaMEpCUXpORkxFbEJRVWtzVjBGQlZ5eERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRk5CUVZNN2IwSkJRMmhETEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRExFdEJRVXNzUlVGQlJTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1JVRkJReXhEUVVGRE8yZENRVU01UXl4WFFVRlhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhIUVVGSExFVkJRVVVzU1VGQlNTeEZRVU0xUXl4SFFVRlRMRVZCUVVVc1owUkJRVU1zVDBGQlFTeE5RVUZOTEVOQlFVTXNRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJRU3hIUVVGQkxFVkJRVVVzUlVGQlF5eFpRVUZaTEVWQlFVVXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WVVGRGVFWTdVMEZEUmp0UlFVTkVMRTFCUVUwc1pVRkJaU3hIUVVGSExFVkJRVVVzUTBGQlF6dFJRVU16UWl4TlFVRk5MRlZCUVZVc1IwRkJSeXhGUVVGRkxFTkJRVU03VVVGRGRFSXNUVUZCVFN4bFFVRmxMRWRCUVVjc1JVRkJSU3hEUVVGRE8xRkJRek5DTEUxQlFVMHNZVUZCWVN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCVFN4RFFVRkRMR2xDUVVGcFFpeFRRVUZUTEVkQlFVY3NRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8xRkJRemRHTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWxCUVVrc1RVRkJUU3hEUVVGRExHOUZRVUZ2UlN4RFFVRkRMRU5CUVVNN1VVRkROMFlzUzBGQlN5eE5RVUZOTEVOQlFVTXNTVUZCU1N4aFFVRmhMRVZCUVVVN1dVRkROMElzVFVGQlRTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU5vUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMWxCUTI1RExFbEJRVWtzUTBGQlF5eExRVUZMTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVN1owSkJRMjVFTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8yOUNRVU55UXl4TlFVRk5MRWRCUVVjc1IwRkJTU3hMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZaTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8yOUNRVU12UXl4TlFVRk5MRWRCUVVjc1IwRkJiVVVzUlVGQlJTeERRVUZETzI5Q1FVTXZSU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTzNkQ1FVTTVRaXhKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4VlFVRlZMRU5CUVVNc1RVRkJUU3hEUVVGRE96UkNRVUZGTEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdOa0pCUXk5RExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRlZCUVZVc1EwRkJReXhOUVVGTkxFTkJRVU03TkVKQlFVVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExGRkJRVkVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenMyUWtGRE9VUXNTVUZCU1N4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXpzMFFrRkJSU3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE96WkNRVU5zUkN4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNVMEZCVXl4RFFVRkRPelJDUVVGRkxFZEJRVWNzUTBGQlF5eFRRVUZUTEVOQlFVTXNSMEZCUnl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUXpORkxFTkJRVU1zUTBGQlF5eERRVUZETzI5Q1FVTklMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhGUVVGRkxFdEJRVXNzUTBGQlF5eE5RVUZOTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RlFVRkZMRWRCUVZNc1JVRkJSVHQzUWtGRGNrY3NUVUZCVFN4SFFVRkhMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN2QwSkJRMnBGTEVsQlFVa3NSMEZCUnl4RFFVRkRMRWxCUVVrN05FSkJRVVVzVFVGQlRTeExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8zZENRVU53UXl3MFEwRkJORU03ZDBKQlF6VkRMRWxCUVVrc1QwRkJUeXhIUVVGSExFdEJRVXNzVTBGQlV5eEpRVUZKTEVOQlFVTXNSMEZCUnpzMFFrRkJSU3hOUVVGTkxGZEJRVmNzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4M1FrRkJkMElzUjBGQlJ5eEZRVUZGTEVOQlFVTTdiMEpCUXk5R0xFTkJRVU1zUTBGQlFTeEZRVUZGTEVWQlFVTXNWVUZCVlN4RlFVRkZMRWRCUVVjc1EwRkJReXhKUVVGSkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NRMEZCUXl4UFFVRlBMRVZCUVVNc1EwRkJReXhEUVVGRE8yOUNRVU5xUkN4SlFVRkpMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVU3ZDBKQlExZ3NUVUZCVFN4SFFVRkhMRWRCUVZjc1owSkJRV2RDTEVkQlFVY3NTVUZCU1N4SFFVRkhMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU03ZDBKQlEzUkVMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzUjBGQlJ5eERRVUZETzNkQ1FVTndRaXhKUVVGSkxGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4VFFVRlRPelJDUVVOb1F5eFhRVUZYTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJReXhMUVVGTExFVkJRVVVzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRVZCUVVNc1EwRkJRenQzUWtGRE9VTXNWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN2NVSkJRMjVET3p0M1FrRkRReXhsUVVGbExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMmxDUVVNNVFqdGhRVU5HTzFsQlEwUXNTVUZCU1N4SlFVRkpMRVZCUVVVN1owSkJRMUlzVFVGQlRTeEpRVUZKTEVkQlFVY3NRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRE8yZENRVU5xUml4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFbEJRVWtzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXl4RFFVRkRMRmxCUVZrc1JVRkJSU3hIUVVGVExFVkJRVVU3YjBKQlF6VkVMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eEhRVUZITEVWQlFVVXNRMEZCUXp0dlFrRkRNVUlzVFVGQlRTeERRVUZETEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN2IwSkJRMmhDTEUxQlFVMHNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenR2UWtGRGFFTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk03ZDBKQlEzUkNMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRuUWtGRE1VTXNRMEZCUXl4RFFVRkJMRVZCUVVVc1JVRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4VlFVRlZMRU5CUVVNc1JVRkJReXhEUVVGRExFTkJRVU03WjBKQlEzaERMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdZVUZEZGtJN1dVRkRSQ3hKUVVGSkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zUlVGQlJUdG5Ra0ZETDBJc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFVkJRVVVzUTBGQlF5eERRVUZETEZsQlFWa3NSVUZCUlN4SFFVRlRMRVZCUVVVN2IwSkJRMnBGTEUxQlFVMHNSMEZCUnl4SFFVRkhMRVZCUVVVc1EwRkJRenR2UWtGRFppeExRVUZMTEUxQlFVMHNSMEZCUnl4SlFVRkpMRkZCUVZFc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF5eFBRVUZQTEVWQlFVVTdkMEpCUXpGRExFMUJRVTBzUjBGQlJ5eEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdkMEpCUTJwRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dHhRa0ZET1VJN2IwSkJRMFFzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZEZWtNc1EwRkJReXhEUVVGQkxFVkJRVVVzUlVGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhWUVVGVkxFTkJRVU1zUlVGQlF5eERRVUZETEVOQlFVTTdaMEpCUTNoRExHVkJRV1VzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1lVRkROVUk3VTBGRFJqdFJRVU5FTEdGQlFXRXNRMEZCUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRGFFTXNTVUZCU1N4bFFVRmxMRU5CUVVNc1RVRkJUVHRaUVVONFFpeFhRVUZYTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUjBGQlJ5eEZRVUZETEV0QlFVc3NSVUZCUlN4bFFVRmxMRVZCUVVVc1MwRkJTeXhGUVVGRkxFbEJRVWtzUlVGQlF5eERRVUZETzFGQlEzaEZMRWxCUVVrc1ZVRkJWU3hEUVVGRExFMUJRVTA3V1VGRGJrSXNWMEZCVnl4RFFVRkRMRmRCUVZjc1EwRkJReXhIUVVGSExFVkJRVU1zUzBGQlN5eEZRVUZGTEZWQlFWVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRExFTkJRVU03VVVGRE9VUXNTVUZCU1N4bFFVRmxMRU5CUVVNc1RVRkJUVHRaUVVONFFpeFhRVUZYTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUjBGQlJ5eEZRVUZETEV0QlFVc3NSVUZCUlN4bFFVRmxMRVZCUVVVc1MwRkJTeXhGUVVGRkxFdEJRVXNzUlVGQlF5eERRVUZET3p0RFFVTXhSVHRCUVVWRUxGTkJRVk1zWlVGQlpUdEpRVU4wUWl4TlFVRk5MRWxCUVVrc1IwRkJWU3hGUVVGRkxFTkJRVU03U1VGRGRrSXNUMEZCVHl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFZEJRVWNzU1VGQlNTeEZRVUZGTEVWQlFVVTdVVUZEZUVJc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTI1Q0xFMUJRVTBzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUTJ4Q0xFTkJRVU1zUTBGQlF6dEpRVU5HTEU5QlFVOHNRMEZCUXl4SlFVRkpMRWRCUVVjc1EwRkJReXhIUVVGSExFbEJRVWtzUlVGQlJTeEZRVUZGTzFGQlEzcENMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTnVRaXhQUVVGUExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTnVRaXhEUVVGRExFTkJRVU03U1VGRFJpeFBRVUZQTEVOQlFVTXNTVUZCU1N4SFFVRkhMRU5CUVVNc1IwRkJSeXhKUVVGSkxFVkJRVVVzUlVGQlJUdFJRVU42UWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTTdVVUZEYmtJc1QwRkJUeXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTTdTVUZEYmtJc1EwRkJReXhEUVVGRE8wbEJRMFlzVDBGQlR5eERRVUZETEV0QlFVc3NSMEZCUnl4RFFVRkRMRWRCUVVjc1NVRkJTU3hGUVVGRkxFVkJRVVU3VVVGRE1VSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEyNUNMRkZCUVZFc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlEzQkNMRU5CUVVNc1EwRkJRenRKUVVOR0xFOUJRVThzU1VGQlNTeERRVUZETzBGQlEyUXNRMEZCUXp0QlFVVkVMRk5CUVZNc1dVRkJXVHRKUVVOdVFpeFBRVUZQTEVOQlFVTXNSMEZCUnl4SFFVRkhMRTFCUVUwc1EwRkJRenRKUVVOeVFpeFBRVUZQTEVOQlFVTXNTVUZCU1N4SFFVRkhMRTlCUVU4c1EwRkJRenRKUVVOMlFpeFBRVUZQTEVOQlFVTXNTVUZCU1N4SFFVRkhMRTlCUVU4c1EwRkJRenRKUVVOMlFpeFBRVUZQTEVOQlFVTXNTMEZCU3l4SFFVRkhMRkZCUVZFc1EwRkJRenRCUVVNelFpeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRm5RaXhSUVVGUkxFTkJRVU1zVDBGRGRVVTdPenM3VVVGRGNFY3NUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJRU3hOUVVGQkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNZMEZCWXl4RlFVRkZMREJEUVVGRkxFbEJRVWtzTUVOQlFVVXNUMEZCVHl4RFFVRkRPMUZCUTJoRkxFMUJRVTBzWVVGQllTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUXpsQ0xFMUJRVTBzVDBGQlR5eEhRVU4xUkN4RlFVRkZMRU5CUVVNN1VVRkRka1VzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJRenRSUVVNM1FpeFBRVUZQTEdGQlFWQXNUMEZCVHl4alFVRlFMRTlCUVU4c1NVRkJVQ3hQUVVGUExFZEJRVXNzUlVGQlJTeEZRVUZETzFGQlEyWXNXVUZCUVN4UFFVRlJMRVZCUVVNc1YwRkJWeXgxUTBGQldDeFhRVUZYTEVkQlFVc3NTVUZCU1N4WFFVRlhMRVZCUVVVc1JVRkJRenRSUVVNelF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRk5CUVZNc1IwRkJSeXhGUVVGRkxFTkJRVU03VVVGRE1VSXNUVUZCVFN4VlFVRlZMRWRCUVVjc1JVRkJSU3hEUVVGRE8xRkJRM1JDTEUxQlFVMHNTVUZCU1N4SFFVRkhMR1ZCUVdVc1JVRkJSU3hEUVVGRE8xRkJReTlDTEVsQlFVazdXVUZEUml4TFFVRkxMRTFCUVUwc1EwRkJReXhIUVVGSExFVkJRVVVzUzBGQlN5eERRVUZETEVsQlFVa3NUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJUdG5Ra0ZEYUVRc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZCTEU5QlFVOHNZVUZCVUN4UFFVRlBMSFZDUVVGUUxFOUJRVThzUTBGQlJTeFJRVUZSTEVOQlFVRXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF5eFZRVUZWTEVOQlFVTXNUMEZCVHl4aFFVRlFMRTlCUVU4c2RVSkJRVkFzVDBGQlR5eERRVUZGTEZGQlFWRXNRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJReXhEUVVGRE8zRkNRVU42Uml4TlFVRkJMRTlCUVU4c1EwRkJReXhQUVVGUExEQkRRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUjBGQlJ5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGQk8yOUNRVU12UXl4VFFVRlRPMmRDUVVOWUxFMUJRVTBzUTBGQlF5eFhRVUZYTEVkQlFVY3NWMEZCVnl4RFFVRkRMRU5CUVVNN1owSkJRMnhETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03WjBKQlEzSkNMRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVUVzUzBGQlN5eERRVUZETEV0QlFVc3NNRU5CUVVVc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNWMEZCUXl4UFFVRkJMRTFCUVVFc1EwRkJReXhEUVVGRExFOUJRVThzTUVOQlFVVXNWVUZCVlN4RFFVRkJMRVZCUVVFc1EwRkJReXhEUVVGRE8yZENRVU5xUlN4SlFVRkpPMjlDUVVOR0xFbEJRVWtzUzBGQlN5eERRVUZETEUxQlFVMHNTVUZCU1N4RFFVRkRMRTlCUVU4N2QwSkJRekZDTEUxQlFVMHNTMEZCU3l4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE8ybENRVU40UWp0blFrRkJReXhQUVVGUExFTkJRVTBzUlVGQlJUdHZRa0ZEWml4TFFVRkxMRU5CUVVNc1dVRkJXU3hIUVVGSExGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0cFFrRkRia003WjBKQlEwUXNUVUZCVFN4RFFVRkRMRWRCUVVjc1RVRkJRU3hMUVVGTExFTkJRVU1zUzBGQlN5eHRRMEZCU1N4RlFVRkZMRU5CUVVNN1owSkJRelZDTEUxQlFVMHNSMEZCUnl4SFFVRkhMRVZCUVVVc1EwRkJRenRuUWtGRFppeEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRVZCUVVVN2IwSkJRMllzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN2QwSkJRMnBETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRTlCUVU4c1lVRkJVQ3hQUVVGUExIVkNRVUZRTEU5QlFVOHNRMEZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hGUVVGRkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNVVUZCVVN4RFFVRkRMRWxCUVVrc1JVRkJSU3hQUVVGUExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXp0M1FrRkRia2NzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJRenQzUWtGRGRFSXNSVUZCUlN4RFFVRkRMRTlCUVU4c1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF6dHhRa0ZEZGtJN2FVSkJRMFk3Y1VKQlFVMDdiMEpCUTB3c1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTzNkQ1FVTXZRaXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFBRVUZQTEdGQlFWQXNUMEZCVHl4MVFrRkJVQ3hQUVVGUExFTkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxGRkJRVkVzUTBGQlF5eEpRVUZKTEVWQlFVVXNUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU03YVVKQlEzUkhPMmRDUVVORUxFMUJRVTBzU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWxCUVVrc1UwRkJVeXhEUVVGRExFTkJRVU03WjBKQlEzUkVMRWxCUVVrN2IwSkJRMFlzU1VGQlNTeExRVUZMTEVOQlFVTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1QwRkJUenQzUWtGRGVrSXNUVUZCVFN4TFFVRkxMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU03YVVKQlEzWkNPMmRDUVVGRExFOUJRVThzUTBGQlRTeEZRVUZGTzI5Q1FVTm1MRXRCUVVzc1EwRkJReXhYUVVGWExFZEJRVWNzVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmxDUVVOc1F6dG5Ra0ZEUkN4MVFrRkJkVUk3WjBKQlEzWkNMSGxDUVVGNVFqdG5Ra0ZEZWtJc2VVSkJRWGxDTzJkQ1FVTjZRaXhKUVVGSkxFdEJRVXNzUTBGQlF5eFhRVUZYTzI5Q1FVTnVRaXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVTXNVVUZCVVN4RlFVRkZMRWRCUVVjc1JVRkJSU3hKUVVGSkxFVkJRVVVzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4TFFVRkxMRU5CUVVNc1YwRkJWeXhGUVVGRkxFOUJRVThzUlVGQlJTeExRVUZMTEVWQlFVVXNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZETEVOQlFVTXNRMEZCUXp0blFrRkRPVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNXVUZCV1R0dlFrRkRjRUlzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkRMRkZCUVZFc1JVRkJSU3hIUVVGSExFVkJRVVVzU1VGQlNTeEZRVUZGTEZGQlFWRXNSVUZCUlN4TlFVRk5MRVZCUVVVc1MwRkJTeXhEUVVGRExGbEJRVmtzUlVGQlJTeFBRVUZQTEVWQlFVVXNTMEZCU3l4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVVzVDBGQlR5eEZRVUZGTEV0QlFVc3NSVUZCUXl4RFFVRkRMRU5CUVVNN1owSkJRMmhJTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dGhRVU4yUWp0VFFVTkdPMmRDUVVGVE8xbEJRMUlzV1VGQldTeEZRVUZGTEVOQlFVTTdVMEZEYUVJN1VVRkRSQ3hKUVVGSkxFOUJRVThzUTBGQlF5eFhRVUZYTEVOQlFVTXNZMEZCWXl4RlFVRkZPMWxCUTNSRExFMUJRVTBzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMWxCUTJ4Q0xFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUlVGQlJUdG5Ra0ZEYmtNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF6dHZRa0ZEV0N4UlFVRlJMRVZCUVVVc2MwSkJRWE5DTzI5Q1FVTm9ReXhKUVVGSkxFVkJRVVVzV1VGQldUdHZRa0ZEYkVJc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RlFVRkZMRTlCUVU4c1JVRkJSU3hMUVVGTExFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1MwRkJTenRwUWtGRGNFVXNRMEZCUXl4RFFVRkRPMkZCUTBvN1UwRkRSanRSUVVORUxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4SlFVRkpMRTlCUVU4c1EwRkJReXhOUVVGTkxFVkJRVVU3V1VGRGJrTXNUVUZCVFN4VlFVRlZMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXp0WlFVTXpSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8xbEJRM2hFTEUxQlFVMHNUVUZCVFN4SFFVRkhMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFsQlEycEVMRTFCUVUwc1YwRkJWeXhIUVVGSExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTTdXVUZEYkVNc1MwRkJTeXhOUVVGTkxFZEJRVWNzU1VGQlNTeFZRVUZWTEVWQlFVVTdaMEpCUXpWQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4UlFVRlJMRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU03WjBKQlEzUkVMRTFCUVUwc1QwRkJUeXhIUVVGSExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRuUWtGRGNrUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1JVRkJReXhQUVVGUExFVkJRVVVzVDBGQlR5eExRVUZMTEVOQlFVTTdiMEpCUTNCRExFMUJRVTBzUlVGQlJTeEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1RVRkJUVHR2UWtGRE0wTXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eE5RVUZOTzI5Q1FVTTFReXhOUVVGTkxFVkJRVVVzVDBGQlR6dHZRa0ZEWml4SlFVRkpMRVZCUVVVc1UwRkJVeXhGUVVGRkxGZEJRVmNzUlVGQlJTeFJRVUZSTEVWQlFVVXNSMEZCUnl4RlFVRkRMRU5CUVVNN1owSkJReTlETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzVjBGQlZ5eExRVUZMTEVkQlFVY3NSVUZCUlN4RlFVTnlReXhOUVVGTkxFVkJRVVVzYjBKQlFXOUNMRmRCUVZjc1MwRkJTeXhIUVVGSExFVkJRVVVzUTBGQlF5eERRVUZETzJGQlEzUkVPMWxCUTBRc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVWQlFVVTdaMEpCUTNKQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEVWQlFVTXNUMEZCVHl4RlFVRkZMRTFCUVUwc1EwRkJReXhOUVVGTkxFdEJRVXNzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4VlFVRlZMRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeE5RVUZOTEVOQlFVTXNUVUZCVFR0dlFrRkRPVVlzU1VGQlNTeEZRVUZGTEZOQlFWTXNSVUZCUlN4WFFVRlhMRVZCUVVNc1EwRkJRenRuUWtGRGFFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zVjBGQlZ5eEZRVUZGTEUxQlFVMHNSVUZCUlN4dFFrRkJiVUlzVjBGQlZ5eEZRVUZGTEVOQlFVTXNRMEZCUXp0aFFVTjJSVHRaUVVORUxFbEJRVWtzVDBGQlR5eERRVUZETEZkQlFWY3NRMEZCUXl4TlFVRk5MRVZCUVVVN1owSkJRemxDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1JVRkJSU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETzJkQ1FVTXZRaXhOUVVGTkxGZEJRVmNzUjBGQlJ5eDVSa0ZCZVVZc1EwRkJRenRuUWtGRE9VY3NUVUZCVFN4TlFVRk5MRWRCUVVjN2IwSkJRMklzVlVGQlZTeEZRVUZGTEZWQlFWVTdiMEpCUTNSQ0xFOUJRVThzUlVGQlJTeFBRVUZQTzI5Q1FVTm9RaXhOUVVGTkxFVkJRVVVzVFVGQlRTeERRVUZETEUxQlFVMDdiMEpCUTNKQ0xFOUJRVThzUlVGQlJTeFJRVUZSTzJsQ1FVTnNRaXhEUVVGRE8yZENRVU5HTEV0QlFVc3NUVUZCVFN4RFFVRkRMRWxCUVVrc1RVRkJUVHR2UWtGQlJTeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNVVUZCVVN4TlFVRk5MRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVNc1EwRkJReXhEUVVGRE8yZENRVU42Uml4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExGZEJRVmNzUlVGQlJTeE5RVUZOTEVWQlFVVXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF6dGhRVU51UkR0VFFVTkdPMUZCUTBRc1QwRkJUeXhQUVVGUExFTkJRVU03TzBOQlEyaENPMEZCUlVRc1UwRkJVeXhUUVVGVExFTkJRVU1zUTBGQlRUdEpRVU4yUWl4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRExGRkJRVkVzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF6dEJRVU55Uml4RFFVRkRPMEZCUlVRc1UwRkJaU3hSUVVGUkxFTkJRVU1zUTBGQlR5eEZRVUZGTEZOQlFUWkNMRVZCUVVVc1NVRkJWeXhGUVVONlJTeGxRVUYzUWl4RlFVRkZMRmRCUVc5Q0xFVkJRVVVzVDBGQmFVSTdPenRSUVVOcVJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOb1FpeEpRVUZKTEVOQlFXbElMRU5CUVVNN1VVRkRkRWdzU1VGQlNTeEpRVUZKTEVkQlFWY3NVMEZCVXl4RFFVRkRPMUZCUXpkQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEZOQlFWTXNTVUZCU1N4VFFVRlRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NSVUZCUlN4TFFVRkxMRk5CUVZNc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlF6VkdMRTFCUVUwc1NVRkJTU3hIUVVGSExFTkJRVUVzVFVGQlFTeERRVUZETEVOQlFVTXNUMEZCVHl3d1EwRkJSU3hWUVVGVkxFdEJRVWtzVFVGQlRTeERRVUZETzFGQlF6ZERMRTFCUVUwc1ZVRkJWU3hIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGQkxFTkJRVU1zUTBGQlF5eFBRVUZQTERCRFFVRkZMRlZCUVZVc1EwRkJRenRSUVVNNVJDeEpRVUZKTEVOQlFVTXNTVUZCU1R0WlFVTlFMRTFCUVUwc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF5eFJRVUZSTEVsQlFVa3NRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRE5VTXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETzFGQlEzcENMRWxCUVVrN1dVRkRSaXhKUVVGSkxFbEJRVWs3WjBKQlEwNHNRMEZCUXl4SFFVRkhMRVZCUVVNc1QwRkJUeXhGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNWVUZCVnl4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVVzVDBGQlR5eEZRVUZGTEVsQlFVa3NSVUZCUXl4RFFVRkRPMmxDUVVNMVJEdG5Ra0ZEU0N4SlFVRkpMRkZCUVZFc1IwRkJSeXhEUVVGQkxFMUJRVUVzUTBGQlF5eERRVUZETEU5QlFVOHNNRU5CUVVVc1QwRkJUeXhOUVVGTExHZENRVUZuUWp0dlFrRkRjRVFzWlVGQlpTeERRVUZETEVOQlFVTXNRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVUVzUTBGQlF5eERRVUZETEU5QlFVOHNNRU5CUVVVc1QwRkJVU3hEUVVGRE8yZENRVU14UkN4UlFVRlJMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eGhRVUZoTEVsQlFVa3NVVUZCVVN4TFFVRkxMR2RDUVVGblFpeERRVUZETEVOQlFVTXNRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eERRVUZETEVOQlFVTXNVVUZCVVN4RFFVRkRPMmRDUVVOcVJ5eERRVUZETEVkQlFVY3NSVUZCUXl4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzUlVGQlJTeE5RVUZCTEUxQlFVMHNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzVVVGQlVTeERRVUZETEcxRFFVRkpMRWxCUVVrc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVNc1EwRkJRenRoUVVNM1JqdFRRVU5HTzFGQlFVTXNUMEZCVHl4RFFVRk5MRVZCUVVVN1dVRkRaaXhEUVVGRExFZEJRVWNzUlVGQlF5eFBRVUZQTEVWQlFVVXNTMEZCU3l4RlFVRkZMRTFCUVUwc1JVRkJSU3hUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZETEVOQlFVTTdVMEZEYmtVN1VVRkRSQ3hKUVVGSkxFTkJRVUVzVFVGQlFTeERRVUZETEVOQlFVTXNUMEZCVHl3d1EwRkJSU3haUVVGWkxFdEJRVWtzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4WFFVRlhMRXRCUVVzc1JVRkJSU3hEUVVGRExGTkJRVk1zUlVGQlJUdFpRVU53UlN4TlFVRk5MRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVOd1F5eEpRVUZKTEVkQlFVY3NUVUZCVFN4RFFVRkRPMWxCUTJRc1NVRkJTU3hIUVVGSE8yZENRVU5NTEVOQlFVTXNRMEZCUXl4UFFVRlBMRWRCUVVjc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEV0QlFVc3NSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJRenRaUVVNelF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZPMmRDUVVOYUxFMUJRVTBzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNN1owSkJRM0JDTEVWQlFVVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzJkQ1FVTXpRaXhGUVVGRkxFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVU0zUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hIUVVGSExFVkJRVVVzUTBGQlF6dGhRVU5tTzFsQlEwUXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRPMU5CUXpkQ08xRkJRMFFzUTBGQlF5eERRVUZETEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEzcENMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVNeFFpeEpRVUZKTEVOQlFVTXNTVUZCU1R0WlFVTlFMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eFJRVUZSTEVsQlFVa3NRMEZCUXl4RFFVRkRMRWxCUVVrc1VVRkJVU3hEUVVGRExFTkJRVU1zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTTFSQ3hEUVVGRExFTkJRVU1zVVVGQlVTeEhRVUZITEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNN1VVRkRlRUlzUTBGQlF5eERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRE8xRkJRMmhDTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVN1dVRkRXQ3hKUVVGSkxFMUJRVTBzUjBGQlJ5eEZRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1QwRkJUeXhGUVVGRkxGRkJRVkVzUlVGQlJTeERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEZOQlFWTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1QwRkJUenRuUWtGRGRFWXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hYUVVGWExFVkJRVVVzVlVGQlZTeEZRVUZGTEVOQlFVTXNRMEZCUXl4UlFVRlJMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVU1zUTBGQlF6dFpRVU55Uml4SlFVRkpMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU1zVjBGQlZ5eEpRVUZKTEUxQlFVMHNSVUZCUlR0blFrRkRiRU1zVFVGQlRTeEhRVUZITEVkQlFVY3NUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNhVU5CUVVzc1IwRkJSeXhMUVVGRkxFTkJRVU1zVTBGQlV5eEhRVUZITEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVVXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJRenRuUWtGRGJrY3NUVUZCVFN4dFEwRkJUeXhOUVVGTkxFZEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTTdZVUZET1VJN1dVRkRSQ3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRmRCUVZjc1MwRkJTeXhEUVVGRExFTkJRVU1zVVVGQlVTeExRVUZMTEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1JVRkRka1FzVFVGQlRTeEZRVUZGTEZGQlFWRXNTVUZCU1N4SlFVRkpMRmRCUVZjc1MwRkJTeXhEUVVGRExFTkJRVU1zVVVGQlVTeExRVUZMTEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRE8xTkJRM0JGTzFGQlEwUXNUMEZCVHl4RFFVRkRMRU5CUVVNN08wTkJRMVk3UVVGRlJDdzJRa0ZCTmtJN1FVRkROMElzVFVGQlRTeFZRVUZuUWl4TFFVRkxMRU5CUVVNc1JVRkJWVHM3VVVGRGNFTXNUVUZCVFN4SlFVRkpMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlF6bERMRU5CUVVNN1EwRkJRVHRCUVVWRUxFMUJRVTBzVlVGQlowSXNWVUZCVlN4RFFVRkRMRmxCUVRKQ0xFVkJRekZFTEZGQlFXZENMR3RDUVVGclFpeEZRVUZGTEU5QlFXVXNSMEZCUnl4RlFVRkZMRmRCUVcxQ0xFVkJRVVU3TzFGQlF6ZEZMRTlCUVU4c1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlF5eFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVVN1dVRkRja01zVlVGQlZTeERRVUZETEVkQlFVY3NSVUZCUlR0blFrRkRaQ3hoUVVGaExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdaMEpCUXpGQ0xFMUJRVTBzUTBGQlF5eEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRek5DTEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRaUVVOVUxHRkJRV0U3V1VGRFlpeE5RVUZOTEZWQlFWVXNSMEZCV1N4WFFVRlhMRU5CUVVNc1IwRkJSeXhGUVVGRk8yZENRVU16UXl4SlFVRkpMRmxCUVZrc1JVRkJSU3hGUVVGRk8yOUNRVU5zUWl4aFFVRmhMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03YjBKQlF6RkNMRTlCUVU4c1JVRkJSU3hEUVVGRE8ybENRVU5ZTzFsQlEwZ3NRMEZCUXl4RlFVRkZMRkZCUVZFc1EwRkJReXhEUVVGRE8xRkJRMllzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEVEN4RFFVRkRPME5CUVVFN1FVRkZSQ3dyUkVGQkswUTdRVUZETDBRc1UwRkJaU3hQUVVGUExFTkJRVU1zU1VGQmQwSXNSVUZCUlN4WFFVRnRRanM3VVVGRGJFVXNTVUZCU1N4UFFVRlBMRWRCUVZFc1NVRkJTU3hEUVVGRE8xRkJRM2hDTEUxQlFVMHNZMEZCWXl4SFFVRkhMRWxCUVVrc1QwRkJUeXhEUVVGTkxFTkJRVU1zUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RlFVRkZPMWxCUTNCRUxFOUJRVThzUjBGQlJ5eFZRVUZWTEVOQlFVTXNSMEZCUnl4RlFVRkZPMmRDUVVONFFpeDNSRUZCZDBRN1owSkJRM2hFTEUxQlFVMHNRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eERRVUZETzFsQlF6bENMRU5CUVVNc1JVRkJSU3hYUVVGWExFTkJRVU1zUTBGQlF6dFJRVU5zUWl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxFbEJRVWs3V1VGRFJpeFBRVUZQTEUxQlFVMHNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFbEJRVWtzUlVGQlJTeEZRVUZGTEdOQlFXTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1UwRkRja1E3WjBKQlFWTTdXVUZEVWl4SlFVRkpMRTlCUVU4N1owSkJRMVFzV1VGQldTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMU5CUTNwQ08wbEJRMGdzUTBGQlF6dERRVUZCTzBGQlJVUXNUVUZCVFN4VlFVRlZMR1ZCUVdVc1EwRkJReXhYUVVGdFFqdEpRVU5xUkN4TlFVRk5MRTlCUVU4c1IwRkJSeXhGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRPMGxCUXpORExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTNaRExFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1NVRkJTU3hYUVVGWE8xbEJRMnBETEU5QlFVOHNTVUZCU1N4RFFVRkRPMHRCUTJZN1NVRkRSQ3hQUVVGUExFdEJRVXNzUTBGQlF6dEJRVU5tTEVOQlFVTTdRVUZGUkRzN096czdSMEZMUnp0QlFVTklMRTFCUVUwc1ZVRkJaMElzYjBKQlFXOUNMRU5CUVVNc1RVRkJNa0lzUlVGRGNFVXNTMEZCYlVNN08xRkJRMjVETEVsQlFVa3NUVUZCVFN4SFFVRlpMRXRCUVVzc1EwRkJRenRSUVVNMVFpeEpRVUZKTEU5QlFVOHNSMEZCV1N4TFFVRkxMRU5CUVVNN1VVRkROMElzU1VGQlNUdFpRVU5HTEUxQlFVMHNUVUZCVFN4RlFVRkZMRU5CUVVNN1UwRkRhRUk3VVVGQlF5eFBRVUZQTEVOQlFVTXNSVUZCUlR0WlFVTldMRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU03V1VGRFpDeFBRVUZQTEVkQlFVY3NRMEZCUXl4TFFVRkxMRWxCUVVrc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFOQlF6bENPMmRDUVVGVE8xbEJRMUlzU1VGQlNTeERRVUZETEUxQlFVMDdaMEpCUTFRc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5eDVRMEZCZVVNc1EwRkJReXhEUVVGRE8xbEJRemRFTEVsQlFVa3NRMEZCUXl4UFFVRlBPMmRDUVVOV0xFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNkMFZCUVhkRkxFTkJRVU1zUTBGQlF6dFRRVU0zUmp0SlFVTklMRU5CUVVNN1EwRkJRVHRCUVVWRUxFMUJRVTBzUzBGQlN5eEhRVUZITEVWQlFVVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUXl4WFFVRlhMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEUxQlFVMHNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVVZxUnpzN096czdPenM3T3p0SFFWVkhPMEZCUTBnc1RVRkJUU3hWUVVGblFpeFZRVUZWTEVOQlFVTXNRMEZCVXl4RlFVRkZMRVZCUVdkQ0xFVkJRVVVzVDBGSE4wUTdPenRSUVVORExFMUJRVTBzV1VGQldTeEhRVUZITEVOQlFVOHNSVUZCWjBJc1JVRkJSU3hEUVVGVExFVkJRVVVzVjBGQmIwSXNSVUZCYzBJc1JVRkJSVHRaUVVOdVJ5eEpRVUZKTEVkQlFXTXNRMEZCUXp0WlFVTnVRaXhKUVVGSkxGZEJRVmNzUlVGQlJUdG5Ra0ZEWml4SFFVRkhMRWxCUVVjc1RVRkJUU3hGUVVGRkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGakxFTkJRVUVzUTBGQlF6dG5Ra0ZEZGtRc1JVRkJSU3hEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1lVRkRNVUk3TzJkQ1FVTkRMRWRCUVVjc1IwRkJSeXhGUVVGRkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTNoQ0xFOUJRVThzUjBGQlJ5eERRVUZETzFGQlEySXNRMEZCUXl4RFFVRkJMRU5CUVVNN1VVRkZSaXhKUVVGSkxFOUJRVThzWVVGQlVDeFBRVUZQTEhWQ1FVRlFMRTlCUVU4c1EwRkJSU3h0UWtGQmJVSTdXVUZCUlN4TlFVRk5MRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRE1VVXNTVUZCU1N4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFpRVUZaTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRja01zVFVGQlRTeFZRVUZWTEVkQlFVY3NaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU03VVVGREwwUXNPRVZCUVRoRk8xRkJRemxGTERCR1FVRXdSanRSUVVNeFJpeE5RVUZOTEZGQlFWRXNSMEZCUnl4RFFVRkRMRmxCUVZrc1EwRkJReXhWUVVGVkxFVkJRVVVzVVVGQlVTeEZRVUZGTEV0QlFVc3NSVUZCUlN4TFFVRkxMRVZCUVVVc1QwRkJUeXhGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZITEVWQlFVVXNhMEpCUVd0Q0xFTkJRVU03WVVGRGRrY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEZWQlFWVXNTVUZCU1N4TlFVRk5MRVZCUVVVc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTjZSQ3hOUVVGTkxFZEJRVWNzUjBGQlJ5eEZRVUZGTEVOQlFVTTdVVUZEWml4SlFVRkpPMWxCUTBZc1NVRkJTU3hOUVVGTkxFZEJRVWNzVFVGQlRTeFpRVUZaTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hQUVVGUExHRkJRVkFzVDBGQlR5eDFRa0ZCVUN4UFFVRlBMRU5CUVVVc1YwRkJWeXhEUVVGRExFTkJRVU03V1VGRE4wUXNUVUZCVFN4VlFVRlZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhKUVVGSkxFVkJRemxFTEc5Q1FVRnZRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFsQlF6bENMRTFCUVUwc1IwRkJSeXhIUVVGSExFMUJRVUVzVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4UlFVRlJMRU5CUVVNc01FTkJRVVVzVDBGQlR5eERRVUZETzFsQlEzUkVMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZEZUVNc1NVRkJTU3hEUVVGRExFTkJRVUVzVDBGQlR5eGhRVUZRTEU5QlFVOHNkVUpCUVZBc1QwRkJUeXhEUVVGRkxGRkJRVkVzUTBGQlFTeEZRVUZGTzJkQ1FVTjBRaXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJTeXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRE8yZENRVU12UkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhGUVVGRkxFTkJRVU1zVVVGQlVTeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEZRVUZGTEVOQlFVTXNVVUZCVVN4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTTdaMEpCUTJoRkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJWeXhGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1NVRkJTU3hIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRPMmRDUVVNdlJDeE5RVUZOTEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJRenRuUWtGRGFFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhIUVVGSExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRk8yOUNRVUZGTEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0blFrRkROVVFzVFVGQlRTeExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNN1owSkJRMmhDTEVWQlFVVXNRMEZCUXl4aFFVRmhMRWRCUVVjc1EwRkJReXhEUVVGRE8yZENRVU55UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhGUVVGRkxFTkJRVU1zUzBGQlN5eEZRVUZGTEVOQlFVTTdaMEpCUTNaQ0xFVkJRVVVzUTBGQlF5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhQUVVGUExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVONFJ5eE5RVUZOTEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRGFrSXNSVUZCUlN4RFFVRkRMRk5CUVZNc1IwRkJSeXhIUVVGSExFTkJRVU03WVVGRGNFSTdXVUZEUkN4SlFVRkpMRXRCUVRKQ0xFTkJRVU03V1VGRGFFTXNTVUZCU1R0blFrRkRSaXhMUVVGTExFZEJRVWNzVFVGQlRTeERRVUZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU03WVVGRGRFTTdXVUZCUXl4UFFVRlBMRWRCUVZFc1JVRkJSVHRuUWtGRGFrSXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXdyUWtGQkswSXNSVUZCUlN4RlFVRkRMRXRCUVVzc1JVRkJSU3hIUVVGSExFVkJRVU1zUTBGQlF5eERRVUZETzJGQlEyaEZPMWxCUTBRc1NVRkJTU3hMUVVGdlFpeERRVUZETzFsQlEzcENMRWxCUVVrN1owSkJRMFlzUzBGQlN5eEhRVUZITEUxQlFVMHNRMEZCUXl4aFFVRmhMRVZCUVVVc1EwRkJRenRoUVVOb1F6dFpRVUZETEU5QlFVOHNSMEZCVVN4RlFVRkZPMmRDUVVOcVFpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMR3REUVVGclF5eEZRVUZGTEVWQlFVTXNTMEZCU3l4RlFVRkZMRWRCUVVjc1JVRkJReXhEUVVGRExFTkJRVU03WVVGRGJrVTdXVUZEUkN4TlFVRk5MRkZCUVZFc1IwRkJjVU1zUlVGQlJTeERRVUZETzFsQlEzUkVMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eFBRVUZQTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhUUVVGVExFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEzaEhMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZqTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhQUVVGUExFdEJRVXNzU1VGQlNTeERRVUZETzJsQ1FVTnFSQ3hQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZqTEVWQlFVVXNSVUZCUlN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1MwRkJTeXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkZMRU5CUVVNc1EwRkJRenRaUVVOd1J5eE5RVUZOTEVOQlFVTXNWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8xbEJRelZDTEUxQlFVMHNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMnBDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRVZCUVVVc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFpRVU12UWl4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRPMWxCUXpGRExFVkJRVVVzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXp0WlFVTnFRaXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUTNoRExFVkJRVVVzUTBGQlF5eFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRkRUlzVFVGQlRTeFRRVUZUTEVkQlFVY3NSMEZCUnl4VlFVRlZMRWxCUVVrc1IwRkJSeXhGUVVGRkxFTkJRVU03V1VGRGVrTXNUVUZCVFN4VlFVRlZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhKUVVGSkxFVkJReTlFTEdkRFFVRm5ReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFsQlF6RkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZEZUVNc1RVRkJUU3hIUVVGSExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUzBGQlN5eE5RVUZOTEVOQlFVVXNRMEZCUXp0WlFVTnlSU3hYUVVGWExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlF6VkNMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEUxQlFVMHNRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE0wVXNTVUZCU1N4RFFVRkJMRTlCUVU4c1lVRkJVQ3hQUVVGUExIVkNRVUZRTEU5QlFVOHNRMEZCUlN4bFFVRmxMRTFCUVVzc1MwRkJTeXhGUVVGRk8yZENRVU4wUXl4SlFVRkpMRTlCUVU4c1lVRkJVQ3hQUVVGUExIVkNRVUZRTEU5QlFVOHNRMEZCUlN4WFFVRlhPMjlDUVVGRkxFMUJRVTBzVDBGQlR5eERRVUZETEZkQlFWY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRuUWtGRE5VUXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF6dG5Ra0ZGZEVJc1RVRkJUU3hMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdaMEpCUTJwQ0xFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRmxCUVZrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dG5Ra0ZEY0VNc1NVRkJTVHR2UWtGRFJpeE5RVUZOTEVkQlFVY3NUVUZCVFN4WlFVRlpMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJTeFBRVUZQTEdGQlFWQXNUMEZCVHl4MVFrRkJVQ3hQUVVGUExFTkJRVVVzVjBGQlZ5eERRVUZETEVOQlFVTTdhVUpCUXpGRU8yZENRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZPMjlDUVVOV0xFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNN2IwSkJRM1JDTEVWQlFVVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU03YjBKQlEzUkNMRTlCUVU4N2FVSkJRMUk3WjBKQlEwUXNUVUZCVFN4VlFVRlZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhKUVVGSkxFVkJRemxFTEhsRFFVRjVReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzJGQlEzQkVPMWxCUTBRc1NVRkJTU3hQUVVGUExHRkJRVkFzVDBGQlR5eDFRa0ZCVUN4UFFVRlBMRU5CUVVVc1YwRkJWenRuUWtGQlJTeE5RVUZOTEU5QlFVOHNRMEZCUXl4WFFVRlhMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03VTBGRE4wUTdaMEpCUVZNN1dVRkRVaXhwUkVGQmFVUTdXVUZEYWtRc2VVSkJRWGxDTzFsQlEzcENMSGxDUVVGNVFqdFRRVU14UWpzN1EwRkRSaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0FxSUdGeklHZHliMnNnWm5KdmJTQW5aR0YwWVdkeWIyc3RZWEJwTDJkeWIyc25PMXh1YVcxd2IzSjBJQ29nWVhNZ1JFY2dabkp2YlNBblpHRjBZV2R5YjJzdFlYQnBMMlJuSnp0Y2JtbHRjRzl5ZENCN1QySnpaWEoyWVdKc1pYMGdabkp2YlNBbmNuaHFjeWM3WEc1cGJYQnZjblFnZTNSbGMzUkVZWFJoZlNCbWNtOXRJQ2N1TDJSaGRHRm1jbUZ0WlMxMWRHbHNjeWM3WEc1cGJYQnZjblFnVkdsdFpXOTFkQ0E5SUU1dlpHVktVeTVVYVcxbGIzVjBPMXh1WEc1amIyNXpkQ0JUVkVGT1JFRlNWRjlVU1UxRlQxVlVJRDBnTXpBd01EQTdYRzVqYjI1emRDQkNSVTVEU0UxQlVrdGZWRWxOUlU5VlZDQTlJREV3T0RBd01EQXdPMXh1WEc1amIyNXpkQ0J6ZEdSTWIyY2dQU0JqYjI1emIyeGxMbXh2Wnk1aWFXNWtLR052Ym5OdmJHVXBPMXh1WTI5dWMzUWdjM1JrU1c1bWJ5QTlJR052Ym5OdmJHVXVhVzVtYnk1aWFXNWtLR052Ym5OdmJHVXBPMXh1WTI5dWMzUWdjM1JrVjJGeWJpQTlJR052Ym5OdmJHVXVkMkZ5Ymk1aWFXNWtLR052Ym5OdmJHVXBPMXh1WTI5dWMzUWdjM1JrUlhKeWIzSWdQU0JqYjI1emIyeGxMbVZ5Y205eUxtSnBibVFvWTI5dWMyOXNaU2s3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0IwWlhOMGN6b2dlMXh1SUNCYmEyVjVPaUJ6ZEhKcGJtZGRPaUI3WEc0Z0lDQWdkR1Z6ZEhNL09pQlVaWE4wVzEwc0lHSmxabTl5WlQ4NklDZ3BJRDArSUZCeWIyMXBjMlU4ZG05cFpENHNJR0ZtZEdWeVB6b2dLQ2tnUFQ0Z1VISnZiV2x6WlR4MmIybGtQaXhjYmlBZ0lDQmlaV1p2Y21WVGRHRjBkWE0vT2lCemRISnBibWNzSUdGbWRHVnlVM1JoZEhWelB6b2djM1J5YVc1bkxDQmpiR1ZoY2o4NklHSnZiMnhsWVc0c0lIUnBiV1Z2ZFhRL09pQnVkVzFpWlhKY2JpQWdmVnh1ZlNBOUlIdDlPMXh1WEc1amIyNXpkQ0JoZFhSdlZHVnpkSE5EWVhST1lXMWxJRDBnSjBGMWRHOGdWR1Z6ZEhNbk8xeHVZMjl1YzNRZ1pHVnRiME5oZEU1aGJXVWdQU0FuUkdWdGJ5YzdYRzVqYjI1emRDQmtaWFJsWTNSdmNuTkRZWFJPWVcxbElEMGdKMFJsZEdWamRHOXljeWM3WEc1amIyNXpkQ0JqYjNKbFEyRjBUbUZ0WlNBOUlDZERiM0psSnp0Y2JtTnZibk4wSUhkaGMxSmxaMmx6ZEdWeVpXUTZJSHRiYTJWNU9pQnpkSEpwYm1kZE9pQmliMjlzWldGdWZTQTlJSHQ5TzF4dVpYaHdiM0owSUd4bGRDQmpkWEp5Wlc1MFEyRjBaV2R2Y25rNklITjBjbWx1Wnp0Y2JseHVaWGh3YjNKMElHNWhiV1Z6Y0dGalpTQmhjM04xY21VZ2UxeHVJQ0JsZUhCdmNuUWdablZ1WTNScGIyNGdibTkwVG5Wc2JDaDJZV3gxWlRvZ1lXNTVMQ0J1WVcxbFB6b2djM1J5YVc1bktTQjdYRzRnSUNBZ2FXWWdLSFpoYkhWbElEMDlJRzUxYkd3cFhHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWUNSN2JtRnRaU0E5UFNCdWRXeHNJRDhnSjFaaGJIVmxKeUE2SUc1aGJXVjlJRzV2ZENCa1pXWnBibVZrWUNrN1hHNGdJSDFjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlVaWE4wVDNCMGFXOXVjeUI3WEc0Z0lIUnBiV1Z2ZFhRL09pQnVkVzFpWlhJN1hHNGdJSFZ1YUdGdVpHeGxaRVY0WTJWd2RHbHZibFJwYldWdmRYUS9PaUJ1ZFcxaVpYSTdYRzRnSUhOcmFYQlNaV0Z6YjI0L09pQnpkSEpwYm1jN1hHNGdJR2x6UVdkbmNtVm5ZWFJsWkQ4NklHSnZiMnhsWVc0N1hHNTlYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUTJGMFpXZHZjbmxQY0hScGIyNXpJSHRjYmlBZ1kyeGxZWEkvT2lCaWIyOXNaV0Z1TzF4dUlDQjBhVzFsYjNWMFB6b2diblZ0WW1WeU8xeHVmVnh1WEc1bGVIQnZjblFnWTJ4aGMzTWdWR1Z6ZEVOdmJuUmxlSFFnZTF4dUlDQmpZWFJqYUZWdWFHRnVaR3hsWkNBOUlIUnlkV1U3WEc0Z0lISmxjRzl5ZENBOUlHWmhiSE5sTzF4dVhHNGdJR052Ym5OMGNuVmpkRzl5S0dOaGRHTm9WVzVvWVc1a2JHVmtQem9nWW05dmJHVmhiaXdnY21Wd2IzSjBQem9nWW05dmJHVmhiaWtnZTF4dUlDQWdJR2xtSUNoallYUmphRlZ1YUdGdVpHeGxaQ0FoUFQwZ2RXNWtaV1pwYm1Wa0tTQjBhR2x6TG1OaGRHTm9WVzVvWVc1a2JHVmtJRDBnWTJGMFkyaFZibWhoYm1Sc1pXUTdYRzRnSUNBZ2FXWWdLSEpsY0c5eWRDQWhQVDBnZFc1a1pXWnBibVZrS1NCMGFHbHpMbkpsY0c5eWRDQTlJSEpsY0c5eWREdGNiaUFnZlR0Y2JuMWNibHh1Wlhod2IzSjBJR05zWVhOeklGUmxjM1FnZTF4dUlDQjBaWE4wT2lBb0tTQTlQaUJRY205dGFYTmxQR0Z1ZVQ0N1hHNGdJRzVoYldVNklITjBjbWx1Wnp0Y2JpQWdZMkYwWldkdmNuazZJSE4wY21sdVp6dGNiaUFnYjNCMGFXOXVjejg2SUZSbGMzUlBjSFJwYjI1ek8xeHVYRzRnSUdOdmJuTjBjblZqZEc5eUtHTmhkR1ZuYjNKNU9pQnpkSEpwYm1jc0lHNWhiV1U2SUhOMGNtbHVaeXdnZEdWemREb2dLQ2tnUFQ0Z1VISnZiV2x6WlR4aGJuaytMQ0J2Y0hScGIyNXpQem9nVkdWemRFOXdkR2x2Ym5NcElIdGNiaUFnSUNCMGFHbHpMbU5oZEdWbmIzSjVJRDBnWTJGMFpXZHZjbms3WEc0Z0lDQWdkR2hwY3k1dVlXMWxJRDBnYm1GdFpUdGNiaUFnSUNCdmNIUnBiMjV6SUQ4L1BTQjdmVHRjYmlBZ0lDQnZjSFJwYjI1ekxuUnBiV1Z2ZFhRZ1B6ODlJRk5VUVU1RVFWSlVYMVJKVFVWUFZWUTdYRzRnSUNBZ2RHaHBjeTV2Y0hScGIyNXpJRDBnYjNCMGFXOXVjenRjYmlBZ0lDQjBhR2x6TG5SbGMzUWdQU0JoYzNsdVl5QW9LVG9nVUhKdmJXbHpaVHhoYm5rK0lEMCtJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVUhKdmJXbHpaU2hoYzNsdVl5QW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUd4bGRDQnlaWE4xYkhRZ1BTQW5KenRjYmlBZ0lDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhOMWJIUWdQU0JoZDJGcGRDQjBaWE4wS0NrN1hHNGdJQ0FnSUNBZ0lIMGdZMkYwWTJnZ0tHVTZJR0Z1ZVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsYW1WamRDaGxLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCeVpYTnZiSFpsS0hKbGMzVnNkQ2s3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5TzF4dUlDQjlYRzU5WEc1Y2JtVjRjRzl5ZENCaGMzbHVZeUJtZFc1amRHbHZiaUIwWlhOMFJYWmxiblE4VkQ0b1pYWmxiblE2SUU5aWMyVnlkbUZpYkdVOFZENHNYRzRnSUdoaGJtUnNaWEk2SUNoaGNtZHpPaUJVS1NBOVBpQjJiMmxrTENCMGNtbG5aMlZ5T2lBb0tTQTlQaUIyYjJsa0xDQnRjem9nYm5WdFltVnlJRDBnTUN3Z2NtVmhjMjl1T2lCemRISnBibWNnUFNCZ2RHbHRaVzkxZEdCY2JpazZJRkJ5YjIxcGMyVThjM1J5YVc1blBpQjdYRzRnSUhKbGRIVnliaUJ1WlhjZ1VISnZiV2x6WlNnb2NtVnpiMngyWlN3Z2NtVnFaV04wS1NBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnYzNWaUlEMGdaWFpsYm5RdWMzVmljMk55YVdKbEtDaGhjbWR6T2lCVUtTQTlQaUI3WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQm9ZVzVrYkdWeUtHRnlaM01wTzF4dUlDQWdJQ0FnSUNCeVpYTnZiSFpsS0NkUFN5Y3BPMXh1SUNBZ0lDQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJQ0FnSUNCeVpXcGxZM1FvWlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNBdkx5QkVieUJ1YjNRZ1kyeGxZWEpVYVcxbGIzVjBJRzl5SUdWMlpXNTBJSE4xWWlCcFppQm9ZVzVrYkdWeUlHWmhhV3h6WEc0Z0lDQWdJQ0J6ZFdJdWRXNXpkV0p6WTNKcFltVW9LVHRjYmlBZ0lDQWdJR05zWldGeVZHbHRaVzkxZENoMGFXMWxiM1YwS1R0Y2JpQWdJQ0I5S1R0Y2JpQWdJQ0JqYjI1emRDQjBhVzFsYjNWMElEMGdjMlYwVkdsdFpXOTFkQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQnpkV0l1ZFc1emRXSnpZM0pwWW1Vb0tUdGNiaUFnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQndjbVZtWlhJdGNISnZiV2x6WlMxeVpXcGxZM1F0WlhKeWIzSnpYRzRnSUNBZ0lDQnlaV3BsWTNRb2NtVmhjMjl1S1R0Y2JpQWdJQ0I5TENCdGN5azdYRzRnSUNBZ2RISnBaMmRsY2lncE8xeHVJQ0I5S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFJsYzNRb2JtRnRaVG9nYzNSeWFXNW5MQ0IwWlhOME9pQW9LU0E5UGlCUWNtOXRhWE5sUEdGdWVUNHNJRzl3ZEdsdmJuTS9PaUJVWlhOMFQzQjBhVzl1Y3lrNklIWnZhV1FnZTF4dUlDQnBaaUFvZEdWemRITmJZM1Z5Y21WdWRFTmhkR1ZuYjNKNVhTQTlQU0IxYm1SbFptbHVaV1FwWEc0Z0lDQWdkR1Z6ZEhOYlkzVnljbVZ1ZEVOaGRHVm5iM0o1WFNBOUlIdDlPMXh1SUNCcFppQW9kR1Z6ZEhOYlkzVnljbVZ1ZEVOaGRHVm5iM0o1WFM1MFpYTjBjeUE5UFNCMWJtUmxabWx1WldRcFhHNGdJQ0FnZEdWemRITmJZM1Z5Y21WdWRFTmhkR1ZuYjNKNVhTNTBaWE4wY3lBOUlGdGRPMXh1SUNCMFpYTjBjMXRqZFhKeVpXNTBRMkYwWldkdmNubGRMblJsYzNSeklTNXdkWE5vS0c1bGR5QlVaWE4wS0dOMWNuSmxiblJEWVhSbFoyOXllU3dnYm1GdFpTd2dkR1Z6ZEN3Z2IzQjBhVzl1Y3lrcE8xeHVmVnh1WEc0dktpQlVaWE4wY3lCMGQyOGdiMkpxWldOMGN5Qm1iM0lnWlhGMVlXeHBkSGtzSUhSb2NtOTNjeUJoYmlCbGVHTmxjSFJwYjI0Z2FXWWdkR2hsZVNCaGNtVWdibTkwSUdWeGRXRnNMaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdWNGNHVmpkQ2hoWTNSMVlXdzZJR0Z1ZVN3Z1pYaHdaV04wWldRNklHRnVlU0E5SUhSeWRXVXNJR1Z5Y205eVB6b2djM1J5YVc1bktUb2dkbTlwWkNCN1hHNGdJR2xtSUNobGNuSnZjaWxjYmlBZ0lDQmxjbkp2Y2lBOUlHQWtlMlZ5Y205eWZTd2dZRHRjYmlBZ1pXeHpaU0JsY25KdmNpQTlJQ2NuTzF4dUlDQnBaaUFvWVdOMGRXRnNJQ0U5UFNCbGVIQmxZM1JsWkNsY2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZQ1I3WlhKeWIzSjlSWGh3WldOMFpXUWdYQ0lrZTJWNGNHVmpkR1ZrZlZ3aUxDQm5iM1FnWENJa2UyRmpkSFZoYkgxY0ltQXBPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pYaHdaV04wUm14dllYUW9ZV04wZFdGc09pQnVkVzFpWlhJc0lHVjRjR1ZqZEdWa09pQnVkVzFpWlhJc0lIUnZiR1Z5WVc1alpTQTlJREF1TURBeExDQmxjbkp2Y2o4NklITjBjbWx1WnlrNklIWnZhV1FnZTF4dUlDQnBaaUFvS0dGamRIVmhiQ0E5UFQwZ1RuVnRZbVZ5TGxCUFUwbFVTVlpGWDBsT1JrbE9TVlJaSUNZbUlHVjRjR1ZqZEdWa0lEMDlQU0JPZFcxaVpYSXVVRTlUU1ZSSlZrVmZTVTVHU1U1SlZGa3BJSHg4WEc0Z0lDQWdJQ0FvWVdOMGRXRnNJRDA5UFNCT2RXMWlaWEl1VGtWSFFWUkpWa1ZmU1U1R1NVNUpWRmtnSmlZZ1pYaHdaV04wWldRZ1BUMDlJRTUxYldKbGNpNU9SVWRCVkVsV1JWOUpUa1pKVGtsVVdTa2dmSHhjYmlBZ0lDQWdJQ2hoWTNSMVlXd2dQVDA5SUU1MWJXSmxjaTVPWVU0Z0ppWWdaWGh3WldOMFpXUWdQVDA5SUU1MWJXSmxjaTVPWVU0cElIeDhJQ2hwYzA1aFRpaGhZM1IxWVd3cElDWW1JR2x6VG1GT0tHVjRjR1ZqZEdWa0tTa3BYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQmpiMjV6ZENCaGNtVkZjWFZoYkNBOUlFMWhkR2d1WVdKektHRmpkSFZoYkNBdElHVjRjR1ZqZEdWa0tTQThJSFJ2YkdWeVlXNWpaVHRjYmlBZ1pYaHdaV04wS0dGeVpVVnhkV0ZzTENCMGNuVmxMQ0JnSkh0bGNuSnZjaUEvUHlBbkozMGdLSFJ2YkdWeVlXNWpaU0E5SUNSN2RHOXNaWEpoYm1ObGZTbGdLVHRjYmlBZ2FXWWdLQ0ZoY21WRmNYVmhiQ2xjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lFVjRjR1ZqZEdWa0lDUjdaWGh3WldOMFpXUjlMQ0JuYjNRZ0pIdGhZM1IxWVd4OUlDaDBiMnhsY21GdVkyVWdQU0FrZTNSdmJHVnlZVzVqWlgwcFlDazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCbGVIQmxZM1JVWVdKc1pTaGhZM1IxWVd3NklFUkhMa1JoZEdGR2NtRnRaU3dnWlhod1pXTjBaV1E2SUVSSExrUmhkR0ZHY21GdFpTd2daWEp5YjNJL09pQnpkSEpwYm1jcE9pQjJiMmxrSUh0Y2JpQWdZMjl1YzNRZ1pYaHdaV04wWldSU2IzZERiM1Z1ZENBOUlHVjRjR1ZqZEdWa0xuSnZkME52ZFc1ME8xeHVJQ0JqYjI1emRDQmhZM1IxWVd4U2IzZERiM1Z1ZENBOUlHRmpkSFZoYkM1eWIzZERiM1Z1ZER0Y2JpQWdaWGh3WldOMEtHRmpkSFZoYkZKdmQwTnZkVzUwTENCbGVIQmxZM1JsWkZKdmQwTnZkVzUwTENCZ0pIdGxjbkp2Y2lBL1B5QW5KMzBzSUhKdmR5QmpiM1Z1ZEdBcE8xeHVYRzRnSUdadmNpQW9ZMjl1YzNRZ1kyOXNkVzF1SUc5bUlHVjRjR1ZqZEdWa0xtTnZiSFZ0Ym5NcElIdGNiaUFnSUNCamIyNXpkQ0JoWTNSMVlXeERiMngxYlc0Z1BTQmhZM1IxWVd3dVkyOXNkVzF1Y3k1aWVVNWhiV1VvWTI5c2RXMXVMbTVoYldVcE8xeHVJQ0FnSUdsbUlDaGhZM1IxWVd4RGIyeDFiVzRnUFQwZ2JuVnNiQ2xjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdRMjlzZFcxdUlDUjdZMjlzZFcxdUxtNWhiV1Y5SUc1dmRDQm1iM1Z1WkdBcE8xeHVJQ0FnSUdsbUlDaGhZM1IxWVd4RGIyeDFiVzR1ZEhsd1pTQWhQU0JqYjJ4MWJXNHVkSGx3WlNsY2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhnUTI5c2RXMXVJQ1I3WTI5c2RXMXVMbTVoYldWOUlIUjVjR1VnWlhod1pXTjBaV1FnSkh0amIyeDFiVzR1ZEhsd1pYMGdaMjkwSUNSN1lXTjBkV0ZzUTI5c2RXMXVMblI1Y0dWOVlDazdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQmxlSEJsWTNSbFpGSnZkME52ZFc1ME95QnBLeXNwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSFpoYkhWbElEMGdZMjlzZFcxdUxtZGxkQ2hwS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJR0ZqZEhWaGJGWmhiSFZsSUQwZ1lXTjBkV0ZzUTI5c2RXMXVMbWRsZENocEtUdGNiaUFnSUNBZ0lHbG1JQ2hqYjJ4MWJXNHVkSGx3WlNBOVBTQkVSeTVVV1ZCRkxrWk1UMEZVS1Z4dUlDQWdJQ0FnSUNCbGVIQmxZM1JHYkc5aGRDaGhZM1IxWVd4V1lXeDFaU3dnZG1Gc2RXVXNJREF1TURBd01Td2daWEp5YjNJcE8xeHVJQ0FnSUNBZ1pXeHpaU0JwWmlBb1kyOXNkVzF1TG5SNWNHVWdQVDBnUkVjdVZGbFFSUzVFUVZSRlgxUkpUVVVwWEc0Z0lDQWdJQ0FnSUdWNGNHVmpkQ2hoWTNSMVlXeFdZV3gxWlM1cGMxTmhiV1VvZG1Gc2RXVXBMQ0IwY25WbExDQmxjbkp2Y2lrN1hHNGdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJR1Y0Y0dWamRDaGhZM1IxWVd4V1lXeDFaU3dnZG1Gc2RXVXNJR1Z5Y205eUtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHVjRjR1ZqZEU5aWFtVmpkQ2hoWTNSMVlXdzZJSHNnVzJ0bGVUb2djM1J5YVc1blhUb2dZVzU1SUgwc0lHVjRjR1ZqZEdWa09pQjdJRnRyWlhrNklITjBjbWx1WjEwNklHRnVlU0I5S1NCN1hHNGdJR1p2Y2lBb1kyOXVjM1FnVzJWNGNHVmpkR1ZrUzJWNUxDQmxlSEJsWTNSbFpGWmhiSFZsWFNCdlppQlBZbXBsWTNRdVpXNTBjbWxsY3lobGVIQmxZM1JsWkNrcElIdGNiaUFnSUNCcFppQW9JV0ZqZEhWaGJDNW9ZWE5QZDI1UWNtOXdaWEowZVNobGVIQmxZM1JsWkV0bGVTa3BYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lFVjRjR1ZqZEdWa0lIQnliM0JsY25SNUlGd2lKSHRsZUhCbFkzUmxaRXRsZVgxY0lpQnViM1FnWm05MWJtUmdLVHRjYmx4dUlDQWdJR052Ym5OMElHRmpkSFZoYkZaaGJIVmxJRDBnWVdOMGRXRnNXMlY0Y0dWamRHVmtTMlY1WFR0Y2JpQWdJQ0JwWmlBb1lXTjBkV0ZzVm1Gc2RXVWdhVzV6ZEdGdVkyVnZaaUJCY25KaGVTQW1KaUJsZUhCbFkzUmxaRlpoYkhWbElHbHVjM1JoYm1ObGIyWWdRWEp5WVhrcFhHNGdJQ0FnSUNCbGVIQmxZM1JCY25KaGVTaGhZM1IxWVd4V1lXeDFaU3dnWlhod1pXTjBaV1JXWVd4MVpTazdYRzRnSUNBZ1pXeHpaU0JwWmlBb1lXTjBkV0ZzVm1Gc2RXVWdhVzV6ZEdGdVkyVnZaaUJQWW1wbFkzUWdKaVlnWlhod1pXTjBaV1JXWVd4MVpTQnBibk4wWVc1alpXOW1JRTlpYW1WamRDbGNiaUFnSUNBZ0lHVjRjR1ZqZEU5aWFtVmpkQ2hoWTNSMVlXeFdZV3gxWlN3Z1pYaHdaV04wWldSV1lXeDFaU2s3WEc0Z0lDQWdaV3h6WlNCcFppQW9UblZ0WW1WeUxtbHpSbWx1YVhSbEtHRmpkSFZoYkZaaGJIVmxLU0FtSmlCT2RXMWlaWEl1YVhOR2FXNXBkR1VvWlhod1pXTjBaV1JXWVd4MVpTa3BYRzRnSUNBZ0lDQmxlSEJsWTNSR2JHOWhkQ2hoWTNSMVlXeFdZV3gxWlN3Z1pYaHdaV04wWldSV1lXeDFaU2s3WEc0Z0lDQWdaV3h6WlNCcFppQW9ZV04wZFdGc1ZtRnNkV1VnSVQwZ1pYaHdaV04wWldSV1lXeDFaU2xjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdSWGh3WldOMFpXUWdLQ1I3Wlhod1pXTjBaV1JXWVd4MVpYMHBJR1p2Y2lCclpYa2dKeVI3Wlhod1pXTjBaV1JMWlhsOUp5d2daMjkwSUNna2UyRmpkSFZoYkZaaGJIVmxmU2xnS1R0Y2JpQWdmVnh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pYaHdaV04wUVhKeVlYa29ZV04wZFdGc09pQkJjbkpoZVV4cGEyVThZVzU1UGl3Z1pYaHdaV04wWldRNklFRnljbUY1VEdsclpUeGhibmsrS1NCN1hHNGdJR052Ym5OMElHRmpkSFZoYkV4bGJtZDBhQ0E5SUdGamRIVmhiQzVzWlc1bmRHZzdYRzRnSUdOdmJuTjBJR1Y0Y0dWamRHVmtUR1Z1WjNSb0lEMGdaWGh3WldOMFpXUXViR1Z1WjNSb08xeHVYRzRnSUdsbUlDaGhZM1IxWVd4TVpXNW5kR2dnSVQwZ1pYaHdaV04wWldSTVpXNW5kR2dwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRUZ5Y21GNWN5QmhjbVVnYjJZZ1pHbG1abVZ5Wlc1MElHeGxibWQwYURvZ1lXTjBkV0ZzSUdGeWNtRjVJR3hsYm1kMGFDQnBjeUFrZTJGamRIVmhiRXhsYm1kMGFIMGdZQ0FyWEc0Z0lDQWdJQ0JnWVc1a0lHVjRjR1ZqZEdWa0lHRnljbUY1SUd4bGJtZDBhQ0JwY3lBa2UyVjRjR1ZqZEdWa1RHVnVaM1JvZldBcE8xeHVJQ0I5WEc1Y2JpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JoWTNSMVlXeE1aVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJR2xtSUNoaFkzUjFZV3hiYVYwZ2FXNXpkR0Z1WTJWdlppQkJjbkpoZVNBbUppQmxlSEJsWTNSbFpGdHBYU0JwYm5OMFlXNWpaVzltSUVGeWNtRjVLVnh1SUNBZ0lDQWdaWGh3WldOMFFYSnlZWGtvWVdOMGRXRnNXMmxkTENCbGVIQmxZM1JsWkZ0cFhTazdYRzRnSUNBZ1pXeHpaU0JwWmlBb1lXTjBkV0ZzVzJsZElHbHVjM1JoYm1ObGIyWWdUMkpxWldOMElDWW1JR1Y0Y0dWamRHVmtXMmxkSUdsdWMzUmhibU5sYjJZZ1QySnFaV04wS1Z4dUlDQWdJQ0FnWlhod1pXTjBUMkpxWldOMEtHRmpkSFZoYkZ0cFhTd2daWGh3WldOMFpXUmJhVjBwTzF4dUlDQWdJR1ZzYzJVZ2FXWWdLR0ZqZEhWaGJGdHBYU0FoUFNCbGVIQmxZM1JsWkZ0cFhTbGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loZ1JYaHdaV04wWldRZ0pIdGxlSEJsWTNSbFpGdHBYWDBnWVhRZ2NHOXphWFJwYjI0Z0pIdHBmU3dnWjI5MElDUjdZV04wZFdGc1cybGRmV0FwTzF4dUlDQjlYRzU5WEc1Y2JpOHFJRVJsWm1sdVpYTWdZU0IwWlhOMElITjFhWFJsTGlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHTmhkR1ZuYjNKNUtHTmhkR1ZuYjNKNU9pQnpkSEpwYm1jc0lIUmxjM1J6WHpvZ0tDa2dQVDRnZG05cFpDd2diM0IwYVc5dWN6ODZJRU5oZEdWbmIzSjVUM0IwYVc5dWN5azZJSFp2YVdRZ2UxeHVJQ0JqZFhKeVpXNTBRMkYwWldkdmNua2dQU0JqWVhSbFoyOXllVHRjYmlBZ2RHVnpkSE5mS0NrN1hHNGdJR2xtSUNoMFpYTjBjMXRqZFhKeVpXNTBRMkYwWldkdmNubGRLU0I3WEc0Z0lDQWdkR1Z6ZEhOYlkzVnljbVZ1ZEVOaGRHVm5iM0o1WFM1amJHVmhjaUE5SUc5d2RHbHZibk0vTG1Oc1pXRnlJRDgvSUhSeWRXVTdYRzRnSUNBZ2RHVnpkSE5iWTNWeWNtVnVkRU5oZEdWbmIzSjVYUzUwYVcxbGIzVjBJRDBnYjNCMGFXOXVjejh1ZEdsdFpXOTFkRHRjYmlBZ2ZWeHVmVnh1WEc0dktpQkVaV1pwYm1WeklHRWdablZ1WTNScGIyNGdkRzhnWW1VZ1pYaGxZM1YwWldRZ1ltVm1iM0psSUhSb1pTQjBaWE4wY3lCcGJpQjBhR2x6SUdOaGRHVm5iM0o1SUdGeVpTQmxlR1ZqZFhSbFpDNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJpWldadmNtVW9ZbVZtYjNKbE9pQW9LU0E5UGlCUWNtOXRhWE5sUEhadmFXUStLVG9nZG05cFpDQjdYRzRnSUdsbUlDaDBaWE4wYzF0amRYSnlaVzUwUTJGMFpXZHZjbmxkSUQwOUlIVnVaR1ZtYVc1bFpDbGNiaUFnSUNCMFpYTjBjMXRqZFhKeVpXNTBRMkYwWldkdmNubGRJRDBnZTMwN1hHNGdJSFJsYzNSelcyTjFjbkpsYm5SRFlYUmxaMjl5ZVYwdVltVm1iM0psSUQwZ1ltVm1iM0psTzF4dWZWeHVYRzR2S2lCRVpXWnBibVZ6SUdFZ1puVnVZM1JwYjI0Z2RHOGdZbVVnWlhobFkzVjBaV1FnWVdaMFpYSWdkR2hsSUhSbGMzUnpJR2x1SUhSb2FYTWdZMkYwWldkdmNua2dZWEpsSUdWNFpXTjFkR1ZrTGlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHRm1kR1Z5S0dGbWRHVnlPaUFvS1NBOVBpQlFjbTl0YVhObFBIWnZhV1ErS1RvZ2RtOXBaQ0I3WEc0Z0lHbG1JQ2gwWlhOMGMxdGpkWEp5Wlc1MFEyRjBaV2R2Y25sZElEMDlJSFZ1WkdWbWFXNWxaQ2xjYmlBZ0lDQjBaWE4wYzF0amRYSnlaVzUwUTJGMFpXZHZjbmxkSUQwZ2UzMDdYRzRnSUhSbGMzUnpXMk4xY25KbGJuUkRZWFJsWjI5eWVWMHVZV1owWlhJZ1BTQmhablJsY2p0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWVdSa1RtRnRaWE53WVdObEtITTZJSE4wY21sdVp5d2daam9nUkVjdVJuVnVZeWs2SUhOMGNtbHVaeUI3WEc0Z0lISmxkSFZ5YmlCekxuSmxjR3hoWTJVb2JtVjNJRkpsWjBWNGNDaG1MbTVoYldVc0lDZG5hU2NwTENCbUxtNXhUbUZ0WlNrN1hHNTlYRzVjYm1WNGNHOXlkQ0JoYzNsdVl5Qm1kVzVqZEdsdmJpQnBibWwwUVhWMGIxUmxjM1J6S0hCaFkydGhaMlZmT2lCRVJ5NVFZV05yWVdkbExDQnRiMlIxYkdVL09pQmhibmtwSUh0Y2JpQWdZMjl1YzNRZ2NHRmphMkZuWlVsa0lEMGdjR0ZqYTJGblpWOHVhV1E3WEc0Z0lHbG1JQ2gzWVhOU1pXZHBjM1JsY21Wa1czQmhZMnRoWjJWSlpGMHBJSEpsZEhWeWJqdGNiaUFnWTI5dWMzUWdiVzlrZFd4bFZHVnpkSE1nUFNCdGIyUjFiR1VnUHlCdGIyUjFiR1V1ZEdWemRITWdPaUIwWlhOMGN6dGNiaUFnYVdZZ0tHMXZaSFZzWlZSbGMzUnpXMkYxZEc5VVpYTjBjME5oZEU1aGJXVmRJQ0U5UFNCMWJtUmxabWx1WldRZ2ZIeGNiaUFnSUNBZ0lHMXZaSFZzWlZSbGMzUnpXMlJsYlc5RFlYUk9ZVzFsWFNBaFBUMGdkVzVrWldacGJtVmtJSHg4WEc0Z0lDQWdJQ0JQWW1wbFkzUXVhMlY1Y3lodGIyUjFiR1ZVWlhOMGN5a3VabWx1WkNnb1l5a2dQVDRnWXk1emRHRnlkSE5YYVhSb0tHRjFkRzlVWlhOMGMwTmhkRTVoYldVcElIeDhJR011YzNSaGNuUnpWMmwwYUNoamIzSmxRMkYwVG1GdFpTa3BLU0I3WEc0Z0lDQWdkMkZ6VW1WbmFYTjBaWEpsWkZ0d1lXTnJZV2RsU1dSZElEMGdkSEoxWlR0Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JpQWdhV1lnS0hCaFkydGhaMlZmTG01aGJXVWdQVDA5SUNkRVpYWlViMjlzY3ljZ2ZId2dLQ0VoYlc5a2RXeGxJQ1ltSUcxdlpIVnNaUzVmY0dGamEyRm5aUzV1WVcxbElEMDlQU0FuUkdWMlZHOXZiSE1uS1NrZ2UxeHVJQ0FnSUdOdmJuTjBJSFJsYzNSR2RXNWpkR2x2Ym5NNklFUkhMa1oxYm1OYlhTQTlJRVJITGtaMWJtTXVabWx1WkNoN2RHRm5jem9nV3lka1lYSjBWR1Z6ZENkZGZTazdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQm1JRzltSUhSbGMzUkdkVzVqZEdsdmJuTXBJSHRjYmlBZ0lDQWdJR052Ym5OMElHRnljaUE5SUdZdWJtRnRaUzV6Y0d4cGRDZ3ZYRnh6S2x4Y2ZGeGNjeW92WnlrN1hHNGdJQ0FnSUNCamIyNXpkQ0J1WVcxbElEMGdZWEp5TG5CdmNDZ3BJRDgvSUdZdWJtRnRaVHRjYmlBZ0lDQWdJR052Ym5OMElHTmhkQ0E5SUdGeWNpNXNaVzVuZEdnZ1B5QmpiM0psUTJGMFRtRnRaU0FySUNjNklDY2dLeUJoY25JdWFtOXBiaWduT2lBbktTQTZJR052Y21WRFlYUk9ZVzFsTzF4dUlDQWdJQ0FnYVdZZ0tHMXZaSFZzWlZSbGMzUnpXMk5oZEYwZ1BUMDlJSFZ1WkdWbWFXNWxaQ2xjYmlBZ0lDQWdJQ0FnYlc5a2RXeGxWR1Z6ZEhOYlkyRjBYU0E5SUh0MFpYTjBjem9nVzEwc0lHTnNaV0Z5T2lCMGNuVmxmVHRjYmlBZ0lDQWdJRzF2WkhWc1pWUmxjM1J6VzJOaGRGMHVkR1Z6ZEhNdWNIVnphQ2h1WlhjZ1ZHVnpkQ2hqWVhRc0lHNWhiV1VzWEc0Z0lDQWdJQ0FnSUdGemVXNWpJQ2dwSUQwK0lHRjNZV2wwSUdZdVlYQndiSGtvS1N3Z2UybHpRV2RuY21WbllYUmxaRG9nWmk1dmRYUndkWFJ6TG14bGJtZDBhQ0ErSURBc0lIUnBiV1Z2ZFhRNklETXdNREF3TUgwcEtUdGNiaUFnSUNCOVhHNGdJSDFjYmlBZ1kyOXVjM1FnYlc5a2RXeGxRWFYwYjFSbGMzUnpJRDBnVzEwN1hHNGdJR052Ym5OMElHMXZaSFZzWlVSbGJXOGdQU0JiWFR0Y2JpQWdZMjl1YzNRZ2JXOWtkV3hsUkdWMFpXTjBiM0p6SUQwZ1cxMDdYRzRnSUdOdmJuTjBJSEJoWTJ0R2RXNWpkR2x2Ym5NZ1BTQmhkMkZwZENCbmNtOXJMbVJoY0drdVpuVnVZM1JwYjI1ekxtWnBiSFJsY2loZ2NHRmphMkZuWlM1cFpDQTlJRndpSkh0d1lXTnJZV2RsU1dSOVhDSmdLUzVzYVhOMEtDazdYRzRnSUdOdmJuTjBJSEpsWnlBOUlHNWxkeUJTWldkRmVIQW9MM05yYVhBNlhGeHpLaWhiWGl4Y1hITmRLeWw4ZDJGcGREcGNYSE1xS0Z4Y1pDc3BmR05oZERwY1hITXFLRnRlTEZ4Y2MxMHJLWHgwYVcxbGIzVjBPbHhjY3lvb1hGeGtLeWt2WnlrN1hHNGdJR1p2Y2lBb1kyOXVjM1FnWmlCdlppQndZV05yUm5WdVkzUnBiMjV6S1NCN1hHNGdJQ0FnWTI5dWMzUWdkR1Z6ZEhNZ1BTQm1MbTl3ZEdsdmJuTmJKM1JsYzNRblhUdGNiaUFnSUNCamIyNXpkQ0JrWlcxdklEMGdaaTV2Y0hScGIyNXpXeWRrWlcxdlVHRjBhQ2RkTzF4dUlDQWdJR2xtSUNnb2RHVnpkSE1nSmlZZ1FYSnlZWGt1YVhOQmNuSmhlU2gwWlhOMGN5a2dKaVlnZEdWemRITXViR1Z1WjNSb0tTa2dlMXh1SUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IwWlhOMGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5WlhNZ1BTQW9kR1Z6ZEhOYmFWMGdZWE1nYzNSeWFXNW5LUzV0WVhSamFFRnNiQ2h5WldjcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdFlYQTZJSHR6YTJsd1B6b2djM1J5YVc1bkxDQjNZV2wwUHpvZ2JuVnRZbVZ5TENCallYUS9PaUJ6ZEhKcGJtY3NJSFJwYldWdmRYUS9PaUJ1ZFcxaVpYSjlJRDBnZTMwN1hHNGdJQ0FnSUNBZ0lFRnljbUY1TG1aeWIyMG9jbVZ6S1M1bWIzSkZZV05vS0NoaGNuSXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWVhKeVd6QmRMbk4wWVhKMGMxZHBkR2dvSjNOcmFYQW5LU2tnYldGd1d5ZHphMmx3SjEwZ1BTQmhjbkpiTVYwN1hHNGdJQ0FnSUNBZ0lDQWdaV3h6WlNCcFppQW9ZWEp5V3pCZExuTjBZWEowYzFkcGRHZ29KM2RoYVhRbktTa2diV0Z3V3lkM1lXbDBKMTBnUFNCd1lYSnpaVWx1ZENoaGNuSmJNbDBwTzF4dUlDQWdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tHRnljbHN3WFM1emRHRnlkSE5YYVhSb0tDZGpZWFFuS1NrZ2JXRndXeWRqWVhRblhTQTlJR0Z5Y2xzelhUdGNiaUFnSUNBZ0lDQWdJQ0JsYkhObElHbG1JQ2hoY25KYk1GMHVjM1JoY25SelYybDBhQ2duZEdsdFpXOTFkQ2NwS1NCdFlYQmJKM1JwYldWdmRYUW5YU0E5SUhCaGNuTmxTVzUwS0dGeWNsczBYU2s3WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCMFpYTjBJRDBnYm1WM0lGUmxjM1FvWVhWMGIxUmxjM1J6UTJGMFRtRnRaU3dnZEdWemRITXViR1Z1WjNSb0lEMDlQU0F4SUQ4Z1ppNXVZVzFsSURvZ1lDUjdaaTV1WVcxbGZTQWtlMmtnS3lBeGZXQXNJR0Z6ZVc1aklDZ3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCeVpYTWdQU0JoZDJGcGRDQm5jbTlyTG1aMWJtTjBhVzl1Y3k1bGRtRnNLR0ZrWkU1aGJXVnpjR0ZqWlNoMFpYTjBjMXRwWFN3Z1ppa3BPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHRZWEF1ZDJGcGRDa2dZWGRoYVhRZ1pHVnNZWGtvYldGd0xuZGhhWFFwTzF4dUlDQWdJQ0FnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTEwYUhKdmR5MXNhWFJsY21Gc1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJ5WlhNZ1BUMDlJQ2RpYjI5c1pXRnVKeUFtSmlBaGNtVnpLU0IwYUhKdmR5QmdSbUZwYkdWa09pQWtlM1JsYzNSelcybGRmU3dnWlhod1pXTjBaV1FnZEhKMVpTd2daMjkwSUNSN2NtVnpmV0E3WEc0Z0lDQWdJQ0FnSUgwc0lIdHphMmx3VW1WaGMyOXVPaUJ0WVhBdWMydHBjQ3dnZEdsdFpXOTFkRG9nYldGd0xuUnBiV1Z2ZFhSOUtUdGNiaUFnSUNBZ0lDQWdhV1lnS0cxaGNDNWpZWFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCallYUTZJSE4wY21sdVp5QTlJR0YxZEc5VVpYTjBjME5oZEU1aGJXVWdLeUFuT2lBbklDc2diV0Z3TG1OaGREdGNiaUFnSUNBZ0lDQWdJQ0IwWlhOMExtTmhkR1ZuYjNKNUlEMGdZMkYwTzF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h0YjJSMWJHVlVaWE4wYzF0allYUmRJRDA5UFNCMWJtUmxabWx1WldRcFhHNGdJQ0FnSUNBZ0lDQWdJQ0J0YjJSMWJHVlVaWE4wYzF0allYUmRJRDBnZTNSbGMzUnpPaUJiWFN3Z1kyeGxZWEk2SUhSeWRXVjlPMXh1SUNBZ0lDQWdJQ0FnSUcxdlpIVnNaVlJsYzNSelcyTmhkRjB1ZEdWemRITXVjSFZ6YUNoMFpYTjBLVHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnYlc5a2RXeGxRWFYwYjFSbGMzUnpMbkIxYzJnb2RHVnpkQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hrWlcxdktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCM1lXbDBJRDBnWmk1dmNIUnBiMjV6V3lka1pXMXZWMkZwZENkZElEOGdjR0Z5YzJWSmJuUW9aaTV2Y0hScGIyNXpXeWRrWlcxdlYyRnBkQ2RkS1NBNklIVnVaR1ZtYVc1bFpEdGNiaUFnSUNBZ0lHTnZibk4wSUhSbGMzUWdQU0J1WlhjZ1ZHVnpkQ2hrWlcxdlEyRjBUbUZ0WlN3Z1ppNW1jbWxsYm1Sc2VVNWhiV1VzSUdGemVXNWpJQ2dwSUQwK0lIdGNiaUFnSUNBZ0lDQWdaM0p2YXk1emFHVnNiQzVzWVhOMFJYSnliM0lnUFNBbkp6dGNiaUFnSUNBZ0lDQWdZWGRoYVhRZ1ppNWhjSEJzZVNncE8xeHVJQ0FnSUNBZ0lDQmhkMkZwZENCa1pXeGhlU2gzWVdsMElEOGdkMkZwZENBNklESXdNREFwTzF4dUlDQWdJQ0FnSUNCcFppQW9aM0p2YXk1emFHVnNiQzVzWVhOMFJYSnliM0lwWEc0Z0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0dkeWIyc3VjMmhsYkd3dWJHRnpkRVZ5Y205eUtUdGNiaUFnSUNBZ0lIMHNJSHR6YTJsd1VtVmhjMjl1T2lCbUxtOXdkR2x2Ym5OYkoyUmxiVzlUYTJsd0oxMTlLVHRjYmlBZ0lDQWdJRzF2WkhWc1pVUmxiVzh1Y0hWemFDaDBaWE4wS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dZdWFHRnpWR0ZuS0NkelpXMVVlWEJsUkdWMFpXTjBiM0luS1NrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnZEdWemRDQTlJRzVsZHlCVVpYTjBLR1JsZEdWamRHOXljME5oZEU1aGJXVXNJR1l1Wm5KcFpXNWtiSGxPWVcxbExDQmhjM2x1WXlBb0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR0Z5Y2lBOUlGdGRPMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUdOdmJDQnZaaUIwWlhOMFJHRjBZUzVqYkc5dVpTZ3BMbU52YkhWdGJuTXBJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J5WlhNZ1BTQmhkMkZwZENCbUxtRndjR3g1S0Z0amIyeGRLVHRjYmlBZ0lDQWdJQ0FnSUNCaGNuSXVjSFZ6YUNoeVpYTWdmSHdnWTI5c0xuTmxiVlI1Y0dVcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR1Y0Y0dWamRDaGhjbkl1Wm1sc2RHVnlLQ2hwS1NBOVBpQnBLUzVzWlc1bmRHZ3NJREVwTzF4dUlDQWdJQ0FnZlN3Z2UzTnJhWEJTWldGemIyNDZJR1l1YjNCMGFXOXVjMXNuYzJ0cGNGUmxjM1FuWFgwcE8xeHVJQ0FnSUNBZ2JXOWtkV3hsUkdWMFpXTjBiM0p6TG5CMWMyZ29kR1Z6ZENrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUhkaGMxSmxaMmx6ZEdWeVpXUmJjR0ZqYTJGblpVbGtYU0E5SUhSeWRXVTdYRzRnSUdsbUlDaHRiMlIxYkdWQmRYUnZWR1Z6ZEhNdWJHVnVaM1JvS1Z4dUlDQWdJRzF2WkhWc1pWUmxjM1J6VzJGMWRHOVVaWE4wYzBOaGRFNWhiV1ZkSUQwZ2UzUmxjM1J6T2lCdGIyUjFiR1ZCZFhSdlZHVnpkSE1zSUdOc1pXRnlPaUIwY25WbGZUdGNiaUFnYVdZZ0tHMXZaSFZzWlVSbGJXOHViR1Z1WjNSb0tWeHVJQ0FnSUcxdlpIVnNaVlJsYzNSelcyUmxiVzlEWVhST1lXMWxYU0E5SUh0MFpYTjBjem9nYlc5a2RXeGxSR1Z0Ynl3Z1kyeGxZWEk2SUhSeWRXVjlPMXh1SUNCcFppQW9iVzlrZFd4bFJHVjBaV04wYjNKekxteGxibWQwYUNsY2JpQWdJQ0J0YjJSMWJHVlVaWE4wYzF0a1pYUmxZM1J2Y25ORFlYUk9ZVzFsWFNBOUlIdDBaWE4wY3pvZ2JXOWtkV3hsUkdWMFpXTjBiM0p6TENCamJHVmhjam9nWm1Gc2MyVjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaV1JsWm1sdVpVTnZibk52YkdVb0tUb2dZVzU1VzEwZ2UxeHVJQ0JqYjI1emRDQnNiMmR6T2lCaGJubGJYU0E5SUZ0ZE8xeHVJQ0JqYjI1emIyeGxMbXh2WnlBOUlDZ3VMaTVoY21kektTQTlQaUI3WEc0Z0lDQWdiRzluY3k1d2RYTm9LQzR1TG1GeVozTXBPMXh1SUNBZ0lITjBaRXh2WnlndUxpNWhjbWR6S1R0Y2JpQWdmVHRjYmlBZ1kyOXVjMjlzWlM1cGJtWnZJRDBnS0M0dUxtRnlaM01wSUQwK0lIdGNiaUFnSUNCc2IyZHpMbkIxYzJnb0xpNHVZWEpuY3lrN1hHNGdJQ0FnYzNSa1NXNW1ieWd1TGk1aGNtZHpLVHRjYmlBZ2ZUdGNiaUFnWTI5dWMyOXNaUzUzWVhKdUlEMGdLQzR1TG1GeVozTXBJRDArSUh0Y2JpQWdJQ0JzYjJkekxuQjFjMmdvTGk0dVlYSm5jeWs3WEc0Z0lDQWdjM1JrVjJGeWJpZ3VMaTVoY21kektUdGNiaUFnZlR0Y2JpQWdZMjl1YzI5c1pTNWxjbkp2Y2lBOUlDZ3VMaTVoY21kektTQTlQaUI3WEc0Z0lDQWdiRzluY3k1d2RYTm9LQzR1TG1GeVozTXBPMXh1SUNBZ0lITjBaRVZ5Y205eUtDNHVMbUZ5WjNNcE8xeHVJQ0I5TzF4dUlDQnlaWFIxY200Z2JHOW5jenRjYm4xY2JseHVablZ1WTNScGIyNGdjbVZ6WlhSRGIyNXpiMnhsS0NrNklIWnZhV1FnZTF4dUlDQmpiMjV6YjJ4bExteHZaeUE5SUhOMFpFeHZaenRjYmlBZ1kyOXVjMjlzWlM1cGJtWnZJRDBnYzNSa1NXNW1ienRjYmlBZ1kyOXVjMjlzWlM1M1lYSnVJRDBnYzNSa1YyRnlianRjYmlBZ1kyOXVjMjlzWlM1bGNuSnZjaUE5SUhOMFpFVnljbTl5TzF4dWZWeHVYRzVsZUhCdmNuUWdZWE41Ym1NZ1puVnVZM1JwYjI0Z2NuVnVWR1Z6ZEhNb2IzQjBhVzl1Y3o4NlhHNGdJSHRqWVhSbFoyOXllVDg2SUhOMGNtbHVaeXdnZEdWemREODZJSE4wY21sdVp5d2dkR1Z6ZEVOdmJuUmxlSFEvT2lCVVpYTjBRMjl1ZEdWNGRDd2daWGhqYkhWa1pUODZJSE4wY21sdVoxdGRMQ0IyWlhKaWIzTmxQem9nWW05dmJHVmhibjBwSUh0Y2JpQWdZMjl1YzNRZ2NHRmphMkZuWlY4Z1BTQm5jbTlyTG1aMWJtTjBhVzl1Y3k1blpYUkRkWEp5Wlc1MFEyRnNiQ2dwUHk1bWRXNWpQeTV3WVdOcllXZGxPMXh1SUNCaGQyRnBkQ0JwYm1sMFFYVjBiMVJsYzNSektIQmhZMnRoWjJWZktUdGNiaUFnWTI5dWMzUWdjbVZ6ZFd4MGN6b2dleUJqWVhSbFoyOXllVDg2SUhOMGNtbHVaeXdnYm1GdFpUODZJSE4wY21sdVp5d2djM1ZqWTJWemN6b2dZbTl2YkdWaGJpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUTZJSE4wY21sdVp5d2diWE02SUc1MWJXSmxjaXdnYzJ0cGNIQmxaRG9nWW05dmJHVmhiaUI5VzEwZ1BTQmJYVHRjYmlBZ1kyOXVjMjlzWlM1c2IyY29ZRkoxYm01cGJtY2dkR1Z6ZEhOZ0tUdGNiaUFnYjNCMGFXOXVjeUEvUHowZ2UzMDdYRzRnSUc5d2RHbHZibk1oTG5SbGMzUkRiMjUwWlhoMElEOC9QU0J1WlhjZ1ZHVnpkRU52Ym5SbGVIUW9LVHRjYmlBZ1ozSnZheTV6YUdWc2JDNXNZWE4wUlhKeWIzSWdQU0FuSnp0Y2JpQWdZMjl1YzNRZ1kyRjBaV2R2Y21sbGN5QTlJRnRkTzF4dUlDQmpiMjV6ZENCc2IyZHpJRDBnY21Wa1pXWnBibVZEYjI1emIyeGxLQ2s3WEc0Z0lIUnllU0I3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0JiYTJWNUxDQjJZV3gxWlYwZ2IyWWdUMkpxWldOMExtVnVkSEpwWlhNb2RHVnpkSE1wS1NCN1hHNGdJQ0FnSUNCcFppQW9LQ0VoYjNCMGFXOXVjejh1WTJGMFpXZHZjbmtnSmlZZ0lXdGxlUzUwYjB4dmQyVnlRMkZ6WlNncExuTjBZWEowYzFkcGRHZ29iM0IwYVc5dWN6OHVZMkYwWldkdmNua3VkRzlNYjNkbGNrTmhjMlVvS1NrcElIeDhYRzRnSUNBZ0lDQWdJRzl3ZEdsdmJuTXVaWGhqYkhWa1pUOHVjMjl0WlNnb1l5a2dQVDRnYTJWNUxuTjBZWEowYzFkcGRHZ29ZeWtwS1Z4dUlDQWdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUhOMFpFeHZaeWhnVTNSaGNuUmxaQ0FrZTJ0bGVYMGdZMkYwWldkdmNubGdLVHRjYmlBZ0lDQWdJR05oZEdWbmIzSnBaWE11Y0hWemFDaHJaWGtwTzF4dUlDQWdJQ0FnWTI5dWMzUWdjMnRwY0hCbFpDQTlJSFpoYkhWbExuUmxjM1J6UHk1bGRtVnllU2dvZENrZ1BUNGdkQzV2Y0hScGIyNXpQeTV6YTJsd1VtVmhjMjl1S1R0Y2JpQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMllXeDFaUzVpWldadmNtVWdKaVlnSVhOcmFYQndaV1FwWEc0Z0lDQWdJQ0FnSUNBZ1lYZGhhWFFnZG1Gc2RXVXVZbVZtYjNKbEtDazdYRzRnSUNBZ0lDQjlJR05oZEdOb0lDaDRPaUJoYm5rcElIdGNiaUFnSUNBZ0lDQWdkbUZzZFdVdVltVm1iM0psVTNSaGRIVnpJRDBnWjJWMFVtVnpkV3gwS0hncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1kyOXVjM1FnZENBOUlIWmhiSFZsTG5SbGMzUnpJRDgvSUZ0ZE8xeHVJQ0FnSUNBZ1kyOXVjM1FnY21WeklEMGdXMTA3WEc0Z0lDQWdJQ0JwWmlBb2RtRnNkV1V1WTJ4bFlYSXBJSHRjYmlBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpMbkIxYzJnb1lYZGhhWFFnWlhobFkxUmxjM1FvZEZ0cFhTd2diM0IwYVc5dWN6OHVkR1Z6ZEN3Z2JHOW5jeXdnZG1Gc2RXVXVkR2x0Wlc5MWRDd2djR0ZqYTJGblpWOHVibUZ0WlN3Z2IzQjBhVzl1Y3k1MlpYSmliM05sS1NrN1hHNGdJQ0FnSUNBZ0lDQWdaM0p2YXk1emFHVnNiQzVqYkc5elpVRnNiQ2dwTzF4dUlDQWdJQ0FnSUNBZ0lFUkhMa0poYkd4dmIyNHVZMnh2YzJWQmJHd29LVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMExteGxibWQwYURzZ2FTc3JLVnh1SUNBZ0lDQWdJQ0FnSUhKbGN5NXdkWE5vS0dGM1lXbDBJR1Y0WldOVVpYTjBLSFJiYVYwc0lHOXdkR2x2Ym5NL0xuUmxjM1FzSUd4dlozTXNJSFpoYkhWbExuUnBiV1Z2ZFhRc0lIQmhZMnRoWjJWZkxtNWhiV1VzSUc5d2RHbHZibk11ZG1WeVltOXpaU2twTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnWTI5dWMzUWdaR0YwWVNBOUlISmxjeTVtYVd4MFpYSW9LR1FwSUQwK0lHUXVjbVZ6ZFd4MElDRTlJQ2R6YTJsd2NHVmtKeWs3WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvZG1Gc2RXVXVZV1owWlhJZ0ppWWdJWE5yYVhCd1pXUXBYRzRnSUNBZ0lDQWdJQ0FnWVhkaGFYUWdkbUZzZFdVdVlXWjBaWElvS1R0Y2JpQWdJQ0FnSUgwZ1kyRjBZMmdnS0hnNklHRnVlU2tnZTF4dUlDQWdJQ0FnSUNCMllXeDFaUzVoWm5SbGNsTjBZWFIxY3lBOUlHZGxkRkpsYzNWc2RDaDRLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJQzh2SUVOc1pXRnlJR0ZtZEdWeUlHTmhkR1ZuYjNKNVhHNGdJQ0FnSUNBdkx5Qm5jbTlyTG5Ob1pXeHNMbU5zYjNObFFXeHNLQ2s3WEc0Z0lDQWdJQ0F2THlCRVJ5NUNZV3hzYjI5dUxtTnNiM05sUVd4c0tDazdYRzRnSUNBZ0lDQnBaaUFvZG1Gc2RXVXVZV1owWlhKVGRHRjBkWE1wWEc0Z0lDQWdJQ0FnSUdSaGRHRXVjSFZ6YUNoN1kyRjBaV2R2Y25rNklHdGxlU3dnYm1GdFpUb2dKMkZtZEdWeUp5d2djbVZ6ZFd4ME9pQjJZV3gxWlM1aFpuUmxjbE4wWVhSMWN5d2djM1ZqWTJWemN6b2dabUZzYzJVc0lHMXpPaUF3TENCemEybHdjR1ZrT2lCbVlXeHpaWDBwTzF4dUlDQWdJQ0FnYVdZZ0tIWmhiSFZsTG1KbFptOXlaVk4wWVhSMWN5bGNiaUFnSUNBZ0lDQWdaR0YwWVM1d2RYTm9LSHRqWVhSbFoyOXllVG9nYTJWNUxDQnVZVzFsT2lBblltVm1iM0psSnl3Z2NtVnpkV3gwT2lCMllXeDFaUzVpWldadmNtVlRkR0YwZFhNc0lITjFZMk5sYzNNNklHWmhiSE5sTENCdGN6b2dNQ3dnYzJ0cGNIQmxaRG9nWm1Gc2MyVjlLVHRjYmlBZ0lDQWdJSEpsYzNWc2RITXVjSFZ6YUNndUxpNWtZWFJoS1R0Y2JpQWdJQ0I5WEc0Z0lIMGdabWx1WVd4c2VTQjdYRzRnSUNBZ2NtVnpaWFJEYjI1emIyeGxLQ2s3WEc0Z0lIMWNiaUFnYVdZZ0tHOXdkR2x2Ym5NdWRHVnpkRU52Ym5SbGVIUXVZMkYwWTJoVmJtaGhibVJzWldRcElIdGNiaUFnSUNCaGQyRnBkQ0JrWld4aGVTZ3hNREF3S1R0Y2JpQWdJQ0JwWmlBb1ozSnZheTV6YUdWc2JDNXNZWE4wUlhKeWIzSXViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnY21WemRXeDBjeTV3ZFhOb0tIdGNiaUFnSUNBZ0lDQWdZMkYwWldkdmNuazZJQ2RWYm1oaGJtUnNaV1FnWlhoalpYQjBhVzl1Y3ljc1hHNGdJQ0FnSUNBZ0lHNWhiV1U2SUNkbGVHTmxjSFJwYjI1ekp5eGNiaUFnSUNBZ0lDQWdjbVZ6ZFd4ME9pQm5jbTlyTG5Ob1pXeHNMbXhoYzNSRmNuSnZjaXdnYzNWalkyVnpjem9nWm1Gc2MyVXNJRzF6T2lBd0xDQnphMmx3Y0dWa09pQm1ZV3h6WlZ4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUdsbUlDZ2hiM0IwYVc5dWN5NTBaWE4wSUNZbUlISmxjM1ZzZEhNdWJHVnVaM1JvS1NCN1hHNGdJQ0FnWTI5dWMzUWdjM1ZqWTJWemMyWjFiQ0E5SUhKbGMzVnNkSE11Wm1sc2RHVnlLQ2h5S1NBOVBpQnlMbk4xWTJObGMzTXBMbXhsYm1kMGFEdGNiaUFnSUNCamIyNXpkQ0J6YTJsd2NHVmtJRDBnY21WemRXeDBjeTVtYVd4MFpYSW9LSElwSUQwK0lISXVjMnRwY0hCbFpDa3ViR1Z1WjNSb08xeHVJQ0FnSUdOdmJuTjBJR1poYVd4bFpDQTlJSEpsYzNWc2RITXVabWxzZEdWeUtDaHlLU0E5UGlBaGNpNXpkV05qWlhOektUdGNiaUFnSUNCamIyNXpkQ0J3WVdOcllXZGxUbUZ0WlNBOUlIQmhZMnRoWjJWZkxtNWhiV1U3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0JqWVhRZ2IyWWdZMkYwWldkdmNtbGxjeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdjbVZ6SUQwZ2NtVnpkV3gwY3k1bWFXeDBaWElvS0hJcElEMCtJSEl1WTJGMFpXZHZjbmtnUFQwOUlHTmhkQ2s3WEc0Z0lDQWdJQ0JqYjI1emRDQm1ZV2xzWldSZklEMGdjbVZ6TG1acGJIUmxjaWdvY2lrZ1BUNGdJWEl1YzNWalkyVnpjeWt1YkdWdVozUm9PMXh1SUNBZ0lDQWdZMjl1YzNRZ2NHRnlZVzF6SUQwZ2UzTjFZMk5sYzNNNklHWmhhV3hsWkY4Z1BUMDlJREFzWEc0Z0lDQWdJQ0FnSUhCaGMzTmxaRG9nY21WekxtWnBiSFJsY2lnb2Npa2dQVDRnY2k1emRXTmpaWE56S1M1c1pXNW5kR2dzWEc0Z0lDQWdJQ0FnSUhOcmFYQndaV1E2SUhKbGN5NW1hV3gwWlhJb0tISXBJRDArSUhJdWMydHBjSEJsWkNrdWJHVnVaM1JvTEZ4dUlDQWdJQ0FnSUNCbVlXbHNaV1E2SUdaaGFXeGxaRjhzWEc0Z0lDQWdJQ0FnSUhSNWNHVTZJQ2R3WVdOcllXZGxKeXdnY0dGamEyRm5aVTVoYldVc0lHTmhkR1ZuYjNKNU9pQmpZWFI5TzF4dUlDQWdJQ0FnWjNKdmF5NXNiMmN1ZFhOaFoyVW9ZQ1I3Y0dGamEyRm5aVTVoYldWOU9pQWtlMk5oZEgxZ0xGeHVJQ0FnSUNBZ0lDQndZWEpoYlhNc0lHQmpZWFJsWjI5eWVTMXdZV05yWVdkbElDUjdjR0ZqYTJGblpVNWhiV1Y5T2lBa2UyTmhkSDFnS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0NGdmNIUnBiMjV6TG1OaGRHVm5iM0o1S1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J3WVhKaGJYTWdQU0I3YzNWalkyVnpjem9nWm1GcGJHVmtMbXhsYm1kMGFDQTlQVDBnTUN3Z2NHRnpjMlZrT2lCemRXTmpaWE56Wm5Wc0xDQnphMmx3Y0dWa0xDQm1ZV2xzWldRNklHWmhhV3hsWkM1c1pXNW5kR2dzWEc0Z0lDQWdJQ0FnSUhSNWNHVTZJQ2R3WVdOcllXZGxKeXdnY0dGamEyRm5aVTVoYldWOU8xeHVJQ0FnSUNBZ1ozSnZheTVzYjJjdWRYTmhaMlVvY0dGamEyRm5aVTVoYldVc0lIQmhjbUZ0Y3l3Z1lIQmhZMnRoWjJVdGNHRmphMkZuWlNBa2UzQmhZMnRoWjJWT1lXMWxmV0FwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvYjNCMGFXOXVjeTUwWlhOMFEyOXVkR1Y0ZEM1eVpYQnZjblFwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR3h2WjJkbGNpQTlJRzVsZHlCRVJ5NU1iMmRuWlhJb0tUdGNiaUFnSUNBZ0lHTnZibk4wSUdSbGMyTnlhWEIwYVc5dUlEMGdKMUJoWTJ0aFoyVWdRSEJoWTJ0aFoyVWdkR1Z6ZEdWa09pQkFjM1ZqWTJWemMyWjFiQ0J6ZFdOalpYTnpablZzTENCQWMydHBjSEJsWkNCemEybHdjR1ZrTENCQVptRnBiR1ZrSUdaaGFXeGxaQ0IwWlhOMGN5YzdYRzRnSUNBZ0lDQmpiMjV6ZENCd1lYSmhiWE1nUFNCN1hHNGdJQ0FnSUNBZ0lITjFZMk5sYzNObWRXdzZJSE4xWTJObGMzTm1kV3dzWEc0Z0lDQWdJQ0FnSUhOcmFYQndaV1E2SUhOcmFYQndaV1FzWEc0Z0lDQWdJQ0FnSUdaaGFXeGxaRG9nWm1GcGJHVmtMbXhsYm1kMGFDeGNiaUFnSUNBZ0lDQWdjR0ZqYTJGblpUb2djR0ZqYTJGblpWOWNiaUFnSUNBZ0lIMDdYRzRnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJSElnYjJZZ1ptRnBiR1ZrS1NCUFltcGxZM1F1WVhOemFXZHVLSEJoY21GdGN5d2dlMXRnSkh0eUxtTmhkR1ZuYjNKNWZTQjhJQ1I3Y2k1dVlXMWxmV0JkT2lCeUxuSmxjM1ZzZEgwcE8xeHVJQ0FnSUNBZ2JHOW5aMlZ5TG14dlp5aGtaWE5qY21sd2RHbHZiaXdnY0dGeVlXMXpMQ0FuY0dGamEyRm5aUzEwWlhOMFpXUW5LVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdjbVYwZFhKdUlISmxjM1ZzZEhNN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdkbGRGSmxjM1ZzZENoNE9pQmhibmtwSUh0Y2JpQWdjbVYwZFhKdUlHQWtlM2d1ZEc5VGRISnBibWNvS1gxY1hHNGtlM2d1YzNSaFkyc2dQeUJFUnk1TWIyZG5aWEl1ZEhKaGJuTnNZWFJsVTNSaFkydFVjbUZqWlNoNExuTjBZV05yS1NBNklDY25mV0E3WEc1OVhHNWNibUZ6ZVc1aklHWjFibU4wYVc5dUlHVjRaV05VWlhOMEtIUTZJRlJsYzNRc0lIQnlaV1JwWTJGMFpUb2djM1J5YVc1bklId2dkVzVrWldacGJtVmtMQ0JzYjJkek9pQmhibmxiWFN4Y2JpQWdZMkYwWldkdmNubFVhVzFsYjNWMFB6b2diblZ0WW1WeUxDQndZV05yWVdkbFRtRnRaVDg2SUhOMGNtbHVaeXdnZG1WeVltOXpaVDg2SUdKdmIyeGxZVzRwSUh0Y2JpQWdiRzluY3k1c1pXNW5kR2dnUFNBd08xeHVJQ0JzWlhRZ2Nqb2dlMk5oZEdWbmIzSjVQem9nYzNSeWFXNW5MQ0J1WVcxbFB6b2djM1J5YVc1bkxDQnpkV05qWlhOek9pQmliMjlzWldGdUxDQnlaWE4xYkhRNklHRnVlU3dnYlhNNklHNTFiV0psY2l3Z2MydHBjSEJsWkRvZ1ltOXZiR1ZoYml3Z2JHOW5jejg2SUhOMGNtbHVaMzA3WEc0Z0lHeGxkQ0IwZVhCbE9pQnpkSEpwYm1jZ1BTQW5jR0ZqYTJGblpTYzdYRzRnSUdOdmJuTjBJR1pwYkhSbGNpQTlJSEJ5WldScFkyRjBaU0FoUFNCMWJtUmxabWx1WldRZ0ppWWdLSFF1Ym1GdFpTNTBiMHh2ZDJWeVEyRnpaU2dwSUNFOVBTQndjbVZrYVdOaGRHVXVkRzlNYjNkbGNrTmhjMlVvS1NrN1hHNGdJR052Ym5OMElITnJhWEFnUFNCMExtOXdkR2x2Ym5NL0xuTnJhWEJTWldGemIyNGdmSHdnWm1sc2RHVnlPMXh1SUNCamIyNXpkQ0J6YTJsd1VtVmhjMjl1SUQwZ1ptbHNkR1Z5SUQ4Z0ozTnJhWEJ3WldRbklEb2dkQzV2Y0hScGIyNXpQeTV6YTJsd1VtVmhjMjl1TzF4dUlDQnBaaUFvSVhOcmFYQXBYRzRnSUNBZ2MzUmtURzluS0dCVGRHRnlkR1ZrSUNSN2RDNWpZWFJsWjI5eWVYMGdKSHQwTG01aGJXVjlZQ2s3WEc0Z0lHTnZibk4wSUhOMFlYSjBJRDBnUkdGMFpTNXViM2NvS1R0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0JwWmlBb2MydHBjQ2xjYmlBZ0lDQWdJSElnUFNCN2MzVmpZMlZ6Y3pvZ2RISjFaU3dnY21WemRXeDBPaUJ6YTJsd1VtVmhjMjl1SVN3Z2JYTTZJREFzSUhOcmFYQndaV1E2SUhSeWRXVjlPMXh1SUNBZ0lHVnNjMlVnZTF4dUlDQWdJQ0FnYkdWMElIUnBiV1Z2ZFhSZklEMGdkQzV2Y0hScGIyNXpQeTUwYVcxbGIzVjBJRDA5UFNCVFZFRk9SRUZTVkY5VVNVMUZUMVZVSUNZbVhHNGdJQ0FnSUNBZ0lHTmhkR1ZuYjNKNVZHbHRaVzkxZENBL0lHTmhkR1ZuYjNKNVZHbHRaVzkxZENBNklIUXViM0IwYVc5dWN6OHVkR2x0Wlc5MWRDRTdYRzRnSUNBZ0lDQjBhVzFsYjNWMFh5QTlJRVJITGxSbGMzUXVhWE5KYmtKbGJtTm9iV0Z5YXlBbUppQjBhVzFsYjNWMFh5QTlQVDBnVTFSQlRrUkJVbFJmVkVsTlJVOVZWQ0EvSUVKRlRrTklUVUZTUzE5VVNVMUZUMVZVSURvZ2RHbHRaVzkxZEY4N1hHNGdJQ0FnSUNCeUlEMGdlM04xWTJObGMzTTZJSFJ5ZFdVc0lISmxjM1ZzZERvZ1lYZGhhWFFnZEdsdFpXOTFkQ2gwTG5SbGMzUXNJSFJwYldWdmRYUmZLU0EvUHlBblQwc25MQ0J0Y3pvZ01Dd2djMnRwY0hCbFpEb2dabUZzYzJWOU8xeHVJQ0FnSUgxY2JpQWdmU0JqWVhSamFDQW9lRG9nWVc1NUtTQjdYRzRnSUNBZ2NpQTlJSHR6ZFdOalpYTnpPaUJtWVd4elpTd2djbVZ6ZFd4ME9pQm5aWFJTWlhOMWJIUW9lQ2tzSUcxek9pQXdMQ0J6YTJsd2NHVmtPaUJtWVd4elpYMDdYRzRnSUgxY2JpQWdhV1lnS0hRdWIzQjBhVzl1Y3o4dWFYTkJaMmR5WldkaGRHVmtJQ1ltSUhJdWNtVnpkV3gwTG1OdmJuTjBjblZqZEc5eUlEMDlQU0JFUnk1RVlYUmhSbkpoYldVcElIdGNiaUFnSUNCamIyNXpkQ0JqYjJ3Z1BTQnlMbkpsYzNWc2RDNWpiMndvSjNOMVkyTmxjM01uS1R0Y2JpQWdJQ0IwZVhCbElEMGdKMk52Y21Vbk8xeHVJQ0FnSUdsbUlDaGpiMndwWEc0Z0lDQWdJQ0J5TG5OMVkyTmxjM01nUFNCamIyd3VjM1JoZEhNdWMzVnRJRDA5UFNCamIyd3ViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDZ2hkbVZ5WW05elpTa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1pHWWdQU0J5TG5KbGMzVnNkRHRjYmlBZ0lDQWdJR1JtTG1OdmJIVnRibk11Y21WdGIzWmxLQ2R6ZEdGamF5Y3BPMXh1SUNBZ0lDQWdaR1l1Y205M2N5NXlaVzF2ZG1WWGFHVnlaU2dvY2lrZ1BUNGdjaTVuWlhRb0ozTjFZMk5sYzNNbktTazdYRzRnSUNBZ0lDQnlMbkpsYzNWc2RDQTlJR1JtTzF4dUlDQWdJSDFjYmlBZ0lDQnlMbkpsYzNWc2RDQTlJSEl1Y21WemRXeDBMblJ2UTNOMktDazdYRzRnSUgxY2JpQWdjaTVzYjJkeklEMGdiRzluY3k1cWIybHVLQ2RjWEc0bktUdGNiaUFnY2k1dGN5QTlJRVJoZEdVdWJtOTNLQ2tnTFNCemRHRnlkRHRjYmlBZ2FXWWdLQ0Z6YTJsd0tWeHVJQ0FnSUhOMFpFeHZaeWhnUm1sdWFYTm9aV1FnSkh0MExtTmhkR1ZuYjNKNWZTQWtlM1F1Ym1GdFpYMGdabTl5SUNSN2NpNXRjMzBnYlhOZ0tUdGNiaUFnY2k1allYUmxaMjl5ZVNBOUlIUXVZMkYwWldkdmNuazdYRzRnSUhJdWJtRnRaU0E5SUhRdWJtRnRaVHRjYmlBZ2FXWWdLQ0ZtYVd4MFpYSXBJSHRjYmlBZ0lDQnNaWFFnY0dGeVlXMXpJRDBnZXlkemRXTmpaWE56SnpvZ2NpNXpkV05qWlhOekxDQW5jbVZ6ZFd4MEp6b2djaTV5WlhOMWJIUXNJQ2R0Y3ljNklISXViWE1zSUNkemEybHdjR1ZrSnpvZ2NpNXphMmx3Y0dWa0xGeHVJQ0FnSUNBZ0ozUjVjR1VuT2lCMGVYQmxMQ0J3WVdOcllXZGxUbUZ0WlN3Z0oyTmhkR1ZuYjNKNUp6b2dkQzVqWVhSbFoyOXllU3dnSjNSbGMzUW5PaUIwTG01aGJXVXNJQ2RzYjJkekp6b2djaTVzYjJkemZUdGNiaUFnSUNCcFppQW9jaTV5WlhOMWJIUXVZMjl1YzNSeWRXTjBiM0lnUFQwZ1QySnFaV04wS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J5WlhNZ1BTQlBZbXBsWTNRdWEyVjVjeWh5TG5KbGMzVnNkQ2t1Y21Wa2RXTmxLQ2hoWTJNc0lHc3BJRDArSUNoN0xpNHVZV05qTENCYkozSmxjM1ZzZEM0bklDc2dhMTA2SUhJdWNtVnpkV3gwVzJ0ZGZTa3NJSHQ5S1R0Y2JpQWdJQ0FnSUhCaGNtRnRjeUE5SUhzdUxpNXdZWEpoYlhNc0lDNHVMbkpsYzMwN1hHNGdJQ0FnZlZ4dUlDQWdJR2R5YjJzdWJHOW5MblZ6WVdkbEtHQWtlM0JoWTJ0aFoyVk9ZVzFsZlRvZ0pIdDBMbU5oZEdWbmIzSjVmVG9nSkh0MExtNWhiV1Y5WUN4Y2JpQWdJQ0FnSUhCaGNtRnRjeXdnWUhSbGMzUXRKSHQwZVhCbGZTQWtlM0JoWTJ0aFoyVk9ZVzFsZlRvZ0pIdDBMbU5oZEdWbmIzSjVmVG9nSkh0MExtNWhiV1Y5WUNrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUhJN1hHNTlYRzVjYmk4cUlGZGhhWFJ6SUZ0dGMxMGdiV2xzYkdselpXTnZibVJ6SUNvdlhHNWxlSEJ2Y25RZ1lYTjVibU1nWm5WdVkzUnBiMjRnWkdWc1lYa29iWE02SUc1MWJXSmxjaWtnZTF4dUlDQmhkMkZwZENCdVpYY2dVSEp2YldselpTZ29jaWtnUFQ0Z2MyVjBWR2x0Wlc5MWRDaHlMQ0J0Y3lrcE8xeHVmVnh1WEc1bGVIQnZjblFnWVhONWJtTWdablZ1WTNScGIyNGdZWGRoYVhSRGFHVmpheWhqYUdWamEwaGhibVJzWlhJNklDZ3BJRDArSUdKdmIyeGxZVzRzWEc0Z0lHVnljbTl5T2lCemRISnBibWNnUFNBblZHbHRaVzkxZENCbGVHTmxaV1JsWkNjc0lIZGhhWFE2SUc1MWJXSmxjaUE5SURVd01Dd2dhVzUwWlhKMllXdzZJRzUxYldKbGNpQTlJRFV3S1RvZ1VISnZiV2x6WlR4MmIybGtQaUI3WEc0Z0lISmxkSFZ5YmlCdVpYY2dVSEp2YldselpTZ29jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQTlQaUI3WEc0Z0lDQWdjMlYwVkdsdFpXOTFkQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQmpiR1ZoY2tsdWRHVnlkbUZzS0dsdWRHVnlkbUZzU1dRcE8xeHVJQ0FnSUNBZ2NtVnFaV04wS0c1bGR5QkZjbkp2Y2lobGNuSnZjaWtwTzF4dUlDQWdJSDBzSUhkaGFYUXBPMXh1SUNBZ0lDOHZJRUIwY3kxcFoyNXZjbVZjYmlBZ0lDQmpiMjV6ZENCcGJuUmxjblpoYkVsa09pQlVhVzFsYjNWMElEMGdjMlYwU1c1MFpYSjJZV3dvS0NrZ1BUNGdlMXh1SUNBZ0lDQWdhV1lnS0dOb1pXTnJTR0Z1Wkd4bGNpZ3BLU0I3WEc0Z0lDQWdJQ0FnSUdOc1pXRnlTVzUwWlhKMllXd29hVzUwWlhKMllXeEpaQ2s3WEc0Z0lDQWdJQ0FnSUhKbGMyOXNkbVVvS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5TENCcGJuUmxjblpoYkNrN1hHNGdJSDBwTzF4dWZWeHVYRzR2THlCU1pYUjFjbTV6SUhSbGMzUWdaWGhsWTNWMGFXOXVJSEpsYzNWc2RDQnZjaUJoYmlCbGNuSnZjaUJwYmlCallYTmxJRzltSUhScGJXVnZkWFJjYm1GemVXNWpJR1oxYm1OMGFXOXVJSFJwYldWdmRYUW9ablZ1WXpvZ0tDa2dQVDRnVUhKdmJXbHpaVHhoYm5rK0xDQjBaWE4wVkdsdFpXOTFkRG9nYm5WdFltVnlLVG9nVUhKdmJXbHpaVHhoYm5rK0lIdGNiaUFnYkdWMElIUnBiV1Z2ZFhRNklHRnVlU0E5SUc1MWJHdzdYRzRnSUdOdmJuTjBJSFJwYldWdmRYUlFjbTl0YVhObElEMGdibVYzSUZCeWIyMXBjMlU4WVc1NVBpZ29YeXdnY21WcVpXTjBLU0E5UGlCN1hHNGdJQ0FnZEdsdFpXOTFkQ0E5SUhObGRGUnBiV1Z2ZFhRb0tDa2dQVDRnZTF4dUlDQWdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUhCeVpXWmxjaTF3Y205dGFYTmxMWEpsYW1WamRDMWxjbkp2Y25OY2JpQWdJQ0FnSUhKbGFtVmpkQ2duUlZoRlExVlVTVTlPSUZSSlRVVlBWVlFuS1R0Y2JpQWdJQ0I5TENCMFpYTjBWR2x0Wlc5MWRDazdYRzRnSUgwcE8xeHVJQ0IwY25rZ2UxeHVJQ0FnSUhKbGRIVnliaUJoZDJGcGRDQlFjbTl0YVhObExuSmhZMlVvVzJaMWJtTW9LU3dnZEdsdFpXOTFkRkJ5YjIxcGMyVmRLVHRjYmlBZ2ZTQm1hVzVoYkd4NUlIdGNiaUFnSUNCcFppQW9kR2x0Wlc5MWRDbGNiaUFnSUNBZ0lHTnNaV0Z5VkdsdFpXOTFkQ2gwYVcxbGIzVjBLVHRjYmlBZ2ZWeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYVhORWFXRnNiMmRRY21WelpXNTBLR1JwWVd4dloxUnBkR3hsT2lCemRISnBibWNwT2lCaWIyOXNaV0Z1SUh0Y2JpQWdZMjl1YzNRZ1pHbGhiRzluY3lBOUlFUkhMa1JwWVd4dlp5NW5aWFJQY0dWdVJHbGhiRzluY3lncE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdScFlXeHZaM011YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCcFppQW9aR2xoYkc5bmMxdHBYUzUwYVhSc1pTQTlQU0JrYVdGc2IyZFVhWFJzWlNsY2JpQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCbVlXeHpaVHRjYm4xY2JseHVMeW9xSUVWNGNHVmpkSE1nWVc0Z1lYTjVibU5vY205dWIzVnpJSHRBYkdsdWF5QmhZM1JwYjI1OUlIUnZJSFJvY205M0lHRnVJR1Y0WTJWd2RHbHZiaTRnVlhObElIdEFiR2x1YXlCamFHVmphMzBnZEc4Z2NHVnlabTl5YlZ4dUlDb2daR1ZsY0dWeUlHbHVjM0JsWTNScGIyNGdiMllnZEdobElHVjRZMlZ3ZEdsdmJpQnBaaUJ1WldObGMzTmhjbmt1WEc0Z0tpQkFjR0Z5WVcwZ0lIdG1kVzVqZEdsdmJpZ3BPaUJRY205dGFYTmxQSFp2YVdRK2ZTQmhZM1JwYjI1Y2JpQXFJRUJ3WVhKaGJTQWdlMloxYm1OMGFXOXVLR0Z1ZVNrNklHSnZiMnhsWVc1OUlHTm9aV05yWEc0Z0tpQkFjbVYwZFhKdUlIdFFjbTl0YVhObFBIWnZhV1ErZlZ4dUlDb3ZYRzVsZUhCdmNuUWdZWE41Ym1NZ1puVnVZM1JwYjI0Z1pYaHdaV04wUlhoalpYQjBhVzl1UVhONWJtTW9ZV04wYVc5dU9pQW9LU0E5UGlCUWNtOXRhWE5sUEhadmFXUStMRnh1SUNCamFHVmphejg2SUNobGVHTmxjSFJwYjI0NklHRnVlU2tnUFQ0Z1ltOXZiR1ZoYmlrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQnNaWFFnWTJGMVoyaDBPaUJpYjI5c1pXRnVJRDBnWm1Gc2MyVTdYRzRnSUd4bGRDQmphR1ZqYTJWa09pQmliMjlzWldGdUlEMGdabUZzYzJVN1hHNGdJSFJ5ZVNCN1hHNGdJQ0FnWVhkaGFYUWdZV04wYVc5dUtDazdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNCallYVm5hSFFnUFNCMGNuVmxPMXh1SUNBZ0lHTm9aV05yWldRZ1BTQWhZMmhsWTJzZ2ZId2dZMmhsWTJzb1pTazdYRzRnSUgwZ1ptbHVZV3hzZVNCN1hHNGdJQ0FnYVdZZ0tDRmpZWFZuYUhRcFhHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjBGdUlHVjRZMlZ3ZEdsdmJpQnBjeUJsZUhCbFkzUmxaQ0JpZFhRZ2JtOTBJSFJvY205M2JpY3BPMXh1SUNBZ0lHbG1JQ2doWTJobFkydGxaQ2xjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25RVzRnWlhod1pXTjBaV1FnWlhoalpYQjBhVzl1SUdseklIUm9jbTkzYml3Z1luVjBJR2wwSUdSdlpYTWdibTkwSUhOaGRHbHpabmtnZEdobElHTnZibVJwZEdsdmJpY3BPMXh1SUNCOVhHNTlYRzVjYm1OdmJuTjBJR05oZEVSR0lEMGdSRWN1UkdGMFlVWnlZVzFsTG1aeWIyMURiMngxYlc1ektGdEVSeTVEYjJ4MWJXNHVabkp2YlZOMGNtbHVaM01vSjJOdmJDY3NJRnNuZG1Gc01TY3NJQ2QyWVd3eUp5d2dKM1poYkRNblhTbGRLVHRjYmx4dUx5b3FYRzRnS2lCVmJtbDJaWEp6WVd3Z2RHVnpkQ0JtYjNJZ2RtbGxkMlZ5Y3k0Z1NYUWdjMlZoY21Ob0lIWnBaWGRsY25NZ2FXNGdSRTlOSUdKNUlIUmhaM002SUdOaGJuWmhjeXdnYzNabkxDQnBiV2NzSUdsdWNIVjBMQ0JvTVN3Z1lWeHVJQ29nUUhCaGNtRnRJQ0I3YzNSeWFXNW5mU0IySUZacFpYZGxjaUJ1WVcxbFhHNGdLaUJBY0dGeVlXMGdJSHRFUnk1RVlYUmhSbkpoYldWOUlHUm1JRVJoZEdGbWNtRnRaU0IwYnlCMWMyVXVJRk5vYjNWc1pDQm9ZWFpsSUdGMElHeGxZWE4wSURNZ2NtOTNjMXh1SUNvZ1FIQmhjbUZ0SUNCN1ltOXZiR1ZoYm4wZ2IzQjBhVzl1Y3k1a1pYUmxZM1JUWlcxaGJuUnBZMVI1Y0dWeklGTndaV05wWm5rZ2QyaGxkR2hsY2lCMGJ5QmtaWFJsWTNRZ2MyVnRZVzUwYVdNZ2RIbHdaWE1nYjNJZ2JtOTBYRzRnS2lCQWNHRnlZVzBnSUh0aWIyOXNaV0Z1ZlNCdmNIUnBiMjV6TG5KbFlXUlBibXg1SUVsbUlITmxkQ0IwYnlCMGNuVmxMQ0IwYUdVZ1pHRjBZV1p5WVcxbElIZHBiR3dnYm05MElHSmxJRzF2WkdsbWFXVmtJR1IxY21sdVp5QjBhR1VnZEdWemRGeHVJQ29nUUhCaGNtRnRJQ0I3WW05dmJHVmhibjBnYjNCMGFXOXVjeTVoY21KcGRISmhjbmxFWmxSbGMzUWdTV1lnYzJWMElIUnZJR1poYkhObExDQjBaWE4wSUc5dUlHRnlZbWwwY21GeWVTQmtZWFJoWm5KaGJXVmNiaUFxSUNodmJtVWdZMkYwWldkdmNtbGpZV3dnWTI5c2RXMXVLU0IzYVd4c0lHNXZkQ0JpWlNCd1pYSm1iM0p0WldSY2JpQXFJRUJ3WVhKaGJTQWdlMjlpYW1WamRIMGdiM0IwYVc5dWN5Qk1hWE4wSUc5bUlHOXdkR2x2Ym5NZ0tHOXdkR2x2Ym1Gc0tWeHVJQ29nUUhKbGRIVnliaUI3VUhKdmJXbHpaVHgyYjJsa1BuMGdWR2hsSUhSbGMzUWdhWE1nWTI5dWMybGtaWEpsWkNCemRXTmpaWE56Wm5Wc0lHbG1JR2wwSUdOdmJYQnNaWFJsY3lCM2FYUm9iM1YwSUdWeWNtOXljMXh1SUNvdlhHNWxlSEJ2Y25RZ1lYTjVibU1nWm5WdVkzUnBiMjRnZEdWemRGWnBaWGRsY2loMk9pQnpkSEpwYm1jc0lHUm1PaUJFUnk1RVlYUmhSbkpoYldVc0lHOXdkR2x2Ym5NL09pQjdYRzRnSUdSbGRHVmpkRk5sYldGdWRHbGpWSGx3WlhNL09pQmliMjlzWldGdUxDQnlaV0ZrVDI1c2VUODZJR0p2YjJ4bFlXNHNJR0Z5WW1sMGNtRnllVVJtVkdWemREODZJR0p2YjJ4bFlXNHNYRzRnSUhCaFkydGhaMlZPWVcxbFB6b2djM1J5YVc1bkxDQmhkMkZwZEZacFpYZGxjajg2SUNoMmFXVjNaWEk2SUVSSExsWnBaWGRsY2lrZ1BUNGdVSEp2YldselpUeDJiMmxrUGx4dWZTazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0JqYjI1emRDQmpjbVZoZEdWV2FXVjNaWElnUFNCaGMzbHVZeUFvZEhZNklFUkhMbFJoWW14bFZtbGxkeXdnZGpvZ2MzUnlhVzVuTENCd1lXTnJZV2RsVG1GdFpUODZJSE4wY21sdVp5azZJRkJ5YjIxcGMyVThSRWN1Vm1sbGQyVnlQaUE5UGlCN1hHNGdJQ0FnYkdWMElISmxjem9nUkVjdVZtbGxkMlZ5TzF4dUlDQWdJR2xtSUNod1lXTnJZV2RsVG1GdFpTa2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ1lYZGhhWFFnZEhZdVpHRjBZVVp5WVcxbExuQnNiM1F1Wm5KdmJWUjVjR1VvZGlrZ1lYTWdSRWN1Vm1sbGQyVnlPMXh1SUNBZ0lDQWdkSFl1Wkc5amEwMWhibUZuWlhJdVpHOWpheWh5WlhNcE8xeHVJQ0FnSUgwZ1pXeHpaVnh1SUNBZ0lDQWdjbVZ6SUQwZ2RIWXVZV1JrVm1sbGQyVnlLSFlwTzF4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ2FXWWdLRzl3ZEdsdmJuTS9MbVJsZEdWamRGTmxiV0Z1ZEdsalZIbHdaWE1wSUdGM1lXbDBJR2R5YjJzdVpHRjBZUzVrWlhSbFkzUlRaVzFoYm5ScFkxUjVjR1Z6S0dSbUtUdGNiaUFnYkdWMElIUjJJRDBnWjNKdmF5NXphR1ZzYkM1aFpHUlVZV0pzWlZacFpYY29aR1lwTzF4dUlDQmpiMjV6ZENCMmFXVjNaWEpPWVcxbElEMGdZRnR1WVcxbFBYWnBaWGRsY2kwa2UzWXVjbVZ3YkdGalpTZ3ZYRnh6S3k5bkxDQW5MU2NwZlNCcFhXQTdYRzRnSUM4dklHTnZibk4wSUhObGJHVmpkRzl5SUQwZ1lDUjdkbWxsZDJWeVRtRnRaWDBnWTJGdWRtRnpMQ1I3ZG1sbGQyVnlUbUZ0WlgwZ2MzWm5MQ1I3ZG1sbGQyVnlUbUZ0WlgwZ2FXMW5MRnh1SUNBdkx5QWdJQ1I3ZG1sbGQyVnlUbUZ0WlgwZ2FXNXdkWFFzSkh0MmFXVjNaWEpPWVcxbGZTQm9NU3drZTNacFpYZGxjazVoYldWOUlHRXNKSHQyYVdWM1pYSk9ZVzFsZlNBdVpEUXRkbWxsZDJWeUxXVnljbTl5WUR0Y2JpQWdZMjl1YzNRZ2MyVnNaV04wYjNJZ1BTQmJKMlJwZGk1MWFTMWliM2duSUM4cUlISnZiM1FnS2k4c0lDZGpZVzUyWVhNbkxDQW5jM1puSnl3Z0oybHRaeWNzSUNkcGJuQjFkQ2NzSUNkb01TY3NJQ2RoSnl3Z0p5NWtOQzEyYVdWM1pYSXRaWEp5YjNJblhWeHVJQ0FnSUM1dFlYQW9LSE5sYkZSaFp5a2dQVDRnWUNSN2RtbGxkMlZ5VG1GdFpYMGdKSHR6Wld4VVlXZDlZQ2t1YW05cGJpZ25MQ0FuS1R0Y2JpQWdZMjl1YzNRZ2NtVnpJRDBnVzEwN1hHNGdJSFJ5ZVNCN1hHNGdJQ0FnYkdWMElIWnBaWGRsY2lBOUlHRjNZV2wwSUdOeVpXRjBaVlpwWlhkbGNpaDBkaXdnZGl3Z2IzQjBhVzl1Y3o4dWNHRmphMkZuWlU1aGJXVXBPMXh1SUNBZ0lHRjNZV2wwSUdGM1lXbDBRMmhsWTJzb0tDa2dQVDRnWkc5amRXMWxiblF1Y1hWbGNubFRaV3hsWTNSdmNpaHpaV3hsWTNSdmNpa2dJVDA5SUc1MWJHd3NYRzRnSUNBZ0lDQW5ZMkZ1Ym05MElHeHZZV1FnZG1sbGQyVnlKeXdnTXpBd01DazdYRzRnSUNBZ1kyOXVjM1FnZEdGbklEMGdaRzlqZFcxbGJuUXVjWFZsY25sVFpXeGxZM1J2Y2loelpXeGxZM1J2Y2lrL0xuUmhaMDVoYldVN1hHNGdJQ0FnY21WekxuQjFjMmdvUVhKeVlYa3Vabkp2YlNoMGRpNTJhV1YzWlhKektTNXNaVzVuZEdncE8xeHVJQ0FnSUdsbUlDZ2hiM0IwYVc5dWN6OHVjbVZoWkU5dWJIa3BJSHRjYmlBZ0lDQWdJRUZ5Y21GNUxtWnliMjBvWkdZdWNtOTNLREFwTG1ObGJHeHpLUzVtYjNKRllXTm9LQ2hqT21GdWVTa2dQVDRnWXk1MllXeDFaU0E5SUc1MWJHd3BPMXh1SUNBZ0lDQWdZMjl1YzNRZ2JuVnRJRDBnWkdZdWNtOTNRMjkxYm5RZ1BDQXlNQ0EvSUUxaGRHZ3VabXh2YjNJb1pHWXVjbTkzUTI5MWJuUWdMeUF5S1NBNklERXdPMXh1SUNBZ0lDQWdaR1l1Y205M2N5NXpaV3hsWTNRb0tISnZkem9nUkVjdVVtOTNLU0E5UGlCeWIzY3VhV1I0SUQ0OUlEQWdKaVlnY205M0xtbGtlQ0E4SUc1MWJTazdYRzRnSUNBZ0lDQmhkMkZwZENCa1pXeGhlU2cxTUNrN1hHNGdJQ0FnSUNCbWIzSWdLR3hsZENCcElEMGdiblZ0T3lCcElEd2diblZ0SUNvZ01qc2dhU3NyS1NCa1ppNW1hV3gwWlhJdWMyVjBLR2tzSUdaaGJITmxLVHRjYmlBZ0lDQWdJR0YzWVdsMElHUmxiR0Y1S0RVd0tUdGNiaUFnSUNBZ0lHUm1MbU4xY25KbGJuUlNiM2RKWkhnZ1BTQXhPMXh1SUNBZ0lDQWdZMjl1YzNRZ1pHWXhJRDBnWkdZdVkyeHZibVVvS1R0Y2JpQWdJQ0FnSUdSbUxtTnZiSFZ0Ym5NdWJtRnRaWE1vS1M1emJHbGpaU2d3TENCTllYUm9MbU5sYVd3b1pHWXVZMjlzZFcxdWN5NXNaVzVuZEdnZ0x5QXlLU2t1Wm05eVJXRmphQ2dvWXpvZ1lXNTVLU0E5UGlCa1ppNWpiMngxYlc1ekxuSmxiVzkyWlNoaktTazdYRzRnSUNBZ0lDQmhkMkZwZENCa1pXeGhlU2d4TURBcE8xeHVJQ0FnSUNBZ2RIWXVaR0YwWVVaeVlXMWxJRDBnWkdZeE8xeHVJQ0FnSUgxY2JpQWdJQ0JzWlhRZ2IzQjBibk02SUhzZ1czQTZJSE4wY21sdVoxMDZJR0Z1ZVNCOU8xeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnZjSFJ1Y3lBOUlIWnBaWGRsY2k1blpYUlBjSFJwYjI1ektIUnlkV1VwTG14dmIyczdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnlPaUJoYm5rcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loZ1ZtbGxkMlZ5SjNNZ0xtZGxkRTl3ZEdsdmJuTW9LU0JsY25KdmNpNWdMQ0I3WTJGMWMyVTZJR1Z5Y24wcE8xeHVJQ0FnSUgxY2JpQWdJQ0JzWlhRZ2NISnZjSE02SUVSSExsQnliM0JsY25SNVcxMDdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJSEJ5YjNCeklEMGdkbWxsZDJWeUxtZGxkRkJ5YjNCbGNuUnBaWE1vS1R0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsY25JNklHRnVlU2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLR0JXYVdWM1pYSW5jeUF1WjJWMFVISnZjR1Z5ZEdsbGN5Z3BJR1Z5Y205eUxtQXNJSHRqWVhWelpUb2daWEp5ZlNrN1hHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElHNWxkMUJ5YjNCek9pQlNaV052Y21ROGMzUnlhVzVuTENCemRISnBibWNnZkNCaWIyOXNaV0Z1UGlBOUlIdDlPMXh1SUNBZ0lFOWlhbVZqZEM1clpYbHpLRzl3ZEc1ektTNW1hV3gwWlhJb0tHc3BJRDArSUhSNWNHVnZaaUJ2Y0hSdWMxdHJYU0E5UFQwZ0oySnZiMnhsWVc0bktTNW1iM0pGWVdOb0tDaHJLU0E5UGlCdVpYZFFjbTl3YzF0clhTQTlJQ0Z2Y0hSdWMxdHJYU2s3WEc0Z0lDQWdjSEp2Y0hNdVptbHNkR1Z5S0Nod09pQkVSeTVRY205d1pYSjBlU2tnUFQ0Z2NDNWphRzlwWTJWeklDRTlQU0J1ZFd4c0tWeHVJQ0FnSUNBZ0xtWnZja1ZoWTJnb0tIQTZJRVJITGxCeWIzQmxjblI1S1NBOVBpQnVaWGRRY205d2MxdHdMbTVoYldWZElEMGdjQzVqYUc5cFkyVnpMbVpwYm1Rb0tHTTZJR0Z1ZVNrZ1BUNGdZeUFoUFQwZ2IzQjBibk5iY0M1dVlXMWxYU2toS1R0Y2JpQWdJQ0IyYVdWM1pYSXVjMlYwVDNCMGFXOXVjeWh1WlhkUWNtOXdjeWs3WEc0Z0lDQWdZWGRoYVhRZ1pHVnNZWGtvTXpBd0tUdGNiaUFnSUNCamIyNXpkQ0JzWVhsdmRYUWdQU0IwZGk1ellYWmxUR0Y1YjNWMEtDazdYRzRnSUNBZ1kyOXVjM1FnYjJ4a1VISnZjSE1nUFNCMmFXVjNaWEl1WjJWMFQzQjBhVzl1Y3lncExteHZiMnM3WEc0Z0lDQWdkSFl1Y21WelpYUk1ZWGx2ZFhRb0tUdGNiaUFnSUNCeVpYTXVjSFZ6YUNoQmNuSmhlUzVtY205dEtIUjJMblpwWlhkbGNuTXBMbXhsYm1kMGFDazdYRzRnSUNBZ2RIWXViRzloWkV4aGVXOTFkQ2hzWVhsdmRYUXBPMXh1SUNBZ0lHTnZibk4wSUhObGJHVmpkRzl5TVNBOUlHQWtlM1pwWlhkbGNrNWhiV1Y5SUNSN2RHRm5mV0E3WEc0Z0lDQWdZWGRoYVhRZ1lYZGhhWFJEYUdWamF5Z29LU0E5UGlCa2IyTjFiV1Z1ZEM1eGRXVnllVk5sYkdWamRHOXlLSE5sYkdWamRHOXlNU2tnSVQwOUlHNTFiR3dzWEc0Z0lDQWdJQ0FuWTJGdWJtOTBJR3h2WVdRZ2RtbGxkMlZ5SUdaeWIyMGdiR0Y1YjNWMEp5d2dNekF3TUNrN1hHNGdJQ0FnY21WekxuQjFjMmdvUVhKeVlYa3Vabkp2YlNoMGRpNTJhV1YzWlhKektTNXNaVzVuZEdncE8xeHVJQ0FnSUhacFpYZGxjaUE5SUVGeWNtRjVMbVp5YjIwb2RIWXVkbWxsZDJWeWN5a3VabWx1WkNnb2Rqb2dZVzU1S1NBOVBpQjJMblI1Y0dVZ0lUMDlJQ2RIY21sa0p5a2hPMXh1SUNBZ0lHVjRjR1ZqZEVGeWNtRjVLSEpsY3l3Z1d6SXNJREVzSURKZEtUdGNiaUFnSUNCbGVIQmxZM1FvU2xOUFRpNXpkSEpwYm1kcFpua29kbWxsZDJWeUxtZGxkRTl3ZEdsdmJuTW9LUzVzYjI5cktTd2dTbE5QVGk1emRISnBibWRwWm5rb2IyeGtVSEp2Y0hNcEtUdGNiaUFnSUNCcFppQW9iM0IwYVc5dWN6OHVZWEppYVhSeVlYSjVSR1pVWlhOMElDRTlQU0JtWVd4elpTa2dlMXh1SUNBZ0lDQWdhV1lnS0c5d2RHbHZibk0vTG1GM1lXbDBWbWxsZDJWeUtTQmhkMkZwZENCdmNIUnBiMjV6TG1GM1lXbDBWbWxsZDJWeUtIWnBaWGRsY2lrN1hHNGdJQ0FnSUNCbmNtOXJMbk5vWld4c0xtTnNiM05sUVd4c0tDazdYRzVjYmlBZ0lDQWdJR0YzWVdsMElHUmxiR0Y1S0RFd01DazdYRzRnSUNBZ0lDQjBkaUE5SUdkeWIyc3VjMmhsYkd3dVlXUmtWR0ZpYkdWV2FXVjNLR05oZEVSR0tUdGNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUhacFpYZGxjaUE5SUdGM1lXbDBJR055WldGMFpWWnBaWGRsY2loMGRpd2dkaXdnYjNCMGFXOXVjejh1Y0dGamEyRm5aVTVoYldVcE8xeHVJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdJQ0JuY205ckxuTm9aV3hzTG1Oc2IzTmxRV3hzS0NrN1hHNGdJQ0FnSUNBZ0lFUkhMa0poYkd4dmIyNHVZMnh2YzJWQmJHd29LVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZWGRoYVhRZ1lYZGhhWFJEYUdWamF5Z29LU0E5UGlCa2IyTjFiV1Z1ZEM1eGRXVnllVk5sYkdWamRHOXlLSE5sYkdWamRHOXlLU0FoUFQwZ2JuVnNiQ3hjYmlBZ0lDQWdJQ0FnSjJOaGJtNXZkQ0JzYjJGa0lIWnBaWGRsY2lCdmJpQmhjbUpwZEhKaGNua2daR0YwWVhObGRDY3NJRE13TURBcE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2IzQjBhVzl1Y3o4dVlYZGhhWFJXYVdWM1pYSXBJR0YzWVdsMElHOXdkR2x2Ym5NdVlYZGhhWFJXYVdWM1pYSW9kbWxsZDJWeUtUdGNiaUFnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0F2THlCamJHOXpaVUZzYkNncElHbHpJR2hoYm1Sc2FXNW5JR0o1SUdOdmJXMXZiaUIwWlhOMElIZHZjbXRtYkc5M1hHNGdJQ0FnTHk4Z1ozSnZheTV6YUdWc2JDNWpiRzl6WlVGc2JDZ3BPMXh1SUNBZ0lDOHZJRVJITGtKaGJHeHZiMjR1WTJ4dmMyVkJiR3dvS1R0Y2JpQWdmVnh1ZlZ4dUlsMTkiLCJleHBvcnQgdmFyIERpbVJlZHVjdGlvbk1ldGhvZHM7XG4oZnVuY3Rpb24gKERpbVJlZHVjdGlvbk1ldGhvZHMpIHtcbiAgICBEaW1SZWR1Y3Rpb25NZXRob2RzW1wiVU1BUFwiXSA9IFwiVU1BUFwiO1xuICAgIERpbVJlZHVjdGlvbk1ldGhvZHNbXCJUX1NORVwiXSA9IFwidC1TTkVcIjtcbn0pKERpbVJlZHVjdGlvbk1ldGhvZHMgfHwgKERpbVJlZHVjdGlvbk1ldGhvZHMgPSB7fSkpO1xuO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pYTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMGVYQmxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeE5RVUZOTEVOQlFVNHNTVUZCV1N4dFFrRkhXRHRCUVVoRUxGZEJRVmtzYlVKQlFXMUNPMGxCUXpOQ0xHOURRVUZoTEVOQlFVRTdTVUZEWWl4elEwRkJaU3hEUVVGQk8wRkJRMjVDTEVOQlFVTXNSVUZJVnl4dFFrRkJiVUlzUzBGQmJrSXNiVUpCUVcxQ0xGRkJSemxDTzBGQlFVRXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltVjRjRzl5ZENCbGJuVnRJRVJwYlZKbFpIVmpkR2x2YmsxbGRHaHZaSE43WEc0Z0lDQWdWVTFCVUNBOUlDZFZUVUZRSnl4Y2JpQWdJQ0JVWDFOT1JTQTlJQ2QwTFZOT1JTZGNibjA3WEc0aVhYMD0iLCJleHBvcnQgdmFyIFN0cmluZ01ldHJpY3NOYW1lcztcbihmdW5jdGlvbiAoU3RyaW5nTWV0cmljc05hbWVzKSB7XG4gICAgU3RyaW5nTWV0cmljc05hbWVzW1wiTGV2ZW5zaHRlaW5cIl0gPSBcIkxldmVuc2h0ZWluXCI7XG4gICAgU3RyaW5nTWV0cmljc05hbWVzW1wiSmFyb1dpbmtsZXJcIl0gPSBcIkphcm8tV2lua2xlclwiO1xuICAgIFN0cmluZ01ldHJpY3NOYW1lc1tcIk1hbmhhdHRhblwiXSA9IFwiTWFuaGF0dGFuXCI7XG4gICAgU3RyaW5nTWV0cmljc05hbWVzW1wiT25laG90XCJdID0gXCJPbmUtSG90XCI7XG59KShTdHJpbmdNZXRyaWNzTmFtZXMgfHwgKFN0cmluZ01ldHJpY3NOYW1lcyA9IHt9KSk7XG5leHBvcnQgdmFyIFZlY3Rvck1ldHJpY3NOYW1lcztcbihmdW5jdGlvbiAoVmVjdG9yTWV0cmljc05hbWVzKSB7XG4gICAgVmVjdG9yTWV0cmljc05hbWVzW1wiRXVjbGlkZWFuXCJdID0gXCJFdWNsaWRlYW5cIjtcbn0pKFZlY3Rvck1ldHJpY3NOYW1lcyB8fCAoVmVjdG9yTWV0cmljc05hbWVzID0ge30pKTtcbmV4cG9ydCB2YXIgQml0QXJyYXlNZXRyaWNzTmFtZXM7XG4oZnVuY3Rpb24gKEJpdEFycmF5TWV0cmljc05hbWVzKSB7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJUYW5pbW90b1wiXSA9IFwiVGFuaW1vdG9cIjtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIkRpY2VcIl0gPSBcIkRpY2VcIjtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIkFzeW1tZXRyaWNcIl0gPSBcIkFzeW1tZXRyaWNcIjtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIkJyYXVuQmxhbnF1ZXRcIl0gPSBcIkJyYXVuLUJsYW5xdWV0XCI7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJDb3NpbmVcIl0gPSBcIkNvc2luZVwiO1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiS3VsY3p5bnNraVwiXSA9IFwiS3VsY3p5bnNraVwiO1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiTWNDb25uYXVnaGV5XCJdID0gXCJNYy1Db25uYXVnaGV5XCI7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJSb2dvdEdvbGRiZXJnXCJdID0gXCJSb2dvdC1Hb2xkYmVyZ1wiO1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiUnVzc2VsXCJdID0gXCJSdXNzZWxcIjtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIlNva2FsXCJdID0gXCJTb2thbFwiO1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiSGFtbWluZ1wiXSA9IFwiSGFtbWluZ1wiO1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiRXVjbGlkZWFuXCJdID0gXCJFdWNsaWRlYW5cIjtcbn0pKEJpdEFycmF5TWV0cmljc05hbWVzIHx8IChCaXRBcnJheU1ldHJpY3NOYW1lcyA9IHt9KSk7XG5leHBvcnQgdmFyIEludEFycmF5TWV0cmljc05hbWVzO1xuKGZ1bmN0aW9uIChJbnRBcnJheU1ldHJpY3NOYW1lcykge1xuICAgIEludEFycmF5TWV0cmljc05hbWVzW1wiVGFuaW1vdG9JbnRBcnJheVwiXSA9IFwiVGFuaW1vdG9JbnRBcnJheVwiO1xufSkoSW50QXJyYXlNZXRyaWNzTmFtZXMgfHwgKEludEFycmF5TWV0cmljc05hbWVzID0ge30pKTtcbmV4cG9ydCB2YXIgRGlzdGFuY2VNZXRyaWNzU3ViamVjdHM7XG4oZnVuY3Rpb24gKERpc3RhbmNlTWV0cmljc1N1YmplY3RzKSB7XG4gICAgRGlzdGFuY2VNZXRyaWNzU3ViamVjdHNbXCJWZWN0b3JcIl0gPSBcIlZlY3RvclwiO1xuICAgIERpc3RhbmNlTWV0cmljc1N1YmplY3RzW1wiU3RyaW5nXCJdID0gXCJTdHJpbmdcIjtcbiAgICBEaXN0YW5jZU1ldHJpY3NTdWJqZWN0c1tcIkJpdEFycmF5XCJdID0gXCJCaXRBcnJheVwiO1xuICAgIERpc3RhbmNlTWV0cmljc1N1YmplY3RzW1wiTWFjcm9Nb2xlY3VsZVwiXSA9IFwiTWFjcm9Nb2xlY3VsZVwiO1xuICAgIERpc3RhbmNlTWV0cmljc1N1YmplY3RzW1wiTnVtYmVyXCJdID0gXCJOdW1iZXJcIjtcbiAgICBEaXN0YW5jZU1ldHJpY3NTdWJqZWN0c1tcIkludEFycmF5XCJdID0gXCJJbnRBcnJheVwiO1xuICAgIERpc3RhbmNlTWV0cmljc1N1YmplY3RzW1wiTnVtYmVyQXJyYXlcIl0gPSBcIk51bWJlckFycmF5XCI7XG59KShEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cyB8fCAoRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMgPSB7fSkpO1xuZXhwb3J0IHZhciBOdW1iZXJNZXRyaWNzTmFtZXM7XG4oZnVuY3Rpb24gKE51bWJlck1ldHJpY3NOYW1lcykge1xuICAgIE51bWJlck1ldHJpY3NOYW1lc1tcIkRpZmZlcmVuY2VcIl0gPSBcIkRpZmZlcmVuY2VcIjtcbn0pKE51bWJlck1ldHJpY3NOYW1lcyB8fCAoTnVtYmVyTWV0cmljc05hbWVzID0ge30pKTtcbmV4cG9ydCB2YXIgTnVtYmVyQXJyYXlNZXRyaWNzTmFtZXM7XG4oZnVuY3Rpb24gKE51bWJlckFycmF5TWV0cmljc05hbWVzKSB7XG4gICAgTnVtYmVyQXJyYXlNZXRyaWNzTmFtZXNbXCJDb21tb25JdGVtc1wiXSA9IFwiQ29tbW9uIEl0ZW1zXCI7XG59KShOdW1iZXJBcnJheU1ldHJpY3NOYW1lcyB8fCAoTnVtYmVyQXJyYXlNZXRyaWNzTmFtZXMgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWTI5dWMzUnpMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaVkyOXVjM1J6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTFCUVUwc1EwRkJUaXhKUVVGWkxHdENRVXRVTzBGQlRFZ3NWMEZCV1N4clFrRkJhMEk3U1VGRE1VSXNhVVJCUVRKQ0xFTkJRVUU3U1VGRE0wSXNhMFJCUVRSQ0xFTkJRVUU3U1VGRE5VSXNOa05CUVhWQ0xFTkJRVUU3U1VGRGRrSXNkME5CUVd0Q0xFTkJRVUU3UVVGRGNFSXNRMEZCUXl4RlFVeFRMR3RDUVVGclFpeExRVUZzUWl4clFrRkJhMElzVVVGTE0wSTdRVUZGU0N4TlFVRk5MRU5CUVU0c1NVRkJXU3hyUWtGRlZEdEJRVVpJTEZkQlFWa3NhMEpCUVd0Q08wbEJRekZDTERaRFFVRjFRaXhEUVVGQk8wRkJRM3BDTEVOQlFVTXNSVUZHVXl4clFrRkJhMElzUzBGQmJFSXNhMEpCUVd0Q0xGRkJSVE5DTzBGQlJVZ3NUVUZCVFN4RFFVRk9MRWxCUVZrc2IwSkJZVlE3UVVGaVNDeFhRVUZaTEc5Q1FVRnZRanRKUVVNMVFpdzJRMEZCY1VJc1EwRkJRVHRKUVVOeVFpeHhRMEZCWVN4RFFVRkJPMGxCUTJJc2FVUkJRWGxDTEVOQlFVRTdTVUZEZWtJc2QwUkJRV2RETEVOQlFVRTdTVUZEYUVNc2VVTkJRV2xDTEVOQlFVRTdTVUZEYWtJc2FVUkJRWGxDTEVOQlFVRTdTVUZEZWtJc2MwUkJRVGhDTEVOQlFVRTdTVUZET1VJc2QwUkJRV2RETEVOQlFVRTdTVUZEYUVNc2VVTkJRV2xDTEVOQlFVRTdTVUZEYWtJc2RVTkJRV1VzUTBGQlFUdEpRVU5tTERKRFFVRnRRaXhEUVVGQk8wbEJRMjVDTEN0RFFVRjFRaXhEUVVGQk8wRkJRM3BDTEVOQlFVTXNSVUZpVXl4dlFrRkJiMElzUzBGQmNFSXNiMEpCUVc5Q0xGRkJZVGRDTzBGQlJVZ3NUVUZCVFN4RFFVRk9MRWxCUVZrc2IwSkJSVmc3UVVGR1JDeFhRVUZaTEc5Q1FVRnZRanRKUVVNNVFpdzJSRUZCY1VNc1EwRkJRVHRCUVVOMlF5eERRVUZETEVWQlJsY3NiMEpCUVc5Q0xFdEJRWEJDTEc5Q1FVRnZRaXhSUVVVdlFqdEJRVVZFTEUxQlFVMHNRMEZCVGl4SlFVRlpMSFZDUVZGVU8wRkJVa2dzVjBGQldTeDFRa0ZCZFVJN1NVRkRMMElzTkVOQlFXbENMRU5CUVVFN1NVRkRha0lzTkVOQlFXbENMRU5CUVVFN1NVRkRha0lzWjBSQlFYRkNMRU5CUVVFN1NVRkRja0lzTUVSQlFTdENMRU5CUVVFN1NVRkRMMElzTkVOQlFXbENMRU5CUVVFN1NVRkRha0lzWjBSQlFYRkNMRU5CUVVFN1NVRkRja0lzYzBSQlFUSkNMRU5CUVVFN1FVRkROMElzUTBGQlF5eEZRVkpUTEhWQ1FVRjFRaXhMUVVGMlFpeDFRa0ZCZFVJc1VVRlJhRU03UVVGRlNDeE5RVUZOTEVOQlFVNHNTVUZCV1N4clFrRkZXRHRCUVVaRUxGZEJRVmtzYTBKQlFXdENPMGxCUXpWQ0xDdERRVUY1UWl4RFFVRkJPMEZCUXpOQ0xFTkJRVU1zUlVGR1Z5eHJRa0ZCYTBJc1MwRkJiRUlzYTBKQlFXdENMRkZCUlRkQ08wRkJSVVFzVFVGQlRTeERRVUZPTEVsQlFWa3NkVUpCUlZnN1FVRkdSQ3hYUVVGWkxIVkNRVUYxUWp0SlFVTnFReXgxUkVGQk5FSXNRMEZCUVR0QlFVTTVRaXhEUVVGRExFVkJSbGNzZFVKQlFYVkNMRXRCUVhaQ0xIVkNRVUYxUWl4UlFVVnNReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1WNGNHOXlkQ0JsYm5WdElGTjBjbWx1WjAxbGRISnBZM05PWVcxbGN5QjdYRzRnSUNBZ1RHVjJaVzV6YUhSbGFXNGdQU0FuVEdWMlpXNXphSFJsYVc0bkxGeHVJQ0FnSUVwaGNtOVhhVzVyYkdWeUlEMGdKMHBoY204dFYybHVhMnhsY2ljc1hHNGdJQ0FnVFdGdWFHRjBkR0Z1SUQwZ0owMWhibWhoZEhSaGJpY3NYRzRnSUNBZ1QyNWxhRzkwSUQwZ0owOXVaUzFJYjNRbkxGeHVJQ0I5WEc1Y2JtVjRjRzl5ZENCbGJuVnRJRlpsWTNSdmNrMWxkSEpwWTNOT1lXMWxjeUI3WEc0Z0lDQWdSWFZqYkdsa1pXRnVJRDBnSjBWMVkyeHBaR1ZoYmljc1hHNGdJSDFjYmx4dVpYaHdiM0owSUdWdWRXMGdRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE1nZTF4dUlDQWdJRlJoYm1sdGIzUnZJRDBnSjFSaGJtbHRiM1J2Snl4Y2JpQWdJQ0JFYVdObElEMGdKMFJwWTJVbkxGeHVJQ0FnSUVGemVXMXRaWFJ5YVdNZ1BTQW5RWE41YlcxbGRISnBZeWNzWEc0Z0lDQWdRbkpoZFc1Q2JHRnVjWFZsZENBOUlDZENjbUYxYmkxQ2JHRnVjWFZsZENjc1hHNGdJQ0FnUTI5emFXNWxJRDBnSjBOdmMybHVaU2NzWEc0Z0lDQWdTM1ZzWTNwNWJuTnJhU0E5SUNkTGRXeGplbmx1YzJ0cEp5eGNiaUFnSUNCTlkwTnZibTVoZFdkb1pYa2dQU0FuVFdNdFEyOXVibUYxWjJobGVTY3NYRzRnSUNBZ1VtOW5iM1JIYjJ4a1ltVnlaeUE5SUNkU2IyZHZkQzFIYjJ4a1ltVnlaeWNzWEc0Z0lDQWdVblZ6YzJWc0lEMGdKMUoxYzNObGJDY3NYRzRnSUNBZ1UyOXJZV3dnUFNBblUyOXJZV3duTEZ4dUlDQWdJRWhoYlcxcGJtY2dQU0FuU0dGdGJXbHVaeWNzWEc0Z0lDQWdSWFZqYkdsa1pXRnVJRDBnSjBWMVkyeHBaR1ZoYmljc1hHNGdJSDFjYmx4dVpYaHdiM0owSUdWdWRXMGdTVzUwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE1nZTF4dUlDQlVZVzVwYlc5MGIwbHVkRUZ5Y21GNUlEMGdKMVJoYm1sdGIzUnZTVzUwUVhKeVlYa25MRnh1ZlZ4dVhHNWxlSEJ2Y25RZ1pXNTFiU0JFYVhOMFlXNWpaVTFsZEhKcFkzTlRkV0pxWldOMGN5QjdYRzRnSUNBZ1ZtVmpkRzl5SUQwZ0oxWmxZM1J2Y2ljc1hHNGdJQ0FnVTNSeWFXNW5JRDBnSjFOMGNtbHVaeWNzWEc0Z0lDQWdRbWwwUVhKeVlYa2dQU0FuUW1sMFFYSnlZWGtuTEZ4dUlDQWdJRTFoWTNKdlRXOXNaV04xYkdVZ1BTQW5UV0ZqY205TmIyeGxZM1ZzWlNjc1hHNGdJQ0FnVG5WdFltVnlJRDBnSjA1MWJXSmxjaWNzWEc0Z0lDQWdTVzUwUVhKeVlYa2dQU0FuU1c1MFFYSnlZWGtuTEZ4dUlDQWdJRTUxYldKbGNrRnljbUY1SUQwZ0owNTFiV0psY2tGeWNtRjVKeXhjYmlBZ2ZWeHVYRzVsZUhCdmNuUWdaVzUxYlNCT2RXMWlaWEpOWlhSeWFXTnpUbUZ0WlhNZ2UxeHVJQ0JFYVdabVpYSmxibU5sSUQwZ0owUnBabVpsY21WdVkyVW5MRnh1ZlZ4dVhHNWxlSEJ2Y25RZ1pXNTFiU0JPZFcxaVpYSkJjbkpoZVUxbGRISnBZM05PWVcxbGN5QjdYRzRnSUVOdmJXMXZia2wwWlcxeklEMGdKME52YlcxdmJpQkpkR1Z0Y3ljc1hHNTlYRzRpWFgwPSIsImNvbnN0IHBlcSA9IG5ldyBVaW50MzJBcnJheSgweDEwMDAwKTtcbmNvbnN0IG15ZXJzXzMyID0gKGEsIGIpID0+IHtcbiAgICBjb25zdCBuID0gYS5sZW5ndGg7XG4gICAgY29uc3QgbSA9IGIubGVuZ3RoO1xuICAgIGNvbnN0IGxzdCA9IDEgPDwgKG4gLSAxKTtcbiAgICBsZXQgcHYgPSAtMTtcbiAgICBsZXQgbXYgPSAwO1xuICAgIGxldCBzYyA9IG47XG4gICAgbGV0IGkgPSBuO1xuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgcGVxW2EuY2hhckNvZGVBdChpKV0gfD0gMSA8PCBpO1xuICAgIH1cbiAgICBmb3IgKGkgPSAwOyBpIDwgbTsgaSsrKSB7XG4gICAgICAgIGxldCBlcSA9IHBlcVtiLmNoYXJDb2RlQXQoaSldO1xuICAgICAgICBjb25zdCB4diA9IGVxIHwgbXY7XG4gICAgICAgIGVxIHw9ICgoZXEgJiBwdikgKyBwdikgXiBwdjtcbiAgICAgICAgbXYgfD0gfihlcSB8IHB2KTtcbiAgICAgICAgcHYgJj0gZXE7XG4gICAgICAgIGlmIChtdiAmIGxzdCkge1xuICAgICAgICAgICAgc2MrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAocHYgJiBsc3QpIHtcbiAgICAgICAgICAgIHNjLS07XG4gICAgICAgIH1cbiAgICAgICAgbXYgPSAobXYgPDwgMSkgfCAxO1xuICAgICAgICBwdiA9IChwdiA8PCAxKSB8IH4oeHYgfCBtdik7XG4gICAgICAgIG12ICY9IHh2O1xuICAgIH1cbiAgICBpID0gbjtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgIHBlcVthLmNoYXJDb2RlQXQoaSldID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIHNjO1xufTtcbmNvbnN0IG15ZXJzX3ggPSAoYiwgYSkgPT4ge1xuICAgIGNvbnN0IG4gPSBhLmxlbmd0aDtcbiAgICBjb25zdCBtID0gYi5sZW5ndGg7XG4gICAgY29uc3QgbWhjID0gW107XG4gICAgY29uc3QgcGhjID0gW107XG4gICAgY29uc3QgaHNpemUgPSBNYXRoLmNlaWwobiAvIDMyKTtcbiAgICBjb25zdCB2c2l6ZSA9IE1hdGguY2VpbChtIC8gMzIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaHNpemU7IGkrKykge1xuICAgICAgICBwaGNbaV0gPSAtMTtcbiAgICAgICAgbWhjW2ldID0gMDtcbiAgICB9XG4gICAgbGV0IGogPSAwO1xuICAgIGZvciAoOyBqIDwgdnNpemUgLSAxOyBqKyspIHtcbiAgICAgICAgbGV0IG12ID0gMDtcbiAgICAgICAgbGV0IHB2ID0gLTE7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gaiAqIDMyO1xuICAgICAgICBjb25zdCB2bGVuID0gTWF0aC5taW4oMzIsIG0pICsgc3RhcnQ7XG4gICAgICAgIGZvciAobGV0IGsgPSBzdGFydDsgayA8IHZsZW47IGsrKykge1xuICAgICAgICAgICAgcGVxW2IuY2hhckNvZGVBdChrKV0gfD0gMSA8PCBrO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBlcSA9IHBlcVthLmNoYXJDb2RlQXQoaSldO1xuICAgICAgICAgICAgY29uc3QgcGIgPSAocGhjWyhpIC8gMzIpIHwgMF0gPj4+IGkpICYgMTtcbiAgICAgICAgICAgIGNvbnN0IG1iID0gKG1oY1soaSAvIDMyKSB8IDBdID4+PiBpKSAmIDE7XG4gICAgICAgICAgICBjb25zdCB4diA9IGVxIHwgbXY7XG4gICAgICAgICAgICBjb25zdCB4aCA9ICgoKChlcSB8IG1iKSAmIHB2KSArIHB2KSBeIHB2KSB8IGVxIHwgbWI7XG4gICAgICAgICAgICBsZXQgcGggPSBtdiB8IH4oeGggfCBwdik7XG4gICAgICAgICAgICBsZXQgbWggPSBwdiAmIHhoO1xuICAgICAgICAgICAgaWYgKChwaCA+Pj4gMzEpIF4gcGIpIHtcbiAgICAgICAgICAgICAgICBwaGNbKGkgLyAzMikgfCAwXSBePSAxIDw8IGk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKG1oID4+PiAzMSkgXiBtYikge1xuICAgICAgICAgICAgICAgIG1oY1soaSAvIDMyKSB8IDBdIF49IDEgPDwgaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBoID0gKHBoIDw8IDEpIHwgcGI7XG4gICAgICAgICAgICBtaCA9IChtaCA8PCAxKSB8IG1iO1xuICAgICAgICAgICAgcHYgPSBtaCB8IH4oeHYgfCBwaCk7XG4gICAgICAgICAgICBtdiA9IHBoICYgeHY7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgayA9IHN0YXJ0OyBrIDwgdmxlbjsgaysrKSB7XG4gICAgICAgICAgICBwZXFbYi5jaGFyQ29kZUF0KGspXSA9IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGV0IG12ID0gMDtcbiAgICBsZXQgcHYgPSAtMTtcbiAgICBjb25zdCBzdGFydCA9IGogKiAzMjtcbiAgICBjb25zdCB2bGVuID0gTWF0aC5taW4oMzIsIG0gLSBzdGFydCkgKyBzdGFydDtcbiAgICBmb3IgKGxldCBrID0gc3RhcnQ7IGsgPCB2bGVuOyBrKyspIHtcbiAgICAgICAgcGVxW2IuY2hhckNvZGVBdChrKV0gfD0gMSA8PCBrO1xuICAgIH1cbiAgICBsZXQgc2NvcmUgPSBtO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGVxID0gcGVxW2EuY2hhckNvZGVBdChpKV07XG4gICAgICAgIGNvbnN0IHBiID0gKHBoY1soaSAvIDMyKSB8IDBdID4+PiBpKSAmIDE7XG4gICAgICAgIGNvbnN0IG1iID0gKG1oY1soaSAvIDMyKSB8IDBdID4+PiBpKSAmIDE7XG4gICAgICAgIGNvbnN0IHh2ID0gZXEgfCBtdjtcbiAgICAgICAgY29uc3QgeGggPSAoKCgoZXEgfCBtYikgJiBwdikgKyBwdikgXiBwdikgfCBlcSB8IG1iO1xuICAgICAgICBsZXQgcGggPSBtdiB8IH4oeGggfCBwdik7XG4gICAgICAgIGxldCBtaCA9IHB2ICYgeGg7XG4gICAgICAgIHNjb3JlICs9IChwaCA+Pj4gKG0gLSAxKSkgJiAxO1xuICAgICAgICBzY29yZSAtPSAobWggPj4+IChtIC0gMSkpICYgMTtcbiAgICAgICAgaWYgKChwaCA+Pj4gMzEpIF4gcGIpIHtcbiAgICAgICAgICAgIHBoY1soaSAvIDMyKSB8IDBdIF49IDEgPDwgaTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoKG1oID4+PiAzMSkgXiBtYikge1xuICAgICAgICAgICAgbWhjWyhpIC8gMzIpIHwgMF0gXj0gMSA8PCBpO1xuICAgICAgICB9XG4gICAgICAgIHBoID0gKHBoIDw8IDEpIHwgcGI7XG4gICAgICAgIG1oID0gKG1oIDw8IDEpIHwgbWI7XG4gICAgICAgIHB2ID0gbWggfCB+KHh2IHwgcGgpO1xuICAgICAgICBtdiA9IHBoICYgeHY7XG4gICAgfVxuICAgIGZvciAobGV0IGsgPSBzdGFydDsgayA8IHZsZW47IGsrKykge1xuICAgICAgICBwZXFbYi5jaGFyQ29kZUF0KGspXSA9IDA7XG4gICAgfVxuICAgIHJldHVybiBzY29yZTtcbn07XG5jb25zdCBkaXN0YW5jZSA9IChhLCBiKSA9PiB7XG4gICAgaWYgKGEubGVuZ3RoIDwgYi5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgdG1wID0gYjtcbiAgICAgICAgYiA9IGE7XG4gICAgICAgIGEgPSB0bXA7XG4gICAgfVxuICAgIGlmIChiLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gYS5sZW5ndGg7XG4gICAgfVxuICAgIGlmIChhLmxlbmd0aCA8PSAzMikge1xuICAgICAgICByZXR1cm4gbXllcnNfMzIoYSwgYik7XG4gICAgfVxuICAgIHJldHVybiBteWVyc194KGEsIGIpO1xufTtcbmNvbnN0IGNsb3Nlc3QgPSAoc3RyLCBhcnIpID0+IHtcbiAgICBsZXQgbWluX2Rpc3RhbmNlID0gSW5maW5pdHk7XG4gICAgbGV0IG1pbl9pbmRleCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgZGlzdCA9IGRpc3RhbmNlKHN0ciwgYXJyW2ldKTtcbiAgICAgICAgaWYgKGRpc3QgPCBtaW5fZGlzdGFuY2UpIHtcbiAgICAgICAgICAgIG1pbl9kaXN0YW5jZSA9IGRpc3Q7XG4gICAgICAgICAgICBtaW5faW5kZXggPSBpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhcnJbbWluX2luZGV4XTtcbn07XG5leHBvcnQgeyBjbG9zZXN0LCBkaXN0YW5jZSB9O1xuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgQml0QXJyYXkge1xuICAgIGNvbnN0cnVjdG9yKGFyZywgZGVmYXVsdFZhbHVlID0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy5fbGVuZ3RoID0gMDtcbiAgICAgICAgdGhpcy5fdmVyc2lvbiA9IDA7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUxldmVsID0gMDtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRDb3VudCA9IDA7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkQ291bnRWZXJzaW9uID0gLTE7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhlc1ZlcnNpb24gPSAtMTtcbiAgICAgICAgdGhpcy5fdmVyc2lvbmVkTmFtZSA9ICcnO1xuICAgICAgICB0aGlzLl92ZXJzaW9uZWROYW1lVmVyc2lvbiA9IC0xO1xuICAgICAgICB0aGlzLlNIUklOS19USFJFU0hPTEQgPSAweDEwMDtcbiAgICAgICAgaWYgKHR5cGVvZiBhcmcgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBjb25zdCBsZW5ndGggPSBhcmc7XG4gICAgICAgICAgICBjb25zdCBidWZmID0gQml0QXJyYXkuX2NyZWF0ZUJ1ZmZlcihsZW5ndGgpO1xuICAgICAgICAgICAgaWYgKGRlZmF1bHRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmZi5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgICAgICAgICAgYnVmZltpXSA9IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fZGF0YSA9IGJ1ZmY7XG4gICAgICAgICAgICB0aGlzLl9sZW5ndGggPSBsZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoYXJnIGluc3RhbmNlb2YgVWludDMyQXJyYXkpIHtcbiAgICAgICAgICAgIHRoaXMuX2RhdGEgPSBhcmc7XG4gICAgICAgICAgICB0aGlzLl9sZW5ndGggPSBkZWZhdWx0VmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29uc3RydWN0b3InKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXRSYXdEYXRhKCkgeyByZXR1cm4gdGhpcy5fZGF0YTsgfVxuICAgIGFzc3VyZUdvZXoobnVtLCBhcmdOYW1lKSB7XG4gICAgICAgIGlmIChudW0gPCAwKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2FyZ05hbWV9IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gemVyb2ApO1xuICAgIH1cbiAgICBhc3N1cmVJblJhbmdlKHZhbHVlLCBtaW4sIG1heCwgYXJnTmFtZSkge1xuICAgICAgICBpZiAoKHZhbHVlIDwgbWluKSB8fCAodmFsdWUgPiBtYXgpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBcmd1bWVudCAke2FyZ05hbWV9ICgke3ZhbHVlfSkgb3V0IG9mIHJhbmdlICgke21pbn0sICR7bWF4fSlgKTtcbiAgICB9XG4gICAgY29weShzcmMsIGRzdCwgY291bnQpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKVxuICAgICAgICAgICAgZHN0W2ldID0gc3JjW2ldO1xuICAgIH1cbiAgICBjb3B5RnJvbShvdGhlcikge1xuICAgICAgICBpZiAodGhpcy5fbGVuZ3RoICE9IG90aGVyLl9sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYExlbmd0aHMgZGlmZmVyICgke3RoaXMuX2xlbmd0aH0gIT0gJHtvdGhlci5fbGVuZ3RofSlgKTtcbiAgICAgICAgdGhpcy5jb3B5KG90aGVyLl9kYXRhLCB0aGlzLl9kYXRhLCB0aGlzLmxlbmd0aEluSW50cyk7XG4gICAgICAgIHRoaXMuX3ZlcnNpb24rKztcbiAgICB9XG4gICAgZ2V0IGxlbmd0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xlbmd0aDtcbiAgICB9XG4gICAgZ2V0IGJ1ZmZlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gICAgfVxuICAgIHNldCBidWZmZXIoZGF0YSkge1xuICAgICAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgICAgICAgdGhpcy5fdmVyc2lvbisrO1xuICAgIH1cbiAgICBnZXQgdmVyc2lvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZlcnNpb247XG4gICAgfVxuICAgIHNldCB2ZXJzaW9uKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3ZlcnNpb24gPSB2YWx1ZTtcbiAgICB9XG4gICAgaW5jcmVtZW50VmVyc2lvbihub3RpZnkgPSB0cnVlKSB7XG4gICAgICAgIHRoaXMuX3ZlcnNpb24rKztcbiAgICB9XG4gICAgZ2V0IGxlbmd0aEluSW50cygpIHtcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoKHRoaXMuX2xlbmd0aCArIDB4MWYpIC8gMHgyMCk7XG4gICAgfVxuICAgIGdldCB2ZXJzaW9uZWROYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmVyc2lvbiA9PSB0aGlzLl92ZXJzaW9uZWROYW1lVmVyc2lvbiA/IHRoaXMuX3ZlcnNpb25lZE5hbWUgOiAnJztcbiAgICB9XG4gICAgc2V0IHZlcnNpb25lZE5hbWUobmFtZSkge1xuICAgICAgICB0aGlzLl92ZXJzaW9uZWROYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5fdmVyc2lvbmVkTmFtZVZlcnNpb24gPSB0aGlzLl92ZXJzaW9uO1xuICAgIH1cbiAgICBnZXQgc2VsZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHNldExlbmd0aCh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgPCAwKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaG91bGQgYmUgPj0gMCcpO1xuICAgICAgICBpZiAodmFsdWUgPT0gdGhpcy5fbGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBuSW50c05lZWRlZCA9IE1hdGguZmxvb3IoKHZhbHVlICsgMHgxZikgLyAweDIwKTtcbiAgICAgICAgaWYgKChuSW50c05lZWRlZCA+IHRoaXMuX2RhdGEubGVuZ3RoKSB8fCAoKG5JbnRzTmVlZGVkICsgdGhpcy5TSFJJTktfVEhSRVNIT0xEKSA8IHRoaXMuX2RhdGEubGVuZ3RoKSkge1xuICAgICAgICAgICAgY29uc3QgbmV3RGF0YSA9IG5ldyBVaW50MzJBcnJheShuSW50c05lZWRlZCk7XG4gICAgICAgICAgICB0aGlzLmNvcHkodGhpcy5fZGF0YSwgbmV3RGF0YSwgKG5JbnRzTmVlZGVkID4gdGhpcy5fZGF0YS5sZW5ndGgpID8gdGhpcy5fZGF0YS5sZW5ndGggOiBuSW50c05lZWRlZCk7XG4gICAgICAgICAgICB0aGlzLl9kYXRhID0gbmV3RGF0YTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPiB0aGlzLl9sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sZW5ndGggJSAweDIwID4gMClcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhW3RoaXMubGVuZ3RoSW5JbnRzIC0gMV0gJj0gKDEgPDwgKCh0aGlzLl9sZW5ndGggJSAweDIwKSAmIDB4MWYpKSAtIDE7XG4gICAgICAgICAgICB0aGlzLl9kYXRhLmZpbGwoMCwgdGhpcy5sZW5ndGhJbkludHMsIG5JbnRzTmVlZGVkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9sZW5ndGggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fdmVyc2lvbisrO1xuICAgIH1cbiAgICBzdGF0aWMgZnJvbUFuZChzZXQxLCBzZXQyKSB7XG4gICAgICAgIGlmIChzZXQxLl9sZW5ndGggIT0gc2V0Mi5fbGVuZ3RoKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBMZW5ndGhzIGRpZmZlciAoJHtzZXQxLl9sZW5ndGh9ICE9ICR7c2V0Mi5fbGVuZ3RofSlgKTtcbiAgICAgICAgY29uc3QgdGVtcCA9IG5ldyBCaXRBcnJheShzZXQxLl9sZW5ndGgpO1xuICAgICAgICB0ZW1wLl9sZW5ndGggPSBzZXQxLl9sZW5ndGg7XG4gICAgICAgIHRlbXAuX2RhdGEgPSBCaXRBcnJheS5fY3JlYXRlQnVmZmVyKHRlbXAuX2xlbmd0aCk7XG4gICAgICAgIHRlbXAuX3ZlcnNpb24gPSAwO1xuICAgICAgICBjb25zdCBsZW4gPSBzZXQxLmxlbmd0aEluSW50cztcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKylcbiAgICAgICAgICAgIHRlbXAuX2RhdGFbaV0gPSBzZXQxLl9kYXRhW2ldICYgc2V0Mi5fZGF0YVtpXTtcbiAgICAgICAgcmV0dXJuIHRlbXA7XG4gICAgfVxuICAgIHN0YXRpYyBfY3JlYXRlQnVmZmVyKGxlbmd0aCkge1xuICAgICAgICByZXR1cm4gbmV3IFVpbnQzMkFycmF5KE1hdGguZmxvb3IoKGxlbmd0aCArIDB4MWYpIC8gMHgyMCkpO1xuICAgIH1cbiAgICBzdGF0aWMgZnJvbVZhbHVlcyh2YWx1ZXMpIHtcbiAgICAgICAgY29uc3QgdGVtcCA9IG5ldyBCaXRBcnJheSh2YWx1ZXMubGVuZ3RoKTtcbiAgICAgICAgdGVtcC5fdmVyc2lvbiA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGVtcC5fbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZXNbaV0pXG4gICAgICAgICAgICAgICAgdGVtcC5fZGF0YVtNYXRoLmZsb29yKGkgLyAweDIwKV0gfD0gMSA8PCAoKGkgJSAweDIwKSAmIDB4MWYpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0ZW1wO1xuICAgIH1cbiAgICAvLy8gQ29uc3RydWN0cyBhIFtCaXRTZXRdIG9mIGxlbmd0aCBbY291bnRdLCB3aGVyZSBpZHgtdGggYml0IGlzIGRldGVybWluZWQgYnkgYSBjYWxsIHRvIFtmbGFnXSAoaWR4KS5cbiAgICBzdGF0aWMgZnJvbVNlcShjb3VudCwgZmxhZykge1xuICAgICAgICBjb25zdCB0ZW1wID0gbmV3IEJpdEFycmF5KGNvdW50KTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgKytpKVxuICAgICAgICAgICAgdGVtcC5zZXRCaXQoaSwgZmxhZyhpKSk7XG4gICAgICAgIHRlbXAuX3ZlcnNpb24gPSAwO1xuICAgICAgICByZXR1cm4gdGVtcDtcbiAgICB9XG4gICAgLy8vIENvbnN0cnVjdHMgYSBbQml0U2V0XSBmcm9tIGEgc3RyaW5nIFtzXSBjb250YWluaW5nICcwJyBvciAnMScuXG4gICAgc3RhdGljIGZyb21TdHJpbmcocykge1xuICAgICAgICByZXR1cm4gQml0QXJyYXkuZnJvbVNlcShzLmxlbmd0aCwgKGkpID0+IHMuY2hhckF0KGkpID09ICcxJyk7XG4gICAgfVxuICAgIC8vLyBDb25zdHJ1Y3RzIGEgW0JpdFNldF0sIGJhc2VkIG9uIGxlbmd0aCBbX2xlbmd0aF0gYW5kIGJ5dGUgYXJyYXkgW19kYXRhXS5cbiAgICBzdGF0aWMgZnJvbVVpbnQzMkFycmF5KF9sZW5ndGgsIF9kYXRhKSB7XG4gICAgICAgIGNvbnN0IHRlbXAgPSBuZXcgQml0QXJyYXkoX2xlbmd0aCk7XG4gICAgICAgIHRlbXAuX2RhdGEgPSBfZGF0YTtcbiAgICAgICAgcmV0dXJuIHRlbXA7XG4gICAgfVxuICAgIC8vLyBEZXNlcmlhbGl6ZXMgYSBbQml0U2V0XSBmcm9tIFtieXRlc10uXG4gICAgc3RhdGljIGZyb21CeXRlcyhieXRlcykge1xuICAgICAgICBjb25zdCBsZW4gPSBieXRlcy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHRlbXAgPSBuZXcgQml0QXJyYXkobGVuICogOCk7XG4gICAgICAgIHRlbXAuX2RhdGEgPSBuZXcgVWludDMyQXJyYXkoTWF0aC5mbG9vcigobGVuICsgMykgLyA0KSk7XG4gICAgICAgIHRlbXAuX2xlbmd0aCA9IGxlbiAqIDg7XG4gICAgICAgIGxldCBudW0xID0gMDtcbiAgICAgICAgbGV0IG51bTIgPSAwO1xuICAgICAgICB3aGlsZSAoKGxlbiAtIG51bTIpID49IDQpIHtcbiAgICAgICAgICAgIHRlbXAuX2RhdGFbbnVtMSsrXSA9ICgoKGJ5dGVzW251bTJdICYgMHhmZikgfCAoKGJ5dGVzW251bTIgKyAxXSAmIDB4ZmYpIDw8IDgpKSB8XG4gICAgICAgICAgICAgICAgKChieXRlc1tudW0yICsgMl0gJiAweGZmKSA8PCAweDEwKSkgfCAoKGJ5dGVzW251bTIgKyAzXSAmIDB4ZmYpIDw8IDB4MTgpO1xuICAgICAgICAgICAgbnVtMiArPSA0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChsZW4gLSBudW0yID09IDMpXG4gICAgICAgICAgICB0ZW1wLl9kYXRhW251bTFdID0gKGJ5dGVzW251bTIgKyAyXSAmIDB4ZmYpIDw8IDB4MTA7XG4gICAgICAgIGlmIChsZW4gLSBudW0yID09IDIpXG4gICAgICAgICAgICB0ZW1wLl9kYXRhW251bTFdIHw9IChieXRlc1tudW0yICsgMV0gJiAweGZmKSA8PCA4O1xuICAgICAgICBpZiAobGVuIC0gbnVtMiA9PSAxKVxuICAgICAgICAgICAgdGVtcC5fZGF0YVtudW0xXSB8PSBieXRlc1tudW0yXSAmIDB4ZmY7XG4gICAgICAgIHRlbXAuX3ZlcnNpb24gPSAwO1xuICAgICAgICByZXR1cm4gdGVtcDtcbiAgICB9XG4gICAgdG9TdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLl9sZW5ndGh9IGJpdHMsICR7dGhpcy5jb3VudEJpdHModHJ1ZSl9IHNldGA7XG4gICAgfVxuICAgIC8vLyBQZXJmb3JtcyBkZWVwIGNvbXBhcmlzb24gb2YgdHdvIGJpdHNldHMuXG4gICAgZXF1YWxzKG90aGVyKSB7XG4gICAgICAgIGlmICh0aGlzID09IG90aGVyKVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGlmIChvdGhlciA9PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5fbGVuZ3RoICE9IG90aGVyLl9sZW5ndGgpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLl9sZW5ndGggPT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX2RhdGEubGVuZ3RoIC0gMTsgaSsrKVxuICAgICAgICAgICAgaWYgKHRoaXMuX2RhdGFbaV0gIT0gb3RoZXIuX2RhdGFbaV0pXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBmb3IgKGxldCBpID0gKHRoaXMuX2RhdGEubGVuZ3RoIC0gMSkgKiA4OyBpIDwgdGhpcy5fbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmdldEJpdChpKSAhPSBvdGhlci5nZXRCaXQoaSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvKiogQ2xvbmVzIGEgYml0c2V0LiAqL1xuICAgIGNsb25lKCkge1xuICAgICAgICBjb25zdCBiaXRBcnJheSA9IG5ldyBCaXRBcnJheSgwLCBmYWxzZSk7XG4gICAgICAgIGJpdEFycmF5Ll9kYXRhID0gVWludDMyQXJyYXkuZnJvbSh0aGlzLl9kYXRhKTsgLy8gZWZmZWN0aXZlIGxlbmd0aDogKGxlbmd0aEluSW50cylcbiAgICAgICAgYml0QXJyYXkuX2xlbmd0aCA9IHRoaXMuX2xlbmd0aDtcbiAgICAgICAgYml0QXJyYXkuX3ZlcnNpb24gPSB0aGlzLl92ZXJzaW9uO1xuICAgICAgICByZXR1cm4gYml0QXJyYXk7XG4gICAgfVxuICAgIC8qKiBJbml0aWFsaXplcyBhIGJpdHNldC4gKi9cbiAgICBpbml0KGZsYWcsIG5vdGlmeSkge1xuICAgICAgICB0aGlzLnNldEFsbChmYWxzZSwgZmFsc2UpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX2xlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZmxhZyhpKSlcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhW01hdGguZmxvb3IoaSAvIDB4MjApXSB8PSAxIDw8ICgoaSAlIDB4MjApICYgMHgxZik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbmNyZW1lbnRWZXJzaW9uKG5vdGlmeSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvLy8gSW52ZXJ0cyBhIGJpdHNldC5cbiAgICBpbnZlcnQobm90aWZ5ID0gdHJ1ZSkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX2RhdGEubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICB0aGlzLl9kYXRhW2ldIF49IC0xO1xuICAgICAgICB0aGlzLmluY3JlbWVudFZlcnNpb24obm90aWZ5KTtcbiAgICB9XG4gICAgLy8vIFNldHMgYWxsIGJpdHMgdG8gW3ZhbHVlXSwgb3B0aW9uYWxseSBzdXBwcmVzc2luZyBub3RpZmljYXRpb25zLlxuICAgIHNldEFsbCh2YWx1ZSwgbm90aWZ5ID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgZmxhZ3MgPSB2YWx1ZSA/IC0xIDogMDtcbiAgICAgICAgY29uc3QgbGVuID0gdGhpcy5sZW5ndGhJbkludHM7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIC8vdG9kbzogb3B0aW1pemVcbiAgICAgICAgICAgIHRoaXMuX2RhdGFbaV0gPSBmbGFncztcbiAgICAgICAgdGhpcy5pbmNyZW1lbnRWZXJzaW9uKG5vdGlmeSk7XG4gICAgfVxuICAgIC8vLyBTZXRzIGJpdHMgYXQgW2luZGV4ZXNdIHBvc2l0aW9uIHRvIFt2YWx1ZV0uXG4gICAgLy8vIENsZWFycyB0aGUgYml0c2V0IGlmIFtjbGVhcl0gZmxhZyBpcyB0cnVlLlxuICAgIC8vLyBDaGFuZ2Ugbm90aWZpY2F0aW9uIGlzIHJhaXNlZCB3aGVuIFtub3RpZnldIGlzIHRydWUuXG4gICAgc2V0SW5kZXhlcyhpbmRleGVzLCB2YWx1ZSA9IHRydWUsIGNsZWFyID0gdHJ1ZSwgbm90aWZ5ID0gdHJ1ZSkge1xuICAgICAgICBpZiAoY2xlYXIpXG4gICAgICAgICAgICB0aGlzLnNldEFsbCghdmFsdWUsIGZhbHNlKTtcbiAgICAgICAgZm9yIChjb25zdCBpIG9mIGluZGV4ZXMpXG4gICAgICAgICAgICB0aGlzLnNldEZhc3QoaSwgdmFsdWUpO1xuICAgICAgICB0aGlzLmluY3JlbWVudFZlcnNpb24obm90aWZ5KTtcbiAgICB9XG4gICAgZXZlcnlJbmRleChpbmRleGVzLCB2YWx1ZSA9IHRydWUpIHtcbiAgICAgICAgZm9yIChjb25zdCBpbmRleCBvZiBpbmRleGVzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5nZXRCaXQoaW5kZXgpICE9IHZhbHVlKVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgYW55SW5kZXgoaW5kZXhlcywgdmFsdWUgPSB0cnVlKSB7XG4gICAgICAgIGZvciAoY29uc3QgaW5kZXggb2YgaW5kZXhlcykge1xuICAgICAgICAgICAgaWYgKHRoaXMuZ2V0Qml0KGluZGV4KSA9PSB2YWx1ZSlcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHNldFdoZXJlKGNoZWNrLCB2YWx1ZSA9IHRydWUsIGNsZWFyID0gdHJ1ZSwgbm90aWZ5ID0gdHJ1ZSwgYWxsb3dDbGVhciA9IHRydWUpIHtcbiAgICAgICAgaWYgKGNsZWFyICYmIGFsbG93Q2xlYXIpXG4gICAgICAgICAgICB0aGlzLnNldEFsbCghdmFsdWUsIGZhbHNlKTtcbiAgICAgICAgaWYgKGFsbG93Q2xlYXIpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoY2hlY2soaSkpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RmFzdChpLCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX2xlbmd0aDsgaSsrKVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RmFzdChpLCBjaGVjayhpKSA/IHZhbHVlIDogIXZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluY3JlbWVudFZlcnNpb24obm90aWZ5KTtcbiAgICB9XG4gICAgZ2V0UmFuZ2UoZnJvbSwgdG8pIHtcbiAgICAgICAgdGhpcy5hc3N1cmVJblJhbmdlKGZyb20sIDAsIHRoaXMuX2xlbmd0aCAtIDEsICdmcm9tJyk7XG4gICAgICAgIHRoaXMuYXNzdXJlSW5SYW5nZSh0bywgMCwgdGhpcy5fbGVuZ3RoLCAndG8nKTtcbiAgICAgICAgY29uc3QgYXJyID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSBmcm9tOyBpIDwgdG87ICsraSlcbiAgICAgICAgICAgIGFyci5wdXNoKHRoaXMuZ2V0Qml0KGkpKTtcbiAgICAgICAgcmV0dXJuIEJpdEFycmF5LmZyb21WYWx1ZXMoYXJyKTtcbiAgICB9XG4gICAgZ2V0UmFuZ2VBc0xpc3QoZnJvbSwgdG8pIHtcbiAgICAgICAgdGhpcy5hc3N1cmVJblJhbmdlKGZyb20sIDAsIHRoaXMuX2xlbmd0aCAtIDEsICdmcm9tJyk7XG4gICAgICAgIHRoaXMuYXNzdXJlSW5SYW5nZSh0bywgMCwgdGhpcy5fbGVuZ3RoLCAndG8nKTtcbiAgICAgICAgY29uc3QgYXJyID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSBmcm9tOyBpIDwgdG87ICsraSlcbiAgICAgICAgICAgIGFyci5wdXNoKHRoaXMuZ2V0Qml0KGkpKTtcbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG4gICAgc2V0UmFuZ2UoZnJvbSwgdG8sIHZhbHVlLCBub3RpZnkgPSB0cnVlKSB7XG4gICAgICAgIHRoaXMuYXNzdXJlSW5SYW5nZShmcm9tLCAwLCB0aGlzLl9sZW5ndGggLSAxLCAnZnJvbScpO1xuICAgICAgICB0aGlzLmFzc3VyZUluUmFuZ2UodG8sIDAsIHRoaXMuX2xlbmd0aCAtIDEsICd0bycpO1xuICAgICAgICBjb25zdCBzdGFydCA9IE1hdGgubWluKGZyb20sIHRvKTtcbiAgICAgICAgY29uc3QgZW5kID0gTWF0aC5tYXgoZnJvbSwgdG8pO1xuICAgICAgICAvL3RvZG86IG9wdGltaXplXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0OyBpIDw9IGVuZDsgaSsrKVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0VHJ1ZShpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSBzdGFydDsgaSA8PSBlbmQ7IGkrKylcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZhbHNlKGkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5jcmVtZW50VmVyc2lvbihub3RpZnkpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLy8vIFNldHMgbiByYW5kb21seSBjaG9zZW4gYml0cyB0byB2YWx1ZSwgcmVtYWluaW5nIGJpdHMgdG8gIXZhbHVlLlxuICAgIHNldFJhbmRvbShuLCB2YWx1ZSwgbm90aWZ5ID0gdHJ1ZSkge1xuICAgICAgICBpZiAobiA8IDAgfHwgbiA+IHRoaXMuX2xlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbiBtdXN0IGJlID49IDAgJiYgPD0gQ291bnQnKTtcbiAgICAgICAgaWYgKG4gPiB0aGlzLl9sZW5ndGggLyAyKVxuICAgICAgICAgICAgdGhpcy5zZXRSYW5kb20odGhpcy5fbGVuZ3RoIC0gbiwgIXZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRBbGwoIXZhbHVlKTtcbiAgICAgICAgZm9yIChsZXQgayA9IDA7IGsgPCBuOykge1xuICAgICAgICAgICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHRoaXMuX2xlbmd0aCk7XG4gICAgICAgICAgICBpZiAodGhpcy5nZXRCaXQoaSkgPT0gdmFsdWUpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB0aGlzLnNldEZhc3QoaSwgdmFsdWUpO1xuICAgICAgICAgICAgaysrO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5jcmVtZW50VmVyc2lvbihub3RpZnkpO1xuICAgIH1cbiAgICAvLy8gTW9kaWZpZXMgY3VycmVudCBiaXRzZXQgYnkgcGVyZm9ybWluZyB0aGUgYml0d2lzZSBBTkQgb3BlcmF0aW9uIGFnYWluc3QgdGhlXG4gICAgLy8vIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMgaW4gdGhlIHNwZWNpZmllZCBiaXRzZXQuXG4gICAgYW5kKHZhbHVlLCBub3RpZnkgPSB0cnVlKSB7XG4gICAgICAgIGlmICh0aGlzLl9sZW5ndGggIT0gdmFsdWUuX2xlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXJyYXkgbGVuZ3RocyBkaWZmZXIuJyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLmxlbmd0aEluSW50czsgaSA8IGxlbjsgaSsrKVxuICAgICAgICAgICAgdGhpcy5fZGF0YVtpXSAmPSB2YWx1ZS5fZGF0YVtpXTtcbiAgICAgICAgdGhpcy5pbmNyZW1lbnRWZXJzaW9uKG5vdGlmeSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvLy8gUGVyZm9ybXMgdGhlIGJpdHdpc2UgQU5EIE5PVCBvcGVyYXRpb24gb24gdGhlIGVsZW1lbnRzIGluIHRoZSBjdXJyZW50IGJpdHNldFxuICAgIC8vLyBhZ2FpbnN0IHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnRzIGluIHRoZSBzcGVjaWZpZWQgYml0c2V0LlxuICAgIGFuZE5vdCh2YWx1ZSwgbm90aWZ5ID0gdHJ1ZSkge1xuICAgICAgICBpZiAodGhpcy5fbGVuZ3RoICE9IHZhbHVlLl9sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FycmF5IGxlbmd0aHMgZGlmZmVyLicpO1xuICAgICAgICBjb25zdCBsZW4gPSB0aGlzLmxlbmd0aEluSW50cztcbiAgICAgICAgZm9yIChsZXQgbnVtMiA9IDA7IG51bTIgPCBsZW47IG51bTIrKylcbiAgICAgICAgICAgIHRoaXMuX2RhdGFbbnVtMl0gJj0gfnZhbHVlLl9kYXRhW251bTJdO1xuICAgICAgICB0aGlzLmluY3JlbWVudFZlcnNpb24obm90aWZ5KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8vLyBQZXJmb3JtcyB0aGUgYml0d2lzZSBOT1QgQU5EIG9wZXJhdGlvbiBvbiB0aGUgZWxlbWVudHMgaW4gdGhlIGN1cnJlbnQgYml0c2V0XG4gICAgLy8vIGFnYWluc3QgdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMgaW4gdGhlIHNwZWNpZmllZCBiaXRzZXQuXG4gICAgbm90QW5kKHZhbHVlLCBub3RpZnkgPSB0cnVlKSB7XG4gICAgICAgIGlmICh0aGlzLl9sZW5ndGggIT0gdmFsdWUuX2xlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXJyYXkgbGVuZ3RocyBkaWZmZXIuJyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLmxlbmd0aEluSW50czsgaSA8IGxlbjsgaSsrKVxuICAgICAgICAgICAgdGhpcy5fZGF0YVtpXSA9ICh+dGhpcy5fZGF0YVtpXSkgJiB2YWx1ZS5fZGF0YVtpXTtcbiAgICAgICAgdGhpcy5pbmNyZW1lbnRWZXJzaW9uKG5vdGlmeSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvLy8gSW52ZXJ0cyBhbGwgYml0IHZhbHVlcyBpbiB0aGUgY3VycmVudCBiaXRzZXRcbiAgICBub3Qobm90aWZ5ID0gdHJ1ZSkge1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gdGhpcy5sZW5ndGhJbkludHM7IGkgPCBsZW47IGkrKylcbiAgICAgICAgICAgIHRoaXMuX2RhdGFbaV0gPSB+dGhpcy5fZGF0YVtpXTtcbiAgICAgICAgdGhpcy5pbmNyZW1lbnRWZXJzaW9uKG5vdGlmeSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvLy8gUGVyZm9ybXMgdGhlIGJpdHdpc2UgT1Igb3BlcmF0aW9uIG9uIHRoZSBlbGVtZW50cyBpbiB0aGUgY3VycmVudCBiaXRzZXRcbiAgICAvLy8gYWdhaW5zdCB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50cyBpbiB0aGUgc3BlY2lmaWVkIGJpdHNldC5cbiAgICBvcih2YWx1ZSwgbm90aWZ5ID0gdHJ1ZSkge1xuICAgICAgICBpZiAodGhpcy5fbGVuZ3RoICE9IHZhbHVlLl9sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FycmF5IGxlbmd0aHMgZGlmZmVyLicpO1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gdGhpcy5sZW5ndGhJbkludHM7IGkgPCBsZW47IGkrKylcbiAgICAgICAgICAgIHRoaXMuX2RhdGFbaV0gfD0gdmFsdWUuX2RhdGFbaV07XG4gICAgICAgIHRoaXMuaW5jcmVtZW50VmVyc2lvbihub3RpZnkpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLy8vIFBlcmZvcm1zIHRoZSBiaXR3aXNlIGV4Y2x1c2l2ZSBPUiBvcGVyYXRpb24gb24gdGhlIGVsZW1lbnRzIGluIHRoZSBjdXJyZW50IGJpdHNldFxuICAgIC8vLyBhZ2FpbnN0IHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnRzIGluIHRoZSBzcGVjaWZpZWQgYml0c2V0LlxuICAgIHhvcih2YWx1ZSwgbm90aWZ5ID0gdHJ1ZSkge1xuICAgICAgICBpZiAodGhpcy5fbGVuZ3RoICE9IHZhbHVlLl9sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FycmF5IGxlbmd0aHMgZGlmZmVyLicpO1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gdGhpcy5sZW5ndGhJbkludHM7IGkgPCBsZW47IGkrKylcbiAgICAgICAgICAgIHRoaXMuX2RhdGFbaV0gXj0gdmFsdWUuX2RhdGFbaV07XG4gICAgICAgIHRoaXMuaW5jcmVtZW50VmVyc2lvbihub3RpZnkpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLy8vIEluc2VydHMgbiAwLWJpdHMgYXQgcG9zaXRpb24gcG9zLCByZXNpemluZyBzZWxmIGFuZCBzaGlmdGluZyBiaXRzIGFwcHJvcHJpYXRlbHkuXG4gICAgaW5zZXJ0QXQocG9zLCBuLCBmbGFnID0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy5hc3N1cmVJblJhbmdlKHBvcywgMCwgdGhpcy5fbGVuZ3RoLCAncG9zJyk7XG4gICAgICAgIGlmIChuID09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vVE9ETzogb3B0aW1pemVcbiAgICAgICAgLy90aGUgbW9zdCBwcmltaXRpdmUgaW1wbGVtZW50YXRpb24sIG9wdGltaXplIGl0IGxhdGVyIVxuICAgICAgICAvLyBiZWdpblVwZGF0ZSgpO1xuICAgICAgICBjb25zdCBvbGRsZW5ndGggPSB0aGlzLl9sZW5ndGg7XG4gICAgICAgIHRoaXMuc2V0TGVuZ3RoKHRoaXMuX2xlbmd0aCArIG4pO1xuICAgICAgICAvL2lmICghY29udGFpbnMoIWZsYWcpKSByZXR1cm47IC8vIG5vdGhpbmcgdG8gZG9cbiAgICAgICAgZm9yIChsZXQgaSA9IG9sZGxlbmd0aCAtIDE7IGkgPj0gcG9zOyBpLS0pXG4gICAgICAgICAgICB0aGlzLnNldEJpdChpICsgbiwgdGhpcy5nZXRCaXQoaSkpO1xuICAgICAgICBmb3IgKGxldCBpID0gcG9zOyBpIDwgcG9zICsgbjsgaSsrKVxuICAgICAgICAgICAgdGhpcy5zZXRCaXQoaSwgZmxhZyk7XG4gICAgICAgIC8vIGVuZFVwZGF0ZSgpO1xuICAgIH1cbiAgICAvLy8gRGVsZXRlcyBuIGJpdHMgYmVnaW5uaW5nIGF0IHBvc2l0aW9uIHBvcywgcmVzaXppbmcgc2VsZiBhbmQgc2hpZnRpbmcgcmVtYWluaW5nXG4gICAgLy8vIGJpdHMgYXBwcm9wcmlhdGVseS5cbiAgICByZW1vdmVBdChwb3MsIG4gPSAxKSB7XG4gICAgICAgIC8vIHRoZSBtb3N0IHByaW1pdGl2ZSBpbXBsZW1lbnRhdGlvbiwgb3B0aW1pemUgaXQgbGF0ZXIhXG4gICAgICAgIGlmIChuIDwgMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbiBjYW5ub3QgYmUgbmVnYXRpdmUnKTtcbiAgICAgICAgdGhpcy5hc3N1cmVJblJhbmdlKHBvcywgMCwgdGhpcy5fbGVuZ3RoIC0gbiwgJ3BvcycpO1xuICAgICAgICBpZiAodGhpcy5jb250YWlucyh0cnVlKSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IHBvczsgaSA8IHRoaXMuX2xlbmd0aCAtIG47IGkrKylcbiAgICAgICAgICAgICAgICB0aGlzLnNldEJpdChpLCB0aGlzLmdldEJpdChpICsgbikpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0TGVuZ3RoKHRoaXMuX2xlbmd0aCAtIG4pO1xuICAgIH1cbiAgICByZW1vdmVCeU1hc2sobWFzaywgZmxhZyA9IHRydWUpIHtcbiAgICAgICAgaWYgKHRoaXMuX2xlbmd0aCAhPSBtYXNrLmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbGVuZ3RoICE9IG1hc2subGVuZ3RoJyk7XG4gICAgICAgIGlmIChtYXNrID09IHRoaXMpIHsgLy8gbm8gbmVlZCB0byBpdGVyYXRlXG4gICAgICAgICAgICB0aGlzLnNldExlbmd0aChtYXNrLmNvdW50Qml0cyghZmxhZykpO1xuICAgICAgICAgICAgdGhpcy5zZXRBbGwoIWZsYWcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGV0IGRzdElkeCA9IDA7XG4gICAgICAgICAgICBmb3IgKGxldCBzcmNJZHggPSAtMTsgKHNyY0lkeCA9IG1hc2suZmluZE5leHQoc3JjSWR4LCAhZmxhZykpICE9IC0xOylcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZhc3QoZHN0SWR4KyssIHRoaXMuZ2V0Qml0KHNyY0lkeCkpO1xuICAgICAgICAgICAgdGhpcy5fbGVuZ3RoID0gZHN0SWR4O1xuICAgICAgICAgICAgdGhpcy5fdmVyc2lvbisrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvLy8gU2ltaWxhciB0byB0aGUgW10gb3BlcmF0b3IuXG4gICAgZ2V0Qml0KHBvcykge1xuICAgICAgICByZXR1cm4gKHRoaXMuX2RhdGFbTWF0aC5mbG9vcihwb3MgLyAweDIwKV0gJiAoMSA8PCAocG9zICYgMHgxZikpKSAhPSAwO1xuICAgIH1cbiAgICAvLy8gU2ltaWxhciB0byB0aGUgW10gb3BlcmF0b3IuXG4gICAgc2V0Qml0KHBvcywgYml0LCBub3RpZnkgPSB0cnVlKSB7XG4gICAgICAgIHRoaXMuc2V0RmFzdChwb3MsIGJpdCk7XG4gICAgICAgIGlmIChub3RpZnkpXG4gICAgICAgICAgICB0aGlzLl92ZXJzaW9uKys7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuX3ZlcnNpb24rKztcbiAgICB9XG4gICAgLy8vIFNldHMgW2ldLXRoIGJpdCB0byBbdmFsdWVdLCBkb2VzIG5vdCBjaGVjayBib3VuZHMsIGRvZXMgbm90IGluY3JlbWVudCB2ZXJzaW9uXG4gICAgc2V0RmFzdChpLCB2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUpXG4gICAgICAgICAgICB0aGlzLl9kYXRhW01hdGguZmxvb3IoaSAvIDB4MjApXSB8PSAxIDw8IChpICYgMHgxZik7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuX2RhdGFbTWF0aC5mbG9vcihpIC8gMHgyMCldICY9IH4oMSA8PCAoaSAmIDB4MWYpKTtcbiAgICB9XG4gICAgc2V0VHJ1ZShwb3MpIHtcbiAgICAgICAgdGhpcy5fZGF0YVtNYXRoLmZsb29yKHBvcyAvIDB4MjApXSB8PSAxIDw8IChwb3MgJiAweDFmKTtcbiAgICB9XG4gICAgc2V0RmFsc2UocG9zKSB7XG4gICAgICAgIHRoaXMuX2RhdGFbTWF0aC5mbG9vcihwb3MgLyAweDIwKV0gJj0gfigxIDw8IChwb3MgJiAweDFmKSk7XG4gICAgfVxuICAgIHRydWVDb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY291bnRCaXRzKHRydWUpO1xuICAgIH1cbiAgICBmYWxzZUNvdW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3VudEJpdHMoZmFsc2UpO1xuICAgIH1cbiAgICAvLy8gQ291bnRzIGJpdHMgb2YgdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiAgICBjb3VudEJpdHModmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMuX2xlbmd0aCA9PSAwKVxuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZENvdW50VmVyc2lvbiAhPSB0aGlzLl92ZXJzaW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZENvdW50ID0gMDtcbiAgICAgICAgICAgIGNvbnN0IGxlbiA9IHRoaXMubGVuZ3RoSW5JbnRzO1xuICAgICAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICAgICAgZm9yICg7IGkgPCBsZW4gLSAxOyBpKyspIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBrID0gdGhpcy5fZGF0YVtpXTsgayAhPSAwOyBrID4+Pj0gOCkgeyAvL3RvZG86IGNhc3QgZGF0YVtpXSB0byB1aW50XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkQ291bnQgKz0gQml0QXJyYXkuX29uQml0Q291bnRbayAmIDB4ZmZdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRoZSBsYXN0IGludC5cbiAgICAgICAgICAgIGxldCBrID0gdGhpcy5fZGF0YVtpXTtcbiAgICAgICAgICAgIGNvbnN0IHJlbWFpbmluZ0JpdHMgPSB0aGlzLl9sZW5ndGggJiAweDFmO1xuICAgICAgICAgICAgaWYgKHJlbWFpbmluZ0JpdHMgIT0gMCkgLyogaWYgcmVtYWluaW5nQml0cyA9PSAwLCB0aGUgbGFzdCBpbnQgaXMgZnVsbHkgdXNlZCBhbmQgQUxMIGJpdHMgc2hvdWxkIGJlIGxlZnQgYXMgaXMgKi9cbiAgICAgICAgICAgICAgICBrICY9IH4oKDQyOTQ5NjcyOTUpIDw8IHJlbWFpbmluZ0JpdHMpO1xuICAgICAgICAgICAgZm9yICg7IGsgIT0gMDsgayA+Pj49IDgpXG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRDb3VudCArPSBCaXRBcnJheS5fb25CaXRDb3VudFtrICYgMHhmZl07XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZENvdW50VmVyc2lvbiA9IHRoaXMuX3ZlcnNpb247XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICh2YWx1ZSA/IHRoaXMuX3NlbGVjdGVkQ291bnQgOiB0aGlzLl9sZW5ndGggLSB0aGlzLl9zZWxlY3RlZENvdW50KTtcbiAgICB9XG4gICAgLy8vIFJldHVybnMgYSBudW1iZXIgb2Ygc2V0IGJpdHMgd2hlcmUgYWxzbyBbY2hlY2tdIGlzIHRydWVcbiAgICBjb3VudFdoZXJlKGNoZWNrKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICBpZiAodGhpcy50cnVlQ291bnQoKSA9PSB0aGlzLl9sZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fbGVuZ3RoOyBpKyspXG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IGNoZWNrKGkpID8gMSA6IDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gLTE7IChpID0gdGhpcy5maW5kTmV4dChpLCB0cnVlKSkgIT0gLTE7KVxuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBjaGVjayhpKSA/IDEgOiAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIC8vLyBQZXJmb3JtcyBiaXQgXCJhbmRcIiBhbmQgY291bnRzIGJpdHMgb2YgdGhlIHNwZWNpZmllZCB2YWx1ZSwgd2l0aG91dCBiaXRzZXQgbW9kaWZpY2F0aW9uLlxuICAgIGFuZFdpdGhDb3VudEJpdHMoc2Vjb25kLCB2YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5fbGVuZ3RoID09IDApXG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgICAgY29uc3QgbGVuID0gdGhpcy5sZW5ndGhJbkludHM7XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgZm9yICg7IGkgPCBsZW4gLSAxOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGsgPSB0aGlzLl9kYXRhW2ldICYgc2Vjb25kLl9kYXRhW2ldOyBrICE9IDA7IGsgPj4+PSA4KVxuICAgICAgICAgICAgICAgIGNvdW50ICs9IEJpdEFycmF5Ll9vbkJpdENvdW50W2sgJiAweGZmXTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUaGUgbGFzdCBpbnQuXG4gICAgICAgIGxldCBrID0gdGhpcy5fZGF0YVtpXSAmIHNlY29uZC5fZGF0YVtpXTtcbiAgICAgICAgY29uc3QgcmVtYWluaW5nQml0cyA9IHRoaXMuX2xlbmd0aCAmIDB4MWY7XG4gICAgICAgIGlmIChyZW1haW5pbmdCaXRzICE9IDApXG4gICAgICAgICAgICBrICY9IH4oKDQyOTQ5NjcyOTUpIDw8IHJlbWFpbmluZ0JpdHMpO1xuICAgICAgICBmb3IgKDsgayAhPSAwOyBrID4+Pj0gOClcbiAgICAgICAgICAgIGNvdW50ICs9IEJpdEFycmF5Ll9vbkJpdENvdW50W2sgJiAweGZmXTtcbiAgICAgICAgcmV0dXJuICh2YWx1ZSA/IGNvdW50IDogdGhpcy5fbGVuZ3RoIC0gY291bnQpO1xuICAgIH1cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5zZXRMZW5ndGgoMCk7XG4gICAgfVxuICAgIGNvbnRhaW5zKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmROZXh0KC0xLCB2YWx1ZSkgPj0gMDtcbiAgICB9XG4gICAgZ2V0IGFsbFRydWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvdW50Qml0cyh0cnVlKSA9PSB0aGlzLl9sZW5ndGg7XG4gICAgfVxuICAgIGdldCBhbGxGYWxzZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY291bnRCaXRzKGZhbHNlKSA9PSB0aGlzLl9sZW5ndGg7XG4gICAgfVxuICAgIGdldCBhbnlUcnVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3VudEJpdHModHJ1ZSkgPiAwO1xuICAgIH1cbiAgICBnZXQgYW55RmFsc2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvdW50Qml0cyhmYWxzZSkgPiAwO1xuICAgIH1cbiAgICAvLy8gUmV0dXJucyB0aGUgcG9zaXRpb24gb2YgdGhlIG5leHQgYml0IG9mIHRoZSBzcGVjaWZpZWQgdmFsdWUsIHN0YXJ0aW5nIGZyb20gdGhlIHNwZWNpZmllZCBwb3NpdGlvbi5cbiAgICAvLy8gUmV0dXJucyAtMSwgaWYgdGhlcmUgYXJlIG5vIHN1Y2ggYml0cy5cbiAgICBmaW5kTmV4dChpbmRleCwgdmFsdWUgPSB0cnVlKSB7XG4gICAgICAgIHRoaXMuYXNzdXJlSW5SYW5nZShpbmRleCwgLTEsIHRoaXMuX2xlbmd0aCwgJ2luZGV4Jyk7XG4gICAgICAgIGlmIChpbmRleCA+PSB0aGlzLl9sZW5ndGggLSAxKVxuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICBpbmRleCA9IGluZGV4IDwgMCA/IDAgOiBpbmRleCArIDE7IC8vIHNraXAgc3RhcnRcbiAgICAgICAgbGV0IHVudXNlZEJpdHMgPSBpbmRleCAmIDB4MWY7XG4gICAgICAgIGNvbnN0IG51bUludHMgPSB0aGlzLmxlbmd0aEluSW50cztcbiAgICAgICAgZm9yIChsZXQgaSA9IE1hdGguZmxvb3IoaW5kZXggLyAzMik7IGkgPCBudW1JbnRzOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBrID0gKHZhbHVlID8gdGhpcy5fZGF0YVtpXSA6IH50aGlzLl9kYXRhW2ldKTsgLy8gdWludCBjYXN0XG4gICAgICAgICAgICBpZiAodW51c2VkQml0cyAhPSAwKSB7XG4gICAgICAgICAgICAgICAgayAmPSAoKDB4ZmZmZmZmZmYgPDwgdW51c2VkQml0cykgJiAweGZmZmZmZmZmKTtcbiAgICAgICAgICAgICAgICB1bnVzZWRCaXRzID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKCF2YWx1ZSAmJiBrID09IC00Mjk0OTY3Mjk2KSAvKiBsb29raW5nIGZvciBmYWxzZSwgYWxsIGJpdHMgYXJlIHNldCAqLyB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgayAhPSAwOyBqICs9IDgsIGsgPj4+PSA4KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcCA9IEJpdEFycmF5Ll9maXJzdE9uQml0W2sgJiAweGZmXTtcbiAgICAgICAgICAgICAgICBpZiAocCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gcCArIChpICogMzIpICsgajtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID49IHRoaXMuX2xlbmd0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIC8vLyBGaW5kcyBwcmV2aW91cyBiaXQgb2YgdGhlIHNwZWNpZmllZCB2YWx1ZSBpbiB0aGUgYml0c2V0LlxuICAgIGZpbmRQcmV2KGluZGV4LCB2YWx1ZSA9IHRydWUpIHtcbiAgICAgICAgaWYgKGluZGV4ID09IDApXG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIHRoaXMuYXNzdXJlSW5SYW5nZShpbmRleCwgLTEsIHRoaXMuX2xlbmd0aCwgJ2luZGV4Jyk7XG4gICAgICAgIGluZGV4ID0gaW5kZXggPCAwID8gdGhpcy5fbGVuZ3RoIC0gMSA6IGluZGV4IC0gMTsgLy8gc2tpcCBzdGFydFxuICAgICAgICBjb25zdCBsYXN0SW50SWR4ID0gTWF0aC5mbG9vcihpbmRleCAvIDB4MjApO1xuICAgICAgICBsZXQgcmVtYWluaW5nQml0cyA9IChpbmRleCArIDEpICYgMHgxZjtcbiAgICAgICAgZm9yIChsZXQgaSA9IGxhc3RJbnRJZHg7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBsZXQgayA9ICh2YWx1ZSA/IHRoaXMuX2RhdGFbaV0gOiB+dGhpcy5fZGF0YVtpXSk7IC8vIGNhc3RcbiAgICAgICAgICAgIGlmIChyZW1haW5pbmdCaXRzICE9IDApIHtcbiAgICAgICAgICAgICAgICBrICY9IH4oKDQyOTQ5NjcyOTUpIDw8IHJlbWFpbmluZ0JpdHMpO1xuICAgICAgICAgICAgICAgIHJlbWFpbmluZ0JpdHMgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDI0OyBrICE9IDA7IGogLT0gOCwgayA8PD0gOCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBCaXRBcnJheS5fbGFzdE9uQml0W2sgPj4+IDB4MThdO1xuICAgICAgICAgICAgICAgIGlmIChwID49IDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwICsgKGkgKiAzMikgKyBqO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG59XG5CaXRBcnJheS5fb25CaXRDb3VudCA9IEludDhBcnJheS5mcm9tKFtcbiAgICAwLCAxLCAxLCAyLCAxLCAyLCAyLCAzLCAxLCAyLCAyLCAzLCAyLCAzLCAzLCA0LFxuICAgIDEsIDIsIDIsIDMsIDIsIDMsIDMsIDQsIDIsIDMsIDMsIDQsIDMsIDQsIDQsIDUsXG4gICAgMSwgMiwgMiwgMywgMiwgMywgMywgNCwgMiwgMywgMywgNCwgMywgNCwgNCwgNSxcbiAgICAyLCAzLCAzLCA0LCAzLCA0LCA0LCA1LCAzLCA0LCA0LCA1LCA0LCA1LCA1LCA2LFxuICAgIDEsIDIsIDIsIDMsIDIsIDMsIDMsIDQsIDIsIDMsIDMsIDQsIDMsIDQsIDQsIDUsXG4gICAgMiwgMywgMywgNCwgMywgNCwgNCwgNSwgMywgNCwgNCwgNSwgNCwgNSwgNSwgNixcbiAgICAyLCAzLCAzLCA0LCAzLCA0LCA0LCA1LCAzLCA0LCA0LCA1LCA0LCA1LCA1LCA2LFxuICAgIDMsIDQsIDQsIDUsIDQsIDUsIDUsIDYsIDQsIDUsIDUsIDYsIDUsIDYsIDYsIDcsXG4gICAgMSwgMiwgMiwgMywgMiwgMywgMywgNCwgMiwgMywgMywgNCwgMywgNCwgNCwgNSxcbiAgICAyLCAzLCAzLCA0LCAzLCA0LCA0LCA1LCAzLCA0LCA0LCA1LCA0LCA1LCA1LCA2LFxuICAgIDIsIDMsIDMsIDQsIDMsIDQsIDQsIDUsIDMsIDQsIDQsIDUsIDQsIDUsIDUsIDYsXG4gICAgMywgNCwgNCwgNSwgNCwgNSwgNSwgNiwgNCwgNSwgNSwgNiwgNSwgNiwgNiwgNyxcbiAgICAyLCAzLCAzLCA0LCAzLCA0LCA0LCA1LCAzLCA0LCA0LCA1LCA0LCA1LCA1LCA2LFxuICAgIDMsIDQsIDQsIDUsIDQsIDUsIDUsIDYsIDQsIDUsIDUsIDYsIDUsIDYsIDYsIDcsXG4gICAgMywgNCwgNCwgNSwgNCwgNSwgNSwgNiwgNCwgNSwgNSwgNiwgNSwgNiwgNiwgNyxcbiAgICA0LCA1LCA1LCA2LCA1LCA2LCA2LCA3LCA1LCA2LCA2LCA3LCA2LCA3LCA3LCA4XG5dKTtcbkJpdEFycmF5Ll9maXJzdE9uQml0ID0gSW50OEFycmF5LmZyb20oW1xuICAgIC0xLCAwLCAxLCAwLCAyLCAwLCAxLCAwLCAzLCAwLCAxLCAwLCAyLCAwLCAxLCAwLFxuICAgIDQsIDAsIDEsIDAsIDIsIDAsIDEsIDAsIDMsIDAsIDEsIDAsIDIsIDAsIDEsIDAsXG4gICAgNSwgMCwgMSwgMCwgMiwgMCwgMSwgMCwgMywgMCwgMSwgMCwgMiwgMCwgMSwgMCxcbiAgICA0LCAwLCAxLCAwLCAyLCAwLCAxLCAwLCAzLCAwLCAxLCAwLCAyLCAwLCAxLCAwLFxuICAgIDYsIDAsIDEsIDAsIDIsIDAsIDEsIDAsIDMsIDAsIDEsIDAsIDIsIDAsIDEsIDAsXG4gICAgNCwgMCwgMSwgMCwgMiwgMCwgMSwgMCwgMywgMCwgMSwgMCwgMiwgMCwgMSwgMCxcbiAgICA1LCAwLCAxLCAwLCAyLCAwLCAxLCAwLCAzLCAwLCAxLCAwLCAyLCAwLCAxLCAwLFxuICAgIDQsIDAsIDEsIDAsIDIsIDAsIDEsIDAsIDMsIDAsIDEsIDAsIDIsIDAsIDEsIDAsXG4gICAgNywgMCwgMSwgMCwgMiwgMCwgMSwgMCwgMywgMCwgMSwgMCwgMiwgMCwgMSwgMCxcbiAgICA0LCAwLCAxLCAwLCAyLCAwLCAxLCAwLCAzLCAwLCAxLCAwLCAyLCAwLCAxLCAwLFxuICAgIDUsIDAsIDEsIDAsIDIsIDAsIDEsIDAsIDMsIDAsIDEsIDAsIDIsIDAsIDEsIDAsXG4gICAgNCwgMCwgMSwgMCwgMiwgMCwgMSwgMCwgMywgMCwgMSwgMCwgMiwgMCwgMSwgMCxcbiAgICA2LCAwLCAxLCAwLCAyLCAwLCAxLCAwLCAzLCAwLCAxLCAwLCAyLCAwLCAxLCAwLFxuICAgIDQsIDAsIDEsIDAsIDIsIDAsIDEsIDAsIDMsIDAsIDEsIDAsIDIsIDAsIDEsIDAsXG4gICAgNSwgMCwgMSwgMCwgMiwgMCwgMSwgMCwgMywgMCwgMSwgMCwgMiwgMCwgMSwgMCxcbiAgICA0LCAwLCAxLCAwLCAyLCAwLCAxLCAwLCAzLCAwLCAxLCAwLCAyLCAwLCAxLCAwXG5dKTtcbkJpdEFycmF5Ll9sYXN0T25CaXQgPSBJbnQ4QXJyYXkuZnJvbShbXG4gICAgLTEsIDAsIDEsIDEsIDIsIDIsIDIsIDIsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsXG4gICAgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsXG4gICAgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNixcbiAgICA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LFxuICAgIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsXG4gICAgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNixcbiAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LFxuICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsXG4gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNyxcbiAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LFxuICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsXG4gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNyxcbiAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LFxuICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDdcbl0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWW1sMExXRnljbUY1TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lZbWwwTFdGeWNtRjVMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFMUJRVTBzUTBGQlF5eFBRVUZQTEU5QlFVOHNVVUZCVVR0SlFXOUZNMElzV1VGQldTeEhRVUY1UWl4RlFVRkZMR1ZCUVdsRExFdEJRVXM3VVVGYWNrVXNXVUZCVHl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOYUxHRkJRVkVzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEWWl4cFFrRkJXU3hIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5xUWl4dFFrRkJZeXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU51UWl3d1FrRkJjVUlzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTXpRaXcwUWtGQmRVSXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVNM1FpeHRRa0ZCWXl4SFFVRkhMRVZCUVVVc1EwRkJRenRSUVVOd1Fpd3dRa0ZCY1VJc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU51UXl4eFFrRkJaMElzUjBGQlJ5eExRVUZMTEVOQlFVTTdVVUZMZGtJc1NVRkJTU3hQUVVGUExFZEJRVWNzUzBGQlN5eFJRVUZSTEVWQlFVVTdXVUZETTBJc1RVRkJUU3hOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzFsQlEyNUNMRTFCUVUwc1NVRkJTU3hIUVVGSExGRkJRVkVzUTBGQlF5eGhRVUZoTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkROVU1zU1VGQlNTeFpRVUZaTEVWQlFVVTdaMEpCUTJoQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlR0dlFrRkRiRU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8yRkJRMmhDTzFsQlEwUXNTVUZCU1N4RFFVRkRMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU03V1VGRGJFSXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhOUVVGTkxFTkJRVU03VTBGRGRrSTdZVUZCVFN4SlFVRkpMRWRCUVVjc1dVRkJXU3hYUVVGWExFVkJRVVU3V1VGRGNrTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1IwRkJSeXhIUVVGclFpeERRVUZETzFsQlEyaERMRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzV1VGQmMwSXNRMEZCUXp0VFFVTjJRenRoUVVGTk8xbEJRMHdzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eERRVUZETzFOQlEzaERPMGxCUTBnc1EwRkJRenRKUVVkRUxGVkJRVlVzUzBGQlN5eFBRVUZQTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSVzVETEZWQlFWVXNRMEZCUXl4SFFVRlhMRVZCUVVVc1QwRkJaVHRSUVVOeVF5eEpRVUZKTEVkQlFVY3NSMEZCUnl4RFFVRkRPMWxCUVVVc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5eEhRVUZITEU5QlFVOHNPRUpCUVRoQ0xFTkJRVU1zUTBGQlF6dEpRVU42UlN4RFFVRkRPMGxCUlVRc1lVRkJZU3hEUVVGRExFdEJRV0VzUlVGQlJTeEhRVUZYTEVWQlFVVXNSMEZCVnl4RlFVRkZMRTlCUVdVN1VVRkRjRVVzU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eEhRVUZITEVOQlFVTTdXVUZEYUVNc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5eFpRVUZaTEU5QlFVOHNTMEZCU3l4TFFVRkxMRzFDUVVGdFFpeEhRVUZITEV0QlFVc3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVOd1JpeERRVUZETzBsQlJVUXNTVUZCU1N4RFFVRkRMRWRCUVdkQ0xFVkJRVVVzUjBGQlowSXNSVUZCUlN4TFFVRmhPMUZCUTNCRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhMUVVGTExFVkJRVVVzUTBGQlF5eEZRVUZGTzFsQlF6VkNMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRjRUlzUTBGQlF6dEpRVVZFTEZGQlFWRXNRMEZCUXl4TFFVRmxPMUZCUTNSQ0xFbEJRVWtzU1VGQlNTeERRVUZETEU5QlFVOHNTVUZCU1N4TFFVRkxMRU5CUVVNc1QwRkJUenRaUVVNdlFpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRzFDUVVGdFFpeEpRVUZKTEVOQlFVTXNUMEZCVHl4UFFVRlBMRXRCUVVzc1EwRkJReXhQUVVGUExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlF6RkZMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVTjBSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTTdTVUZEYkVJc1EwRkJRenRKUVVWRUxFbEJRVWtzVFVGQlRUdFJRVU5TTEU5QlFVOHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJRenRKUVVOMFFpeERRVUZETzBsQlJVUXNTVUZCU1N4TlFVRk5PMUZCUTFJc1QwRkJUeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETzBsQlEzQkNMRU5CUVVNN1NVRkZSQ3hKUVVGSkxFMUJRVTBzUTBGQlF5eEpRVUZwUWp0UlFVTXhRaXhKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXp0UlFVTnNRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTTdTVUZEYkVJc1EwRkJRenRKUVVWRUxFbEJRVWtzVDBGQlR6dFJRVU5VTEU5QlFVOHNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJRenRKUVVOMlFpeERRVUZETzBsQlJVUXNTVUZCU1N4UFFVRlBMRU5CUVVNc1MwRkJZVHRSUVVOMlFpeEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMRXRCUVVzc1EwRkJRenRKUVVONFFpeERRVUZETzBsQlJVUXNaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeEhRVUZITEVsQlFVazdVVUZETlVJc1NVRkJTU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETzBsQlEyeENMRU5CUVVNN1NVRkZSQ3hKUVVGSkxGbEJRVms3VVVGRFpDeFBRVUZQTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRMnhFTEVOQlFVTTdTVUZGUkN4SlFVRkpMR0ZCUVdFN1VVRkRaaXhQUVVGUExFbEJRVWtzUTBGQlF5eFJRVUZSTEVsQlFVa3NTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTTdTVUZEYUVZc1EwRkJRenRKUVVWRUxFbEJRVWtzWVVGQllTeERRVUZETEVsQlFWazdVVUZETlVJc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZETTBJc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4SFFVRkhMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU03U1VGRE4wTXNRMEZCUXp0SlFVVkVMRWxCUVVrc1NVRkJTVHRSUVVOT0xFOUJRVThzU1VGQlNTeERRVUZETzBsQlEyUXNRMEZCUXp0SlFVVkVMRk5CUVZNc1EwRkJReXhMUVVGaE8xRkJRM0pDTEVsQlFVa3NTMEZCU3l4SFFVRkhMRU5CUVVNN1dVRkRXQ3hOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU03VVVGRmNFTXNTVUZCU1N4TFFVRkxMRWxCUVVrc1NVRkJTU3hEUVVGRExFOUJRVTg3V1VGQlJTeFBRVUZQTzFGQlEyeERMRTFCUVUwc1YwRkJWeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTTdVVUZEZEVRc1NVRkJTU3hEUVVGRExGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJUdFpRVU53Unl4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxGZEJRVmNzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0WlFVTTNReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVVc1QwRkJUeXhGUVVGRkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0WlFVTndSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITEU5QlFVOHNRMEZCUXp0VFFVTjBRanRSUVVWRUxFbEJRVWtzUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVN1dVRkRlRUlzU1VGQlNTeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRWxCUVVrc1IwRkJSeXhEUVVGRE8yZENRVU42UWl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkZha1lzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlFVVXNWMEZCVnl4RFFVRkRMRU5CUVVNN1UwRkRjRVE3VVVGRFJDeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVOeVFpeEpRVUZKTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNN1NVRkRiRUlzUTBGQlF6dEpRVVZFTEUxQlFVMHNRMEZCUXl4UFFVRlBMRU5CUVVNc1NVRkJZeXhGUVVGRkxFbEJRV003VVVGRE0wTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1QwRkJUeXhKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTzFsQlF6bENMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zYlVKQlFXMUNMRWxCUVVrc1EwRkJReXhQUVVGUExFOUJRVThzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkZla1VzVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEzaERMRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXp0UlFVTTFRaXhKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITEZGQlFWRXNRMEZCUXl4aFFVRmhMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEyeEVMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzUTBGQlF5eERRVUZETzFGQlJXeENMRTFCUVUwc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZET1VJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hEUVVGRExFVkJRVVU3V1VGRE1VSXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZhRVFzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWkN4RFFVRkRPMGxCUlU4c1RVRkJUU3hEUVVGRExHRkJRV0VzUTBGQlF5eE5RVUZqTzFGQlEzcERMRTlCUVU4c1NVRkJTU3hYUVVGWExFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUXpkRUxFTkJRVU03U1VGRlJDeE5RVUZOTEVOQlFVTXNWVUZCVlN4RFFVRkRMRTFCUVhOQ08xRkJRM1JETEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1VVRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0UlFVTjZReXhKUVVGSkxFTkJRVU1zVVVGQlVTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVVnNRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0WlFVTnlReXhKUVVGSkxFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTTdaMEpCUTFnc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRPMU5CUTJoRk8xRkJRMFFzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWkN4RFFVRkRPMGxCUlVRc2MwZEJRWE5ITzBsQlEzUkhMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQllTeEZRVUZGTEVsQlFXTTdVVUZETVVNc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRha01zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFdEJRVXNzUlVGQlJTeEZRVUZGTEVOQlFVTTdXVUZETlVJc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRk1VSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGJFSXNUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRaQ3hEUVVGRE8wbEJSVVFzYTBWQlFXdEZPMGxCUTJ4RkxFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCVXp0UlFVTjZRaXhQUVVGUExGRkJRVkVzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFTkJRVk1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTjJSU3hEUVVGRE8wbEJSVVFzTkVWQlFUUkZPMGxCUXpWRkxFMUJRVTBzUTBGQlF5eGxRVUZsTEVOQlFVTXNUMEZCWlN4RlFVRkZMRXRCUVd0Q08xRkJRM2hFTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1VVRkJVU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEyNURMRWxCUVVrc1EwRkJReXhMUVVGTExFZEJRVWNzUzBGQlN5eERRVUZETzFGQlEyNUNMRTlCUVU4c1NVRkJTU3hEUVVGRE8wbEJRMlFzUTBGQlF6dEpRVVZFTEhsRFFVRjVRenRKUVVONlF5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVdsQ08xRkJRMmhETEUxQlFVMHNSMEZCUnl4SFFVRkhMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRGVrSXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hSUVVGUkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTI1RExFbEJRVWtzUTBGQlF5eExRVUZMTEVkQlFVY3NTVUZCU1N4WFFVRlhMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzaEVMRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTjJRaXhKUVVGSkxFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEWWl4SlFVRkpMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRllpeFBRVUZQTEVOQlFVTXNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJUdFpRVU40UWl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETEVkQlFVY3NRMEZEYmtJc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkRlRVFzUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NTVUZCU1N4RFFVRkRMRU5CUTI1RExFZEJRVWNzUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NTVUZCU1N4RFFVRkRMRU5CUVVNN1dVRkZka01zU1VGQlNTeEpRVUZKTEVOQlFVTXNRMEZCUXp0VFFVTllPMUZCUlVRc1NVRkJTU3hIUVVGSExFZEJRVWNzU1VGQlNTeEpRVUZKTEVOQlFVTTdXVUZEYWtJc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRE8xRkJSWFJFTEVsQlFVa3NSMEZCUnl4SFFVRkhMRWxCUVVrc1NVRkJTU3hEUVVGRE8xbEJRMnBDTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVVndSQ3hKUVVGSkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVsQlFVa3NRMEZCUXp0WlFVTnFRaXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZGZWtNc1NVRkJTU3hEUVVGRExGRkJRVkVzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEYkVJc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFpDeERRVUZETzBsQlJVUXNVVUZCVVR0UlFVTk9MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eFZRVUZWTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVU0zUkN4RFFVRkRPMGxCUlVRc05FTkJRVFJETzBsQlF6VkRMRTFCUVUwc1EwRkJReXhMUVVGbE8xRkJRM0JDTEVsQlFVa3NTVUZCU1N4SlFVRkpMRXRCUVVzN1dVRkJSU3hQUVVGUExFbEJRVWtzUTBGQlF6dFJRVU12UWl4SlFVRkpMRXRCUVVzc1NVRkJTU3hKUVVGSk8xbEJRVVVzVDBGQlR5eExRVUZMTEVOQlFVTTdVVUZEYUVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zVDBGQlR5eEpRVUZKTEV0QlFVc3NRMEZCUXl4UFFVRlBPMWxCUVVVc1QwRkJUeXhMUVVGTExFTkJRVU03VVVGRGFFUXNTVUZCU1N4SlFVRkpMRU5CUVVNc1QwRkJUeXhKUVVGSkxFTkJRVU03V1VGQlJTeFBRVUZQTEVsQlFVa3NRMEZCUXp0UlFVVnVReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSVHRaUVVNMVF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRVVVzVDBGQlR5eExRVUZMTEVOQlFVTTdVVUZGY0VRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0WlFVTXZSQ3hKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTTdaMEpCUTI1RExFOUJRVThzUzBGQlN5eERRVUZETzFOQlEyaENPMUZCUTBRc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFpDeERRVUZETzBsQlJVUXNkVUpCUVhWQ08wbEJRM1pDTEV0QlFVczdVVUZEU0N4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxGRkJRVkVzUTBGQlF5eERRVUZETEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRlRU1zVVVGQlVTeERRVUZETEV0QlFVc3NSMEZCUnl4WFFVRlhMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRzFEUVVGdFF6dFJRVU5zUml4UlFVRlJMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTTdVVUZEYUVNc1VVRkJVU3hEUVVGRExGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRPMUZCUTJ4RExFOUJRVThzVVVGQlVTeERRVUZETzBsQlEyeENMRU5CUVVNN1NVRkZSQ3cwUWtGQk5FSTdTVUZETlVJc1NVRkJTU3hEUVVGRExFbEJRV01zUlVGQlJTeE5RVUZsTzFGQlEyeERMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUzBGQlN5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUlRGQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUTNKRExFbEJRVWtzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkRWQ3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1UwRkRhRVU3VVVGRlJDeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdVVUZET1VJc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFpDeERRVUZETzBsQlJVUXNjVUpCUVhGQ08wbEJRM0pDTEUxQlFVMHNRMEZCUXl4TlFVRk5MRWRCUVVjc1NVRkJTVHRSUVVOc1FpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRk8xbEJRM2hETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZGZEVJc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJRMmhETEVOQlFVTTdTVUZGUkN4dFJVRkJiVVU3U1VGRGJrVXNUVUZCVFN4RFFVRkRMRXRCUVdNc1JVRkJSU3hOUVVGTkxFZEJRVWNzUzBGQlN6dFJRVU51UXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRE4wSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF6dFJRVVU1UWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRkxHZENRVUZuUWp0WlFVTTFReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVWNFFpeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdTVUZEYUVNc1EwRkJRenRKUVVWRUxDdERRVUVyUXp0SlFVTXZReXc0UTBGQk9FTTdTVUZET1VNc2QwUkJRWGRFTzBsQlEzaEVMRlZCUVZVc1EwRkJReXhQUVVGelFpeEZRVUZGTEV0QlFVc3NSMEZCUnl4SlFVRkpMRVZCUVVVc1MwRkJTeXhIUVVGSExFbEJRVWtzUlVGQlJTeE5RVUZOTEVkQlFVY3NTVUZCU1R0UlFVTXhSU3hKUVVGSkxFdEJRVXM3V1VGRFVDeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1MwRkJTeXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlJUZENMRXRCUVVzc1RVRkJUU3hEUVVGRExFbEJRVWtzVDBGQlR6dFpRVU55UWl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVVjZRaXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03U1VGRGFFTXNRMEZCUXp0SlFVVkVMRlZCUVZVc1EwRkJReXhQUVVGelFpeEZRVUZGTEV0QlFVc3NSMEZCUnl4SlFVRkpPMUZCUXpkRExFdEJRVXNzVFVGQlRTeExRVUZMTEVsQlFVa3NUMEZCVHl4RlFVRkZPMWxCUXpOQ0xFbEJRVWtzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hMUVVGTE8yZENRVU0zUWl4UFFVRlBMRXRCUVVzc1EwRkJRenRUUVVOb1FqdFJRVU5FTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxGRkJRVkVzUTBGQlF5eFBRVUZ6UWl4RlFVRkZMRXRCUVVzc1IwRkJSeXhKUVVGSk8xRkJRek5ETEV0QlFVc3NUVUZCVFN4TFFVRkxMRWxCUVVrc1QwRkJUeXhGUVVGRk8xbEJRek5DTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeExRVUZMTzJkQ1FVTTNRaXhQUVVGUExFbEJRVWtzUTBGQlF6dFRRVU5tTzFGQlEwUXNUMEZCVHl4TFFVRkxMRU5CUVVNN1NVRkRaaXhEUVVGRE8wbEJSVVFzVVVGQlVTeERRVUZETEV0QlFXVXNSVUZCUlN4TFFVRkxMRWRCUVVjc1NVRkJTU3hGUVVGRkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEVWQlFVVXNUVUZCVFN4SFFVRkhMRWxCUVVrc1JVRkJSU3hWUVVGVkxFZEJRVWNzU1VGQlNUdFJRVU53Uml4SlFVRkpMRXRCUVVzc1NVRkJTU3hWUVVGVk8xbEJRM0pDTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdVVUZGTjBJc1NVRkJTU3hWUVVGVkxFVkJRVVU3V1VGRFpDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRuUWtGRGNrTXNTVUZCU1N4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVU5XTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzJGQlF6RkNPMU5CUTBZN1lVRkJUVHRaUVVOTUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNSVUZCUlR0blFrRkRia01zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdVMEZET1VNN1VVRkZSQ3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03U1VGRGFFTXNRMEZCUXp0SlFVVkVMRkZCUVZFc1EwRkJReXhKUVVGWkxFVkJRVVVzUlVGQlZUdFJRVU12UWl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTTdVVUZEZEVRc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhQUVVGUExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdVVUZET1VNc1RVRkJUU3hIUVVGSExFZEJRVzFDTEVWQlFVVXNRMEZCUXp0UlFVTXZRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NSVUZCUlN4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF6dFpRVU0xUWl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVNelFpeFBRVUZQTEZGQlFWRXNRMEZCUXl4VlFVRlZMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGJFTXNRMEZCUXp0SlFVVkVMR05CUVdNc1EwRkJReXhKUVVGWkxFVkJRVVVzUlVGQlZUdFJRVU55UXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTTdVVUZEZEVRc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhQUVVGUExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdVVUZET1VNc1RVRkJUU3hIUVVGSExFZEJRV01zUlVGQlJTeERRVUZETzFGQlF6RkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzU1VGQlNTeEZRVUZGTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRE8xbEJRelZDTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUXpOQ0xFOUJRVThzUjBGQlJ5eERRVUZETzBsQlEySXNRMEZCUXp0SlFVZEVMRkZCUVZFc1EwRkJReXhKUVVGWkxFVkJRVVVzUlVGQlZTeEZRVUZGTEV0QlFXTXNSVUZCUlN4TlFVRk5MRWRCUVVjc1NVRkJTVHRSUVVNNVJDeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGRFUXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzFGQlJXeEVMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJRMnBETEUxQlFVMHNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUlM5Q0xHZENRVUZuUWp0UlFVTm9RaXhKUVVGSkxFdEJRVXNzUlVGQlJUdFpRVU5VTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1MwRkJTeXhGUVVGRkxFTkJRVU1zU1VGQlNTeEhRVUZITEVWQlFVVXNRMEZCUXl4RlFVRkZPMmRDUVVNdlFpeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRMjVDTzJGQlFVMDdXVUZEVEN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFdEJRVXNzUlVGQlJTeERRVUZETEVsQlFVa3NSMEZCUnl4RlFVRkZMRU5CUVVNc1JVRkJSVHRuUWtGREwwSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFRRVU53UWp0UlFVVkVMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVNNVFpeFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmtMRU5CUVVNN1NVRkZSQ3h0UlVGQmJVVTdTVUZEYmtVc1UwRkJVeXhEUVVGRExFTkJRVk1zUlVGQlJTeExRVUZqTEVWQlFVVXNUVUZCVFN4SFFVRkhMRWxCUVVrN1VVRkRhRVFzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR6dFpRVU16UWl4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExEUkNRVUUwUWl4RFFVRkRMRU5CUVVNN1VVRkZhRVFzU1VGQlNTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhEUVVGRE8xbEJRM1JDTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRSUVVVelF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRmNFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnp0WlFVTjBRaXhOUVVGTkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1dVRkRia1FzU1VGQlNTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFdEJRVXM3WjBKQlFVVXNVMEZCVXp0WlFVTjBReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVOMlFpeERRVUZETEVWQlFVVXNRMEZCUXp0VFFVTk1PMUZCUlVRc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJRMmhETEVOQlFVTTdTVUZGUkN3clJVRkJLMFU3U1VGREwwVXNiVVJCUVcxRU8wbEJRMjVFTEVkQlFVY3NRMEZCUXl4TFFVRmxMRVZCUVVVc1RVRkJUU3hIUVVGSExFbEJRVWs3VVVGRGFFTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1QwRkJUeXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTzFsQlF5OUNMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1EwRkJRenRSUVVVelF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJUdFpRVU51UkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRmJFTXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUXpsQ0xFOUJRVThzU1VGQlNTeERRVUZETzBsQlEyUXNRMEZCUXp0SlFVVkVMR2RHUVVGblJqdEpRVU5vUml3clJFRkJLMFE3U1VGREwwUXNUVUZCVFN4RFFVRkRMRXRCUVdVc1JVRkJSU3hOUVVGTkxFZEJRVWNzU1VGQlNUdFJRVU51UXl4SlFVRkpMRWxCUVVrc1EwRkJReXhQUVVGUExFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVODdXVUZETDBJc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhEUVVGRE8xRkJSVE5ETEUxQlFVMHNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU03VVVGRE9VSXNTMEZCU3l4SlFVRkpMRWxCUVVrc1IwRkJSeXhEUVVGRExFVkJRVVVzU1VGQlNTeEhRVUZITEVkQlFVY3NSVUZCUlN4SlFVRkpMRVZCUVVVN1dVRkRia01zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkZla01zU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlF6bENMRTlCUVU4c1NVRkJTU3hEUVVGRE8wbEJRMlFzUTBGQlF6dEpRVVZFTEdkR1FVRm5SanRKUVVOb1Jpd3JSRUZCSzBRN1NVRkRMMFFzVFVGQlRTeERRVUZETEV0QlFXVXNSVUZCUlN4TlFVRk5MRWRCUVVjc1NVRkJTVHRSUVVOdVF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4UFFVRlBMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVTg3V1VGREwwSXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4RFFVRkRPMUZCUlRORExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRVZCUVVVc1EwRkJReXhGUVVGRk8xbEJRMjVFTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJSWEJFTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0UlFVTTVRaXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkN4blJFRkJaMFE3U1VGRGFFUXNSMEZCUnl4RFFVRkRMRTFCUVUwc1IwRkJSeXhKUVVGSk8xRkJRMllzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hEUVVGRExFVkJRVVU3V1VGRGJrUXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRmFrTXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUXpsQ0xFOUJRVThzU1VGQlNTeERRVUZETzBsQlEyUXNRMEZCUXp0SlFVVkVMREpGUVVFeVJUdEpRVU16UlN3clJFRkJLMFE3U1VGREwwUXNSVUZCUlN4RFFVRkRMRXRCUVdVc1JVRkJSU3hOUVVGTkxFZEJRVWNzU1VGQlNUdFJRVU12UWl4SlFVRkpMRWxCUVVrc1EwRkJReXhQUVVGUExFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVODdXVUZETDBJc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhEUVVGRE8xRkJSVE5ETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVRkZMRU5CUVVNc1IwRkJSeXhIUVVGSExFVkJRVVVzUTBGQlF5eEZRVUZGTzFsQlEyNUVMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVZzUXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRPVUlzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWkN4RFFVRkRPMGxCUlVRc2NVWkJRWEZHTzBsQlEzSkdMQ3RFUVVFclJEdEpRVU12UkN4SFFVRkhMRU5CUVVNc1MwRkJaU3hGUVVGRkxFMUJRVTBzUjBGQlJ5eEpRVUZKTzFGQlEyaERMRWxCUVVrc1NVRkJTU3hEUVVGRExFOUJRVThzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHp0WlFVTXZRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEhWQ1FVRjFRaXhEUVVGRExFTkJRVU03VVVGRk0wTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVTdXVUZEYmtRc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJXeERMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVNNVFpeFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmtMRU5CUVVNN1NVRkZSQ3h2UmtGQmIwWTdTVUZEY0VZc1VVRkJVU3hEUVVGRExFZEJRVmNzUlVGQlJTeERRVUZUTEVWQlFVVXNTVUZCU1N4SFFVRkhMRXRCUVVzN1VVRkRNME1zU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkZhRVFzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXp0WlFVRkZMRTlCUVU4N1VVRkZia0lzWjBKQlFXZENPMUZCUTJoQ0xIVkVRVUYxUkR0UlFVVjJSQ3hwUWtGQmFVSTdVVUZEYWtJc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXp0UlFVTXZRaXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRmFrTXNaMFJCUVdkRU8xRkJSV2hFTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1UwRkJVeXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVsQlFVa3NSMEZCUnl4RlFVRkZMRU5CUVVNc1JVRkJSVHRaUVVOMlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJSWEpETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1IwRkJSeXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSVHRaUVVOb1F5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVVYyUWl4bFFVRmxPMGxCUTJwQ0xFTkJRVU03U1VGRlJDeHJSa0ZCYTBZN1NVRkRiRVlzZFVKQlFYVkNPMGxCUTNaQ0xGRkJRVkVzUTBGQlF5eEhRVUZYTEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNN1VVRkRla0lzZDBSQlFYZEVPMUZCUTNoRUxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTTdXVUZEVUN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExITkNRVUZ6UWl4RFFVRkRMRU5CUVVNN1VVRkZNVU1zU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVkQlFVY3NRMEZCUXl4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJSWEJFTEVsQlFVa3NTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJUdFpRVU4yUWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTzJkQ1FVTjZReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMU5CUTNSRE8xRkJSVVFzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEyNURMRU5CUVVNN1NVRkZSQ3haUVVGWkxFTkJRVU1zU1VGQll5eEZRVUZGTEVsQlFVa3NSMEZCUnl4SlFVRkpPMUZCUTNSRExFbEJRVWtzU1VGQlNTeERRVUZETEU5QlFVOHNTVUZCU1N4SlFVRkpMRU5CUVVNc1RVRkJUVHRaUVVNM1FpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMSFZDUVVGMVFpeERRVUZETEVOQlFVTTdVVUZGTTBNc1NVRkJTU3hKUVVGSkxFbEJRVWtzU1VGQlNTeEZRVUZGTEVWQlFVVXNjVUpCUVhGQ08xbEJRM1pETEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRkRU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xTkJRM0JDTzJGQlFVMDdXVUZEVEN4SlFVRkpMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRlppeExRVUZMTEVsQlFVa3NUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1owSkJRMnBGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVVVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJSVGxETEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1RVRkJUU3hEUVVGRE8xbEJRM1JDTEVsQlFVa3NRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJRenRUUVVOcVFqdFJRVVZFTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxDdENRVUVyUWp0SlFVTXZRaXhOUVVGTkxFTkJRVU1zUjBGQlZ6dFJRVU5vUWl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRla1VzUTBGQlF6dEpRVVZFTEN0Q1FVRXJRanRKUVVNdlFpeE5RVUZOTEVOQlFVTXNSMEZCVnl4RlFVRkZMRWRCUVZrc1JVRkJSU3hOUVVGTkxFZEJRVWNzU1VGQlNUdFJRVU0zUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTjJRaXhKUVVGSkxFMUJRVTA3V1VGRFVpeEpRVUZKTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNN08xbEJSV2hDTEVsQlFVa3NRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJRenRKUVVOd1FpeERRVUZETzBsQlJVUXNhVVpCUVdsR08wbEJRMnBHTEU5QlFVOHNRMEZCUXl4RFFVRlRMRVZCUVVVc1MwRkJZenRSUVVNdlFpeEpRVUZKTEV0QlFVczdXVUZEVUN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRE96dFpRVVZ3UkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlF6TkVMRU5CUVVNN1NVRkZSQ3hQUVVGUExFTkJRVU1zUjBGQlZ6dFJRVU5xUWl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRekZFTEVOQlFVTTdTVUZGUkN4UlFVRlJMRU5CUVVNc1IwRkJWenRSUVVOc1FpeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRemRFTEVOQlFVTTdTVUZGUkN4VFFVRlRPMUZCUTFBc1QwRkJUeXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpsQ0xFTkJRVU03U1VGRlJDeFZRVUZWTzFGQlExSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzBsQlF5OUNMRU5CUVVNN1NVRkZSQ3gxUTBGQmRVTTdTVUZEZGtNc1UwRkJVeXhEUVVGRExFdEJRV003VVVGRGRFSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1QwRkJUeXhKUVVGSkxFTkJRVU03V1VGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVVm9ReXhKUVVGSkxFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1NVRkJTU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEZRVUZGTzFsQlF5OURMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzaENMRTFCUVUwc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTTdXVUZET1VJc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlExWXNUMEZCVHl4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkRka0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeEZRVUZGTERSQ1FVRTBRanR2UWtGRE1VVXNTVUZCU1N4RFFVRkRMR05CUVdNc1NVRkJTU3hSUVVGUkxFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJRenRwUWtGRGRrUTdZVUZEUmp0WlFVVkVMR2RDUVVGblFqdFpRVU5vUWl4SlFVRkpMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTNSQ0xFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRE8xbEJRekZETEVsQlFVa3NZVUZCWVN4SlFVRkpMRU5CUVVNc1JVRkJSU3g1UmtGQmVVWTdaMEpCUXk5SExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4VlFVRlZMRU5CUVVNc1NVRkJTU3hoUVVGaExFTkJRVU1zUTBGQlF6dFpRVVY0UXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTTdaMEpCUTNKQ0xFbEJRVWtzUTBGQlF5eGpRVUZqTEVsQlFVa3NVVUZCVVN4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTTdXVUZGZUVRc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4SFFVRkhMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU03VTBGRE5VTTdVVUZGUkN4UFFVRlBMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJRenRKUVVNMVJTeERRVUZETzBsQlJVUXNNa1JCUVRKRU8wbEJRek5FTEZWQlFWVXNRMEZCUXl4TFFVRmxPMUZCUTNoQ0xFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTm1MRWxCUVVrc1NVRkJTU3hEUVVGRExGTkJRVk1zUlVGQlJTeEpRVUZKTEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVN1dVRkRjRU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXl4RlFVRkZPMmRDUVVOdVF5eE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRUUVVNNVFqdGhRVUZOTzFsQlEwd3NTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRuUWtGRGFrUXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VTBGRE9VSTdVVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRKUVVOb1FpeERRVUZETzBsQlJVUXNNa1pCUVRKR08wbEJRek5HTEdkQ1FVRm5RaXhEUVVGRExFMUJRV2RDTEVWQlFVVXNTMEZCWXp0UlFVTXZReXhKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVsQlFVa3NRMEZCUXp0WlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJSV2hETEVsQlFVa3NTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOa0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNN1VVRkRPVUlzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTFZc1QwRkJUeXhEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOMlFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1RVRkJUU3hEUVVGRE8yZENRVU0xUkN4TFFVRkxMRWxCUVVrc1VVRkJVU3hEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1UwRkRNME03VVVGRlJDeG5Ra0ZCWjBJN1VVRkRhRUlzU1VGQlNTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM2hETEUxQlFVMHNZVUZCWVN4SFFVRkhMRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETzFGQlF6RkRMRWxCUVVrc1lVRkJZU3hKUVVGSkxFTkJRVU03V1VGRGNFSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExGVkJRVlVzUTBGQlF5eEpRVUZKTEdGQlFXRXNRMEZCUXl4RFFVRkRPMUZCUTNoRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRMRTFCUVUwc1EwRkJRenRaUVVOeVFpeExRVUZMTEVsQlFVa3NVVUZCVVN4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTTdVVUZGTVVNc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRPMGxCUTJoRUxFTkJRVU03U1VGRlJDeExRVUZMTzFGQlEwZ3NTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU53UWl4RFFVRkRPMGxCUlVRc1VVRkJVU3hEUVVGRExFdEJRV003VVVGRGNrSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRKUVVOMlF5eERRVUZETzBsQlJVUXNTVUZCU1N4UFFVRlBPMUZCUTFRc1QwRkJUeXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU03U1VGRE9VTXNRMEZCUXp0SlFVVkVMRWxCUVVrc1VVRkJVVHRSUVVOV0xFOUJRVThzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETzBsQlF5OURMRU5CUVVNN1NVRkZSQ3hKUVVGSkxFOUJRVTg3VVVGRFZDeFBRVUZQTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlEyeERMRU5CUVVNN1NVRkZSQ3hKUVVGSkxGRkJRVkU3VVVGRFZpeFBRVUZQTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlEyNURMRU5CUVVNN1NVRkZSQ3h6UjBGQmMwYzdTVUZEZEVjc01FTkJRVEJETzBsQlF6RkRMRkZCUVZFc1EwRkJReXhMUVVGaExFVkJRVVVzUzBGQlN5eEhRVUZITEVsQlFVazdVVUZEYkVNc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVVnlSQ3hKUVVGSkxFdEJRVXNzU1VGQlNTeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRU5CUVVNN1dVRkJSU3hQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzcERMRXRCUVVzc1IwRkJSeXhMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4aFFVRmhPMUZCUTJoRUxFbEJRVWtzVlVGQlZTeEhRVUZITEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkRPVUlzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJRenRSUVVWc1F5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eEhRVUZITEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZEY2tRc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1dVRkJXVHRaUVVNNVJDeEpRVUZKTEZWQlFWVXNTVUZCU1N4RFFVRkRMRVZCUVVVN1owSkJRMjVDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1ZVRkJWU3hKUVVGSkxGVkJRVlVzUTBGQlF5eEhRVUZITEZWQlFWVXNRMEZCUXl4RFFVRkRPMmRDUVVNdlF5eFZRVUZWTEVkQlFVY3NRMEZCUXl4RFFVRkRPMkZCUTJoQ08ybENRVUZOTEVsQlFVa3NRMEZCUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVlVGQlZTeEZRVUZGTEhsRFFVRjVReXhEUVVGQk8yZENRVU01UlN4VFFVRlRPMkZCUTFZN1dVRkZSQ3hMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSVHRuUWtGRGVFTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1VVRkJVU3hEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1owSkJRM3BETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSVHR2UWtGRFZpeExRVUZMTEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0dlFrRkRla0lzU1VGQlNTeExRVUZMTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTlCUVU4N2QwSkJRVVVzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkRja01zVDBGQlR5eExRVUZMTEVOQlFVTTdhVUpCUTJRN1lVRkRSanRUUVVOR08xRkJRMFFzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTmFMRU5CUVVNN1NVRkZSQ3cwUkVGQk5FUTdTVUZETlVRc1VVRkJVU3hEUVVGRExFdEJRV0VzUlVGQlJTeExRVUZMTEVkQlFVY3NTVUZCU1R0UlFVTnNReXhKUVVGSkxFdEJRVXNzU1VGQlNTeERRVUZETzFsQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVNeFFpeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJSWEpFTEV0QlFVc3NSMEZCUnl4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMR0ZCUVdFN1VVRkZMMFFzVFVGQlRTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTTdVVUZETlVNc1NVRkJTU3hoUVVGaExFZEJRVWNzUTBGQlF5eExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRE8xRkJSWFpETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1ZVRkJWU3hGUVVGRkxFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkRjRU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR6dFpRVU42UkN4SlFVRkpMR0ZCUVdFc1NVRkJTU3hEUVVGRExFVkJRVVU3WjBKQlEzUkNMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNTVUZCU1N4aFFVRmhMRU5CUVVNc1EwRkJRenRuUWtGRGRFTXNZVUZCWVN4SFFVRkhMRU5CUVVNc1EwRkJRenRoUVVOdVFqdFpRVU5FTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRExFdEJRVXNzUTBGQlF5eEZRVUZGTzJkQ1FVTjRReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eFJRVUZSTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zUTBGQlF6dG5Ra0ZETVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF6dHZRa0ZEVWl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1lVRkRNMEk3VTBGRFJqdFJRVU5FTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRXaXhEUVVGRE96dEJRWEoxUWswc2IwSkJRVmNzUjBGQlJ5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRPMGxCUTJ4RExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTTdTVUZET1VNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF6dEpRVU01UXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRE8wbEJRemxETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNN1NVRkRPVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXp0SlFVTTVReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETzBsQlF6bERMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU03U1VGRE9VTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJRenRKUVVNNVF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRPMGxCUXpsRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTTdTVUZET1VNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF6dEpRVU01UXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRE8wbEJRemxETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNN1NVRkRPVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXp0SlFVTTVReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETzBsQlF6bERMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU03UTBGQlF5eERRVUZETEVOQlFVTTdRVUZGTlVNc2IwSkJRVmNzUjBGQlJ5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRPMGxCUTJ4RExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXp0SlFVTXZReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETzBsQlF6bERMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU03U1VGRE9VTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJRenRKUVVNNVF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRPMGxCUXpsRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTTdTVUZET1VNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF6dEpRVU01UXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRE8wbEJRemxETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNN1NVRkRPVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXp0SlFVTTVReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETzBsQlF6bERMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU03U1VGRE9VTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJRenRKUVVNNVF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRPMGxCUXpsRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTTdTVUZET1VNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF6dERRVUZETEVOQlFVTXNRMEZCUXp0QlFVVTFReXh0UWtGQlZTeEhRVUZITEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNN1NVRkRha01zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRPMGxCUXk5RExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTTdTVUZET1VNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF6dEpRVU01UXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRE8wbEJRemxETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNN1NVRkRPVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXp0SlFVTTVReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETzBsQlF6bERMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU03U1VGRE9VTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJRenRKUVVNNVF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRPMGxCUXpsRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTTdTVUZET1VNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF6dEpRVU01UXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRE8wbEJRemxETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNN1NVRkRPVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXp0SlFVTTVReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETzBOQlFVTXNRMEZCUXl4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWlhod2IzSjBJR1JsWm1GMWJIUWdZMnhoYzNNZ1FtbDBRWEp5WVhrZ2UxeHVJQ0J6ZEdGMGFXTWdYMjl1UW1sMFEyOTFiblFnUFNCSmJuUTRRWEp5WVhrdVpuSnZiU2hiWEc0Z0lDQWdNQ3dnTVN3Z01Td2dNaXdnTVN3Z01pd2dNaXdnTXl3Z01Td2dNaXdnTWl3Z015d2dNaXdnTXl3Z015d2dOQ3hjYmlBZ0lDQXhMQ0F5TENBeUxDQXpMQ0F5TENBekxDQXpMQ0EwTENBeUxDQXpMQ0F6TENBMExDQXpMQ0EwTENBMExDQTFMRnh1SUNBZ0lERXNJRElzSURJc0lETXNJRElzSURNc0lETXNJRFFzSURJc0lETXNJRE1zSURRc0lETXNJRFFzSURRc0lEVXNYRzRnSUNBZ01pd2dNeXdnTXl3Z05Dd2dNeXdnTkN3Z05Dd2dOU3dnTXl3Z05Dd2dOQ3dnTlN3Z05Dd2dOU3dnTlN3Z05peGNiaUFnSUNBeExDQXlMQ0F5TENBekxDQXlMQ0F6TENBekxDQTBMQ0F5TENBekxDQXpMQ0EwTENBekxDQTBMQ0EwTENBMUxGeHVJQ0FnSURJc0lETXNJRE1zSURRc0lETXNJRFFzSURRc0lEVXNJRE1zSURRc0lEUXNJRFVzSURRc0lEVXNJRFVzSURZc1hHNGdJQ0FnTWl3Z015d2dNeXdnTkN3Z015d2dOQ3dnTkN3Z05Td2dNeXdnTkN3Z05Dd2dOU3dnTkN3Z05Td2dOU3dnTml4Y2JpQWdJQ0F6TENBMExDQTBMQ0ExTENBMExDQTFMQ0ExTENBMkxDQTBMQ0ExTENBMUxDQTJMQ0ExTENBMkxDQTJMQ0EzTEZ4dUlDQWdJREVzSURJc0lESXNJRE1zSURJc0lETXNJRE1zSURRc0lESXNJRE1zSURNc0lEUXNJRE1zSURRc0lEUXNJRFVzWEc0Z0lDQWdNaXdnTXl3Z015d2dOQ3dnTXl3Z05Dd2dOQ3dnTlN3Z015d2dOQ3dnTkN3Z05Td2dOQ3dnTlN3Z05Td2dOaXhjYmlBZ0lDQXlMQ0F6TENBekxDQTBMQ0F6TENBMExDQTBMQ0ExTENBekxDQTBMQ0EwTENBMUxDQTBMQ0ExTENBMUxDQTJMRnh1SUNBZ0lETXNJRFFzSURRc0lEVXNJRFFzSURVc0lEVXNJRFlzSURRc0lEVXNJRFVzSURZc0lEVXNJRFlzSURZc0lEY3NYRzRnSUNBZ01pd2dNeXdnTXl3Z05Dd2dNeXdnTkN3Z05Dd2dOU3dnTXl3Z05Dd2dOQ3dnTlN3Z05Dd2dOU3dnTlN3Z05peGNiaUFnSUNBekxDQTBMQ0EwTENBMUxDQTBMQ0ExTENBMUxDQTJMQ0EwTENBMUxDQTFMQ0EyTENBMUxDQTJMQ0EyTENBM0xGeHVJQ0FnSURNc0lEUXNJRFFzSURVc0lEUXNJRFVzSURVc0lEWXNJRFFzSURVc0lEVXNJRFlzSURVc0lEWXNJRFlzSURjc1hHNGdJQ0FnTkN3Z05Td2dOU3dnTml3Z05Td2dOaXdnTml3Z055d2dOU3dnTml3Z05pd2dOeXdnTml3Z055d2dOeXdnT0YwcE8xeHVYRzRnSUhOMFlYUnBZeUJmWm1seWMzUlBia0pwZENBOUlFbHVkRGhCY25KaGVTNW1jbTl0S0Z0Y2JpQWdJQ0F0TVN3Z01Dd2dNU3dnTUN3Z01pd2dNQ3dnTVN3Z01Dd2dNeXdnTUN3Z01Td2dNQ3dnTWl3Z01Dd2dNU3dnTUN4Y2JpQWdJQ0EwTENBd0xDQXhMQ0F3TENBeUxDQXdMQ0F4TENBd0xDQXpMQ0F3TENBeExDQXdMQ0F5TENBd0xDQXhMQ0F3TEZ4dUlDQWdJRFVzSURBc0lERXNJREFzSURJc0lEQXNJREVzSURBc0lETXNJREFzSURFc0lEQXNJRElzSURBc0lERXNJREFzWEc0Z0lDQWdOQ3dnTUN3Z01Td2dNQ3dnTWl3Z01Dd2dNU3dnTUN3Z015d2dNQ3dnTVN3Z01Dd2dNaXdnTUN3Z01Td2dNQ3hjYmlBZ0lDQTJMQ0F3TENBeExDQXdMQ0F5TENBd0xDQXhMQ0F3TENBekxDQXdMQ0F4TENBd0xDQXlMQ0F3TENBeExDQXdMRnh1SUNBZ0lEUXNJREFzSURFc0lEQXNJRElzSURBc0lERXNJREFzSURNc0lEQXNJREVzSURBc0lESXNJREFzSURFc0lEQXNYRzRnSUNBZ05Td2dNQ3dnTVN3Z01Dd2dNaXdnTUN3Z01Td2dNQ3dnTXl3Z01Dd2dNU3dnTUN3Z01pd2dNQ3dnTVN3Z01DeGNiaUFnSUNBMExDQXdMQ0F4TENBd0xDQXlMQ0F3TENBeExDQXdMQ0F6TENBd0xDQXhMQ0F3TENBeUxDQXdMQ0F4TENBd0xGeHVJQ0FnSURjc0lEQXNJREVzSURBc0lESXNJREFzSURFc0lEQXNJRE1zSURBc0lERXNJREFzSURJc0lEQXNJREVzSURBc1hHNGdJQ0FnTkN3Z01Dd2dNU3dnTUN3Z01pd2dNQ3dnTVN3Z01Dd2dNeXdnTUN3Z01Td2dNQ3dnTWl3Z01Dd2dNU3dnTUN4Y2JpQWdJQ0ExTENBd0xDQXhMQ0F3TENBeUxDQXdMQ0F4TENBd0xDQXpMQ0F3TENBeExDQXdMQ0F5TENBd0xDQXhMQ0F3TEZ4dUlDQWdJRFFzSURBc0lERXNJREFzSURJc0lEQXNJREVzSURBc0lETXNJREFzSURFc0lEQXNJRElzSURBc0lERXNJREFzWEc0Z0lDQWdOaXdnTUN3Z01Td2dNQ3dnTWl3Z01Dd2dNU3dnTUN3Z015d2dNQ3dnTVN3Z01Dd2dNaXdnTUN3Z01Td2dNQ3hjYmlBZ0lDQTBMQ0F3TENBeExDQXdMQ0F5TENBd0xDQXhMQ0F3TENBekxDQXdMQ0F4TENBd0xDQXlMQ0F3TENBeExDQXdMRnh1SUNBZ0lEVXNJREFzSURFc0lEQXNJRElzSURBc0lERXNJREFzSURNc0lEQXNJREVzSURBc0lESXNJREFzSURFc0lEQXNYRzRnSUNBZ05Dd2dNQ3dnTVN3Z01Dd2dNaXdnTUN3Z01Td2dNQ3dnTXl3Z01Dd2dNU3dnTUN3Z01pd2dNQ3dnTVN3Z01GMHBPMXh1WEc0Z0lITjBZWFJwWXlCZmJHRnpkRTl1UW1sMElEMGdTVzUwT0VGeWNtRjVMbVp5YjIwb1cxeHVJQ0FnSUMweExDQXdMQ0F4TENBeExDQXlMQ0F5TENBeUxDQXlMQ0F6TENBekxDQXpMQ0F6TENBekxDQXpMQ0F6TENBekxGeHVJQ0FnSURRc0lEUXNJRFFzSURRc0lEUXNJRFFzSURRc0lEUXNJRFFzSURRc0lEUXNJRFFzSURRc0lEUXNJRFFzSURRc1hHNGdJQ0FnTlN3Z05Td2dOU3dnTlN3Z05Td2dOU3dnTlN3Z05Td2dOU3dnTlN3Z05Td2dOU3dnTlN3Z05Td2dOU3dnTlN4Y2JpQWdJQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFMQ0ExTEZ4dUlDQWdJRFlzSURZc0lEWXNJRFlzSURZc0lEWXNJRFlzSURZc0lEWXNJRFlzSURZc0lEWXNJRFlzSURZc0lEWXNJRFlzWEc0Z0lDQWdOaXdnTml3Z05pd2dOaXdnTml3Z05pd2dOaXdnTml3Z05pd2dOaXdnTml3Z05pd2dOaXdnTml3Z05pd2dOaXhjYmlBZ0lDQTJMQ0EyTENBMkxDQTJMQ0EyTENBMkxDQTJMQ0EyTENBMkxDQTJMQ0EyTENBMkxDQTJMQ0EyTENBMkxDQTJMRnh1SUNBZ0lEWXNJRFlzSURZc0lEWXNJRFlzSURZc0lEWXNJRFlzSURZc0lEWXNJRFlzSURZc0lEWXNJRFlzSURZc0lEWXNYRzRnSUNBZ055d2dOeXdnTnl3Z055d2dOeXdnTnl3Z055d2dOeXdnTnl3Z055d2dOeXdnTnl3Z055d2dOeXdnTnl3Z055eGNiaUFnSUNBM0xDQTNMQ0EzTENBM0xDQTNMQ0EzTENBM0xDQTNMQ0EzTENBM0xDQTNMQ0EzTENBM0xDQTNMQ0EzTENBM0xGeHVJQ0FnSURjc0lEY3NJRGNzSURjc0lEY3NJRGNzSURjc0lEY3NJRGNzSURjc0lEY3NJRGNzSURjc0lEY3NJRGNzSURjc1hHNGdJQ0FnTnl3Z055d2dOeXdnTnl3Z055d2dOeXdnTnl3Z055d2dOeXdnTnl3Z055d2dOeXdnTnl3Z055d2dOeXdnTnl4Y2JpQWdJQ0EzTENBM0xDQTNMQ0EzTENBM0xDQTNMQ0EzTENBM0xDQTNMQ0EzTENBM0xDQTNMQ0EzTENBM0xDQTNMQ0EzTEZ4dUlDQWdJRGNzSURjc0lEY3NJRGNzSURjc0lEY3NJRGNzSURjc0lEY3NJRGNzSURjc0lEY3NJRGNzSURjc0lEY3NJRGNzWEc0Z0lDQWdOeXdnTnl3Z055d2dOeXdnTnl3Z055d2dOeXdnTnl3Z055d2dOeXdnTnl3Z055d2dOeXdnTnl3Z055d2dOeXhjYmlBZ0lDQTNMQ0EzTENBM0xDQTNMQ0EzTENBM0xDQTNMQ0EzTENBM0xDQTNMQ0EzTENBM0xDQTNMQ0EzTENBM0xDQTNYU2s3WEc1Y2JpQWdjSEpwZG1GMFpTQmZaR0YwWVRvZ1ZXbHVkRE15UVhKeVlYazdYRzRnSUhCeWFYWmhkR1VnWDJ4bGJtZDBhQ0E5SURBN1hHNGdJSEJ5YVhaaGRHVWdYM1psY25OcGIyNGdQU0F3TzF4dUlDQndjbWwyWVhSbElGOTFjR1JoZEdWTVpYWmxiQ0E5SURBN1hHNGdJSEJ5YVhaaGRHVWdYM05sYkdWamRHVmtRMjkxYm5RZ1BTQXdPMXh1SUNCd2NtbDJZWFJsSUY5elpXeGxZM1JsWkVOdmRXNTBWbVZ5YzJsdmJpQTlJQzB4TzF4dUlDQndjbWwyWVhSbElGOXpaV3hsWTNSbFpFbHVaR1Y0WlhOV1pYSnphVzl1SUQwZ0xURTdYRzRnSUhCeWFYWmhkR1VnWDNabGNuTnBiMjVsWkU1aGJXVWdQU0FuSnp0Y2JpQWdjSEpwZG1GMFpTQmZkbVZ5YzJsdmJtVmtUbUZ0WlZabGNuTnBiMjRnUFNBdE1UdGNiaUFnVTBoU1NVNUxYMVJJVWtWVFNFOU1SQ0E5SURCNE1UQXdPMXh1WEc0Z0lHTnZibk4wY25WamRHOXlLR1JoZEdFNklGVnBiblF6TWtGeWNtRjVMQ0JzWlc1bmRHZzZJRzUxYldKbGNpbGNiaUFnWTI5dWMzUnlkV04wYjNJb2JHVnVaM1JvT2lCdWRXMWlaWElzSUdSbFptRjFiSFJXWVd4MVpUODZJR0p2YjJ4bFlXNHBYRzRnSUdOdmJuTjBjblZqZEc5eUtHRnlaem9nYm5WdFltVnlJSHdnVldsdWRETXlRWEp5WVhrc0lHUmxabUYxYkhSV1lXeDFaVG9nWW05dmJHVmhiaUI4SUc1MWJXSmxjaUE5SUdaaGJITmxLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJoY21jZ1BUMDlJQ2R1ZFcxaVpYSW5LU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnNaVzVuZEdnZ1BTQmhjbWM3WEc0Z0lDQWdJQ0JqYjI1emRDQmlkV1ptSUQwZ1FtbDBRWEp5WVhrdVgyTnlaV0YwWlVKMVptWmxjaWhzWlc1bmRHZ3BPMXh1SUNBZ0lDQWdhV1lnS0dSbFptRjFiSFJXWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdKMVptWXViR1Z1WjNSb095QnBLeXNwWEc0Z0lDQWdJQ0FnSUNBZ1luVm1abHRwWFNBOUlDMHhPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdkR2hwY3k1ZlpHRjBZU0E5SUdKMVptWTdYRzRnSUNBZ0lDQjBhR2x6TGw5c1pXNW5kR2dnUFNCc1pXNW5kR2c3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hoY21jZ2FXNXpkR0Z1WTJWdlppQlZhVzUwTXpKQmNuSmhlU2tnZTF4dUlDQWdJQ0FnZEdocGN5NWZaR0YwWVNBOUlHRnlaeUJoY3lCVmFXNTBNekpCY25KaGVUdGNiaUFnSUNBZ0lIUm9hWE11WDJ4bGJtZDBhQ0E5SUdSbFptRjFiSFJXWVd4MVpTQmhjeUJ1ZFcxaVpYSTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduU1c1MllXeHBaQ0JqYjI1emRISjFZM1J2Y2ljcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc1Y2JpQWdaMlYwVW1GM1JHRjBZU2dwSUhzZ2NtVjBkWEp1SUhSb2FYTXVYMlJoZEdFN0lIMWNibHh1SUNCaGMzTjFjbVZIYjJWNktHNTFiVG9nYm5WdFltVnlMQ0JoY21kT1lXMWxPaUJUZEhKcGJtY3BPaUIyYjJsa0lIdGNiaUFnSUNCcFppQW9iblZ0SUR3Z01Da2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQWtlMkZ5WjA1aGJXVjlJSE5vYjNWc1pDQmlaU0JuY21WaGRHVnlJSFJvWVc0Z2VtVnliMkFwTzF4dUlDQjlYRzVjYmlBZ1lYTnpkWEpsU1c1U1lXNW5aU2gyWVd4MVpUb2diblZ0WW1WeUxDQnRhVzQ2SUc1MWJXSmxjaXdnYldGNE9pQnVkVzFpWlhJc0lHRnlaMDVoYldVNklGTjBjbWx1WnlrNklIWnZhV1FnZTF4dUlDQWdJR2xtSUNnb2RtRnNkV1VnUENCdGFXNHBJSHg4SUNoMllXeDFaU0ErSUcxaGVDa3BYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lFRnlaM1Z0Wlc1MElDUjdZWEpuVG1GdFpYMGdLQ1I3ZG1Gc2RXVjlLU0J2ZFhRZ2IyWWdjbUZ1WjJVZ0tDUjdiV2x1ZlN3Z0pIdHRZWGg5S1dBcE8xeHVJQ0I5WEc1Y2JpQWdZMjl3ZVNoemNtTTZJRlZwYm5Rek1rRnljbUY1TENCa2MzUTZJRlZwYm5Rek1rRnljbUY1TENCamIzVnVkRG9nYm5WdFltVnlLVG9nZG05cFpDQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQmpiM1Z1ZERzZ2FTc3JLVnh1SUNBZ0lDQWdaSE4wVzJsZElEMGdjM0pqVzJsZE8xeHVJQ0I5WEc1Y2JpQWdZMjl3ZVVaeWIyMG9iM1JvWlhJNklFSnBkRUZ5Y21GNUtUb2dkbTlwWkNCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11WDJ4bGJtZDBhQ0FoUFNCdmRHaGxjaTVmYkdWdVozUm9LVnh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQk1aVzVuZEdoeklHUnBabVpsY2lBb0pIdDBhR2x6TGw5c1pXNW5kR2g5SUNFOUlDUjdiM1JvWlhJdVgyeGxibWQwYUgwcFlDazdYRzRnSUNBZ2RHaHBjeTVqYjNCNUtHOTBhR1Z5TGw5a1lYUmhMQ0IwYUdsekxsOWtZWFJoTENCMGFHbHpMbXhsYm1kMGFFbHVTVzUwY3lrN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YzJsdmJpc3JPMXh1SUNCOVhHNWNiaUFnWjJWMElHeGxibWQwYUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZiR1Z1WjNSb08xeHVJQ0I5WEc1Y2JpQWdaMlYwSUdKMVptWmxjaWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHRjBZVHRjYmlBZ2ZWeHVYRzRnSUhObGRDQmlkV1ptWlhJb1pHRjBZVG9nVldsdWRETXlRWEp5WVhrcElIdGNiaUFnSUNCMGFHbHpMbDlrWVhSaElEMGdaR0YwWVR0Y2JpQWdJQ0IwYUdsekxsOTJaWEp6YVc5dUt5czdYRzRnSUgxY2JseHVJQ0JuWlhRZ2RtVnljMmx2YmlncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkbVZ5YzJsdmJqdGNiaUFnZlZ4dVhHNGdJSE5sZENCMlpYSnphVzl1S0haaGJIVmxPaUJ1ZFcxaVpYSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnphVzl1SUQwZ2RtRnNkV1U3WEc0Z0lIMWNibHh1SUNCcGJtTnlaVzFsYm5SV1pYSnphVzl1S0c1dmRHbG1lU0E5SUhSeWRXVXBPaUIyYjJsa0lIdGNiaUFnSUNCMGFHbHpMbDkyWlhKemFXOXVLeXM3WEc0Z0lIMWNibHh1SUNCblpYUWdiR1Z1WjNSb1NXNUpiblJ6S0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJOWVhSb0xtWnNiMjl5S0NoMGFHbHpMbDlzWlc1bmRHZ2dLeUF3ZURGbUtTQXZJREI0TWpBcE8xeHVJQ0I5WEc1Y2JpQWdaMlYwSUhabGNuTnBiMjVsWkU1aGJXVW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNabGNuTnBiMjRnUFQwZ2RHaHBjeTVmZG1WeWMybHZibVZrVG1GdFpWWmxjbk5wYjI0Z1B5QjBhR2x6TGw5MlpYSnphVzl1WldST1lXMWxJRG9nSnljN1hHNGdJSDFjYmx4dUlDQnpaWFFnZG1WeWMybHZibVZrVG1GdFpTaHVZVzFsT2lCemRISnBibWNwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEp6YVc5dVpXUk9ZVzFsSUQwZ2JtRnRaVHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnphVzl1WldST1lXMWxWbVZ5YzJsdmJpQTlJSFJvYVhNdVgzWmxjbk5wYjI0N1hHNGdJSDFjYmx4dUlDQm5aWFFnYzJWc1ppZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZWeHVYRzRnSUhObGRFeGxibWQwYUNoMllXeDFaVG9nYm5WdFltVnlLVG9nZG05cFpDQjdYRzRnSUNBZ2FXWWdLSFpoYkhWbElEd2dNQ2xjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25jMmh2ZFd4a0lHSmxJRDQ5SURBbktUdGNibHh1SUNBZ0lHbG1JQ2gyWVd4MVpTQTlQU0IwYUdsekxsOXNaVzVuZEdncElISmxkSFZ5Ymp0Y2JpQWdJQ0JqYjI1emRDQnVTVzUwYzA1bFpXUmxaQ0E5SUUxaGRHZ3VabXh2YjNJb0tIWmhiSFZsSUNzZ01IZ3haaWtnTHlBd2VESXdLVHRjYmlBZ0lDQnBaaUFvS0c1SmJuUnpUbVZsWkdWa0lENGdkR2hwY3k1ZlpHRjBZUzVzWlc1bmRHZ3BJSHg4SUNnb2JrbHVkSE5PWldWa1pXUWdLeUIwYUdsekxsTklVa2xPUzE5VVNGSkZVMGhQVEVRcElEd2dkR2hwY3k1ZlpHRjBZUzVzWlc1bmRHZ3BLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnVaWGRFWVhSaElEMGdibVYzSUZWcGJuUXpNa0Z5Y21GNUtHNUpiblJ6VG1WbFpHVmtLVHRjYmlBZ0lDQWdJSFJvYVhNdVkyOXdlU2gwYUdsekxsOWtZWFJoTENCdVpYZEVZWFJoTENBb2JrbHVkSE5PWldWa1pXUWdQaUIwYUdsekxsOWtZWFJoTG14bGJtZDBhQ2tnUHlCMGFHbHpMbDlrWVhSaExteGxibWQwYUNBNklHNUpiblJ6VG1WbFpHVmtLVHRjYmlBZ0lDQWdJSFJvYVhNdVgyUmhkR0VnUFNCdVpYZEVZWFJoTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMllXeDFaU0ErSUhSb2FYTXVYMnhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVYMnhsYm1kMGFDQWxJREI0TWpBZ1BpQXdLVnh1SUNBZ0lDQWdJQ0IwYUdsekxsOWtZWFJoVzNSb2FYTXViR1Z1WjNSb1NXNUpiblJ6SUMwZ01WMGdKajBnS0RFZ1BEd2dLQ2gwYUdsekxsOXNaVzVuZEdnZ0pTQXdlREl3S1NBbUlEQjRNV1lwS1NBdElERTdYRzVjYmlBZ0lDQWdJSFJvYVhNdVgyUmhkR0V1Wm1sc2JDZ3dMQ0IwYUdsekxteGxibWQwYUVsdVNXNTBjeXdnYmtsdWRITk9aV1ZrWldRcE8xeHVJQ0FnSUgxY2JpQWdJQ0IwYUdsekxsOXNaVzVuZEdnZ1BTQjJZV3gxWlR0Y2JpQWdJQ0IwYUdsekxsOTJaWEp6YVc5dUt5czdYRzRnSUgxY2JseHVJQ0J6ZEdGMGFXTWdabkp2YlVGdVpDaHpaWFF4T2lCQ2FYUkJjbkpoZVN3Z2MyVjBNam9nUW1sMFFYSnlZWGtwT2lCQ2FYUkJjbkpoZVNCN1hHNGdJQ0FnYVdZZ0tITmxkREV1WDJ4bGJtZDBhQ0FoUFNCelpYUXlMbDlzWlc1bmRHZ3BYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lFeGxibWQwYUhNZ1pHbG1abVZ5SUNna2UzTmxkREV1WDJ4bGJtZDBhSDBnSVQwZ0pIdHpaWFF5TGw5c1pXNW5kR2g5S1dBcE8xeHVYRzRnSUNBZ1kyOXVjM1FnZEdWdGNDQTlJRzVsZHlCQ2FYUkJjbkpoZVNoelpYUXhMbDlzWlc1bmRHZ3BPMXh1SUNBZ0lIUmxiWEF1WDJ4bGJtZDBhQ0E5SUhObGRERXVYMnhsYm1kMGFEdGNiaUFnSUNCMFpXMXdMbDlrWVhSaElEMGdRbWwwUVhKeVlYa3VYMk55WldGMFpVSjFabVpsY2loMFpXMXdMbDlzWlc1bmRHZ3BPMXh1SUNBZ0lIUmxiWEF1WDNabGNuTnBiMjRnUFNBd08xeHVYRzRnSUNBZ1kyOXVjM1FnYkdWdUlEMGdjMlYwTVM1c1pXNW5kR2hKYmtsdWRITTdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnNaVzQ3SUdrckt5bGNiaUFnSUNBZ0lIUmxiWEF1WDJSaGRHRmJhVjBnUFNCelpYUXhMbDlrWVhSaFcybGRJQ1lnYzJWME1pNWZaR0YwWVZ0cFhUdGNibHh1SUNBZ0lISmxkSFZ5YmlCMFpXMXdPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0J6ZEdGMGFXTWdYMk55WldGMFpVSjFabVpsY2loc1pXNW5kR2c2SUc1MWJXSmxjaWs2SUZWcGJuUXpNa0Z5Y21GNUlIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGVnBiblF6TWtGeWNtRjVLRTFoZEdndVpteHZiM0lvS0d4bGJtZDBhQ0FySURCNE1XWXBJQzhnTUhneU1Da3BPMXh1SUNCOVhHNWNiaUFnYzNSaGRHbGpJR1p5YjIxV1lXeDFaWE1vZG1Gc2RXVnpPaUJCY25KaGVUeGliMjlzWldGdVBpazZJRUpwZEVGeWNtRjVJSHRjYmlBZ0lDQmpiMjV6ZENCMFpXMXdJRDBnYm1WM0lFSnBkRUZ5Y21GNUtIWmhiSFZsY3k1c1pXNW5kR2dwTzF4dUlDQWdJSFJsYlhBdVgzWmxjbk5wYjI0Z1BTQXdPMXh1WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IwWlcxd0xsOXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnYVdZZ0tIWmhiSFZsYzF0cFhTbGNiaUFnSUNBZ0lDQWdkR1Z0Y0M1ZlpHRjBZVnROWVhSb0xtWnNiMjl5S0drZ0x5QXdlREl3S1YwZ2ZEMGdNU0E4UENBb0tHa2dKU0F3ZURJd0tTQW1JREI0TVdZcE8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR1Z0Y0R0Y2JpQWdmVnh1WEc0Z0lDOHZMeUJEYjI1emRISjFZM1J6SUdFZ1cwSnBkRk5sZEYwZ2IyWWdiR1Z1WjNSb0lGdGpiM1Z1ZEYwc0lIZG9aWEpsSUdsa2VDMTBhQ0JpYVhRZ2FYTWdaR1YwWlhKdGFXNWxaQ0JpZVNCaElHTmhiR3dnZEc4Z1cyWnNZV2RkSUNocFpIZ3BMbHh1SUNCemRHRjBhV01nWm5KdmJWTmxjU2hqYjNWdWREb2diblZ0WW1WeUxDQm1iR0ZuT2lCR2RXNWpkR2x2YmlrNklFSnBkRUZ5Y21GNUlIdGNiaUFnSUNCamIyNXpkQ0IwWlcxd0lEMGdibVYzSUVKcGRFRnljbUY1S0dOdmRXNTBLVHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR052ZFc1ME95QXJLMmtwWEc0Z0lDQWdJQ0IwWlcxd0xuTmxkRUpwZENocExDQm1iR0ZuS0drcEtUdGNibHh1SUNBZ0lIUmxiWEF1WDNabGNuTnBiMjRnUFNBd08xeHVJQ0FnSUhKbGRIVnliaUIwWlcxd08xeHVJQ0I5WEc1Y2JpQWdMeTh2SUVOdmJuTjBjblZqZEhNZ1lTQmJRbWwwVTJWMFhTQm1jbTl0SUdFZ2MzUnlhVzVuSUZ0elhTQmpiMjUwWVdsdWFXNW5JQ2N3SnlCdmNpQW5NU2N1WEc0Z0lITjBZWFJwWXlCbWNtOXRVM1J5YVc1bktITTZJSE4wY21sdVp5azZJRUpwZEVGeWNtRjVJSHRjYmlBZ0lDQnlaWFIxY200Z1FtbDBRWEp5WVhrdVpuSnZiVk5sY1NoekxteGxibWQwYUN3Z0tHazZJRzUxYldKbGNpa2dQVDRnY3k1amFHRnlRWFFvYVNrZ1BUMGdKekVuS1R0Y2JpQWdmVnh1WEc0Z0lDOHZMeUJEYjI1emRISjFZM1J6SUdFZ1cwSnBkRk5sZEYwc0lHSmhjMlZrSUc5dUlHeGxibWQwYUNCYlgyeGxibWQwYUYwZ1lXNWtJR0o1ZEdVZ1lYSnlZWGtnVzE5a1lYUmhYUzVjYmlBZ2MzUmhkR2xqSUdaeWIyMVZhVzUwTXpKQmNuSmhlU2hmYkdWdVozUm9PaUJ1ZFcxaVpYSXNJRjlrWVhSaE9pQlZhVzUwTXpKQmNuSmhlU2s2SUVKcGRFRnljbUY1SUh0Y2JpQWdJQ0JqYjI1emRDQjBaVzF3SUQwZ2JtVjNJRUpwZEVGeWNtRjVLRjlzWlc1bmRHZ3BPMXh1SUNBZ0lIUmxiWEF1WDJSaGRHRWdQU0JmWkdGMFlUdGNiaUFnSUNCeVpYUjFjbTRnZEdWdGNEdGNiaUFnZlZ4dVhHNGdJQzh2THlCRVpYTmxjbWxoYkdsNlpYTWdZU0JiUW1sMFUyVjBYU0JtY205dElGdGllWFJsYzEwdVhHNGdJSE4wWVhScFl5Qm1jbTl0UW5sMFpYTW9ZbmwwWlhNNklGVnBiblE0UVhKeVlYa3BPaUJDYVhSQmNuSmhlU0I3WEc0Z0lDQWdZMjl1YzNRZ2JHVnVJRDBnWW5sMFpYTXViR1Z1WjNSb08xeHVJQ0FnSUdOdmJuTjBJSFJsYlhBZ1BTQnVaWGNnUW1sMFFYSnlZWGtvYkdWdUlDb2dPQ2s3WEc0Z0lDQWdkR1Z0Y0M1ZlpHRjBZU0E5SUc1bGR5QlZhVzUwTXpKQmNuSmhlU2hOWVhSb0xtWnNiMjl5S0Noc1pXNGdLeUF6S1NBdklEUXBLVHRjYmlBZ0lDQjBaVzF3TGw5c1pXNW5kR2dnUFNCc1pXNGdLaUE0TzF4dUlDQWdJR3hsZENCdWRXMHhJRDBnTUR0Y2JpQWdJQ0JzWlhRZ2JuVnRNaUE5SURBN1hHNWNiaUFnSUNCM2FHbHNaU0FvS0d4bGJpQXRJRzUxYlRJcElENDlJRFFwSUh0Y2JpQWdJQ0FnSUhSbGJYQXVYMlJoZEdGYmJuVnRNU3NyWFNBOUlDaGNiaUFnSUNBZ0lDQWdLQ2hpZVhSbGMxdHVkVzB5WFNBbUlEQjRabVlwSUh3Z0tDaGllWFJsYzF0dWRXMHlJQ3NnTVYwZ0ppQXdlR1ptS1NBOFBDQTRLU2tnZkZ4dUlDQWdJQ0FnSUNBb0tHSjVkR1Z6VzI1MWJUSWdLeUF5WFNBbUlEQjRabVlwSUR3OElEQjRNVEFwWEc0Z0lDQWdJQ0FwSUh3Z0tDaGllWFJsYzF0dWRXMHlJQ3NnTTEwZ0ppQXdlR1ptS1NBOFBDQXdlREU0S1R0Y2JseHVJQ0FnSUNBZ2JuVnRNaUFyUFNBME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHNaVzRnTFNCdWRXMHlJRDA5SURNcFhHNGdJQ0FnSUNCMFpXMXdMbDlrWVhSaFcyNTFiVEZkSUQwZ0tHSjVkR1Z6VzI1MWJUSWdLeUF5WFNBbUlEQjRabVlwSUR3OElEQjRNVEE3WEc1Y2JpQWdJQ0JwWmlBb2JHVnVJQzBnYm5WdE1pQTlQU0F5S1Z4dUlDQWdJQ0FnZEdWdGNDNWZaR0YwWVZ0dWRXMHhYU0I4UFNBb1lubDBaWE5iYm5WdE1pQXJJREZkSUNZZ01IaG1aaWtnUER3Z09EdGNibHh1SUNBZ0lHbG1JQ2hzWlc0Z0xTQnVkVzB5SUQwOUlERXBYRzRnSUNBZ0lDQjBaVzF3TGw5a1lYUmhXMjUxYlRGZElIdzlJR0o1ZEdWelcyNTFiVEpkSUNZZ01IaG1aanRjYmx4dUlDQWdJSFJsYlhBdVgzWmxjbk5wYjI0Z1BTQXdPMXh1SUNBZ0lISmxkSFZ5YmlCMFpXMXdPMXh1SUNCOVhHNWNiaUFnZEc5VGRISnBibWNvS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0J5WlhSMWNtNGdZQ1I3ZEdocGN5NWZiR1Z1WjNSb2ZTQmlhWFJ6TENBa2UzUm9hWE11WTI5MWJuUkNhWFJ6S0hSeWRXVXBmU0J6WlhSZ08xeHVJQ0I5WEc1Y2JpQWdMeTh2SUZCbGNtWnZjbTF6SUdSbFpYQWdZMjl0Y0dGeWFYTnZiaUJ2WmlCMGQyOGdZbWwwYzJWMGN5NWNiaUFnWlhGMVlXeHpLRzkwYUdWeU9pQkNhWFJCY25KaGVTazZJR0p2YjJ4bFlXNGdlMXh1SUNBZ0lHbG1JQ2gwYUdseklEMDlJRzkwYUdWeUtTQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQnBaaUFvYjNSb1pYSWdQVDBnYm5Wc2JDa2djbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJR2xtSUNoMGFHbHpMbDlzWlc1bmRHZ2dJVDBnYjNSb1pYSXVYMnhsYm1kMGFDa2djbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJR2xtSUNoMGFHbHpMbDlzWlc1bmRHZ2dQVDBnTUNrZ2NtVjBkWEp1SUhSeWRXVTdYRzVjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJSFJvYVhNdVgyUmhkR0V1YkdWdVozUm9JQzBnTVRzZ2FTc3JLVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVYMlJoZEdGYmFWMGdJVDBnYjNSb1pYSXVYMlJoZEdGYmFWMHBJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JseHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQW9kR2hwY3k1ZlpHRjBZUzVzWlc1bmRHZ2dMU0F4S1NBcUlEZzdJR2tnUENCMGFHbHpMbDlzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdVoyVjBRbWwwS0drcElDRTlJRzkwYUdWeUxtZGxkRUpwZENocEtTbGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQkRiRzl1WlhNZ1lTQmlhWFJ6WlhRdUlDb3ZYRzRnSUdOc2IyNWxLQ2s2SUVKcGRFRnljbUY1SUh0Y2JpQWdJQ0JqYjI1emRDQmlhWFJCY25KaGVTQTlJRzVsZHlCQ2FYUkJjbkpoZVNnd0xDQm1ZV3h6WlNrN1hHNGdJQ0FnWW1sMFFYSnlZWGt1WDJSaGRHRWdQU0JWYVc1ME16SkJjbkpoZVM1bWNtOXRLSFJvYVhNdVgyUmhkR0VwT3lBdkx5QmxabVpsWTNScGRtVWdiR1Z1WjNSb09pQW9iR1Z1WjNSb1NXNUpiblJ6S1Z4dUlDQWdJR0pwZEVGeWNtRjVMbDlzWlc1bmRHZ2dQU0IwYUdsekxsOXNaVzVuZEdnN1hHNGdJQ0FnWW1sMFFYSnlZWGt1WDNabGNuTnBiMjRnUFNCMGFHbHpMbDkyWlhKemFXOXVPMXh1SUNBZ0lISmxkSFZ5YmlCaWFYUkJjbkpoZVR0Y2JpQWdmVnh1WEc0Z0lDOHFLaUJKYm1sMGFXRnNhWHBsY3lCaElHSnBkSE5sZEM0Z0tpOWNiaUFnYVc1cGRDaG1iR0ZuT2lCR2RXNWpkR2x2Yml3Z2JtOTBhV1o1T2lCaWIyOXNaV0Z1S1RvZ1FtbDBRWEp5WVhrZ2UxeHVJQ0FnSUhSb2FYTXVjMlYwUVd4c0tHWmhiSE5sTENCbVlXeHpaU2s3WEc1Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhSb2FYTXVYMnhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCcFppQW9abXhoWnlocEtTbGNiaUFnSUNBZ0lDQWdkR2hwY3k1ZlpHRjBZVnROWVhSb0xtWnNiMjl5S0drZ0x5QXdlREl3S1YwZ2ZEMGdNU0E4UENBb0tHa2dKU0F3ZURJd0tTQW1JREI0TVdZcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXVhVzVqY21WdFpXNTBWbVZ5YzJsdmJpaHViM1JwWm5rcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5WEc1Y2JpQWdMeTh2SUVsdWRtVnlkSE1nWVNCaWFYUnpaWFF1WEc0Z0lHbHVkbVZ5ZENodWIzUnBabmtnUFNCMGNuVmxLVG9nZG05cFpDQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TGw5a1lYUmhMbXhsYm1kMGFEc2dhU3NyS1Z4dUlDQWdJQ0FnZEdocGN5NWZaR0YwWVZ0cFhTQmVQU0F0TVR0Y2JseHVJQ0FnSUhSb2FYTXVhVzVqY21WdFpXNTBWbVZ5YzJsdmJpaHViM1JwWm5rcE8xeHVJQ0I5WEc1Y2JpQWdMeTh2SUZObGRITWdZV3hzSUdKcGRITWdkRzhnVzNaaGJIVmxYU3dnYjNCMGFXOXVZV3hzZVNCemRYQndjbVZ6YzJsdVp5QnViM1JwWm1sallYUnBiMjV6TGx4dUlDQnpaWFJCYkd3b2RtRnNkV1U2SUdKdmIyeGxZVzRzSUc1dmRHbG1lU0E5SUdaaGJITmxLVG9nZG05cFpDQjdYRzRnSUNBZ1kyOXVjM1FnWm14aFozTWdQU0IyWVd4MVpTQS9JQzB4SURvZ01EdGNiaUFnSUNCamIyNXpkQ0JzWlc0Z1BTQjBhR2x6TG14bGJtZDBhRWx1U1c1MGN6dGNibHh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2diR1Z1T3lCcEt5c3BJQzh2ZEc5a2J6b2diM0IwYVcxcGVtVmNiaUFnSUNBZ0lIUm9hWE11WDJSaGRHRmJhVjBnUFNCbWJHRm5jenRjYmx4dUlDQWdJSFJvYVhNdWFXNWpjbVZ0Wlc1MFZtVnljMmx2YmlodWIzUnBabmtwTzF4dUlDQjlYRzVjYmlBZ0x5OHZJRk5sZEhNZ1ltbDBjeUJoZENCYmFXNWtaWGhsYzEwZ2NHOXphWFJwYjI0Z2RHOGdXM1poYkhWbFhTNWNiaUFnTHk4dklFTnNaV0Z5Y3lCMGFHVWdZbWwwYzJWMElHbG1JRnRqYkdWaGNsMGdabXhoWnlCcGN5QjBjblZsTGx4dUlDQXZMeThnUTJoaGJtZGxJRzV2ZEdsbWFXTmhkR2x2YmlCcGN5QnlZV2x6WldRZ2QyaGxiaUJiYm05MGFXWjVYU0JwY3lCMGNuVmxMbHh1SUNCelpYUkpibVJsZUdWektHbHVaR1Y0WlhNNklFRnljbUY1UEc1MWJXSmxjajRzSUhaaGJIVmxJRDBnZEhKMVpTd2dZMnhsWVhJZ1BTQjBjblZsTENCdWIzUnBabmtnUFNCMGNuVmxLVG9nZG05cFpDQjdYRzRnSUNBZ2FXWWdLR05zWldGeUtWeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSQmJHd29JWFpoYkhWbExDQm1ZV3h6WlNrN1hHNWNiaUFnSUNCbWIzSWdLR052Ym5OMElHa2diMllnYVc1a1pYaGxjeWxjYmlBZ0lDQWdJSFJvYVhNdWMyVjBSbUZ6ZENocExDQjJZV3gxWlNrN1hHNWNiaUFnSUNCMGFHbHpMbWx1WTNKbGJXVnVkRlpsY25OcGIyNG9ibTkwYVdaNUtUdGNiaUFnZlZ4dVhHNGdJR1YyWlhKNVNXNWtaWGdvYVc1a1pYaGxjem9nUVhKeVlYazhiblZ0WW1WeVBpd2dkbUZzZFdVZ1BTQjBjblZsS1RvZ1ltOXZiR1ZoYmlCN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCcGJtUmxlQ0J2WmlCcGJtUmxlR1Z6S1NCN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1blpYUkNhWFFvYVc1a1pYZ3BJQ0U5SUhaaGJIVmxLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQjlYRzVjYmlBZ1lXNTVTVzVrWlhnb2FXNWtaWGhsY3pvZ1FYSnlZWGs4Ym5WdFltVnlQaXdnZG1Gc2RXVWdQU0IwY25WbEtUb2dZbTl2YkdWaGJpQjdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnBibVJsZUNCdlppQnBibVJsZUdWektTQjdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NW5aWFJDYVhRb2FXNWtaWGdwSUQwOUlIWmhiSFZsS1Z4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1Y2JpQWdjMlYwVjJobGNtVW9ZMmhsWTJzNklFWjFibU4wYVc5dUxDQjJZV3gxWlNBOUlIUnlkV1VzSUdOc1pXRnlJRDBnZEhKMVpTd2dibTkwYVdaNUlEMGdkSEoxWlN3Z1lXeHNiM2REYkdWaGNpQTlJSFJ5ZFdVcE9pQjJiMmxrSUh0Y2JpQWdJQ0JwWmlBb1kyeGxZWElnSmlZZ1lXeHNiM2REYkdWaGNpbGNiaUFnSUNBZ0lIUm9hWE11YzJWMFFXeHNLQ0YyWVd4MVpTd2dabUZzYzJVcE8xeHVYRzRnSUNBZ2FXWWdLR0ZzYkc5M1EyeGxZWElwSUh0Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVmYkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dOb1pXTnJLR2twS1Z4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11YzJWMFJtRnpkQ2hwTENCMllXeDFaU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dkR2hwY3k1ZmJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ0lDQWdJSFJvYVhNdWMyVjBSbUZ6ZENocExDQmphR1ZqYXlocEtTQS9JSFpoYkhWbElEb2dJWFpoYkhWbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbWx1WTNKbGJXVnVkRlpsY25OcGIyNG9ibTkwYVdaNUtUdGNiaUFnZlZ4dVhHNGdJR2RsZEZKaGJtZGxLR1p5YjIwNklHNTFiV0psY2l3Z2RHODZJRzUxYldKbGNpazZJRUpwZEVGeWNtRjVJSHRjYmlBZ0lDQjBhR2x6TG1GemMzVnlaVWx1VW1GdVoyVW9abkp2YlN3Z01Dd2dkR2hwY3k1ZmJHVnVaM1JvSUMwZ01Td2dKMlp5YjIwbktUdGNiaUFnSUNCMGFHbHpMbUZ6YzNWeVpVbHVVbUZ1WjJVb2RHOHNJREFzSUhSb2FYTXVYMnhsYm1kMGFDd2dKM1J2SnlrN1hHNGdJQ0FnWTI5dWMzUWdZWEp5T2lCQmNuSmhlVHhpYjI5c1pXRnVQaUE5SUZ0ZE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQm1jbTl0T3lCcElEd2dkRzg3SUNzcmFTbGNiaUFnSUNBZ0lHRnljaTV3ZFhOb0tIUm9hWE11WjJWMFFtbDBLR2twS1R0Y2JpQWdJQ0J5WlhSMWNtNGdRbWwwUVhKeVlYa3Vabkp2YlZaaGJIVmxjeWhoY25JcE8xeHVJQ0I5WEc1Y2JpQWdaMlYwVW1GdVoyVkJjMHhwYzNRb1puSnZiVG9nYm5WdFltVnlMQ0IwYnpvZ2JuVnRZbVZ5S1RvZ1ltOXZiR1ZoYmx0ZElIdGNiaUFnSUNCMGFHbHpMbUZ6YzNWeVpVbHVVbUZ1WjJVb1puSnZiU3dnTUN3Z2RHaHBjeTVmYkdWdVozUm9JQzBnTVN3Z0oyWnliMjBuS1R0Y2JpQWdJQ0IwYUdsekxtRnpjM1Z5WlVsdVVtRnVaMlVvZEc4c0lEQXNJSFJvYVhNdVgyeGxibWQwYUN3Z0ozUnZKeWs3WEc0Z0lDQWdZMjl1YzNRZ1lYSnlPaUJpYjI5c1pXRnVXMTBnUFNCYlhUdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdabkp2YlRzZ2FTQThJSFJ2T3lBcksya3BYRzRnSUNBZ0lDQmhjbkl1Y0hWemFDaDBhR2x6TG1kbGRFSnBkQ2hwS1NrN1hHNGdJQ0FnY21WMGRYSnVJR0Z5Y2p0Y2JpQWdmVnh1WEc1Y2JpQWdjMlYwVW1GdVoyVW9abkp2YlRvZ2JuVnRZbVZ5TENCMGJ6b2diblZ0WW1WeUxDQjJZV3gxWlRvZ1ltOXZiR1ZoYml3Z2JtOTBhV1o1SUQwZ2RISjFaU2s2SUVKcGRFRnljbUY1SUh0Y2JpQWdJQ0IwYUdsekxtRnpjM1Z5WlVsdVVtRnVaMlVvWm5KdmJTd2dNQ3dnZEdocGN5NWZiR1Z1WjNSb0lDMGdNU3dnSjJaeWIyMG5LVHRjYmlBZ0lDQjBhR2x6TG1GemMzVnlaVWx1VW1GdVoyVW9kRzhzSURBc0lIUm9hWE11WDJ4bGJtZDBhQ0F0SURFc0lDZDBieWNwTzF4dVhHNGdJQ0FnWTI5dWMzUWdjM1JoY25RZ1BTQk5ZWFJvTG0xcGJpaG1jbTl0TENCMGJ5azdYRzRnSUNBZ1kyOXVjM1FnWlc1a0lEMGdUV0YwYUM1dFlYZ29abkp2YlN3Z2RHOHBPMXh1WEc0Z0lDQWdMeTkwYjJSdk9pQnZjSFJwYldsNlpWeHVJQ0FnSUdsbUlDaDJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJSE4wWVhKME95QnBJRHc5SUdWdVpEc2dhU3NyS1Z4dUlDQWdJQ0FnSUNCMGFHbHpMbk5sZEZSeWRXVW9hU2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0J6ZEdGeWREc2dhU0E4UFNCbGJtUTdJR2tyS3lsY2JpQWdJQ0FnSUNBZ2RHaHBjeTV6WlhSR1lXeHpaU2hwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxtbHVZM0psYldWdWRGWmxjbk5wYjI0b2JtOTBhV1o1S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVnh1WEc0Z0lDOHZMeUJUWlhSeklHNGdjbUZ1Wkc5dGJIa2dZMmh2YzJWdUlHSnBkSE1nZEc4Z2RtRnNkV1VzSUhKbGJXRnBibWx1WnlCaWFYUnpJSFJ2SUNGMllXeDFaUzVjYmlBZ2MyVjBVbUZ1Wkc5dEtHNDZJRzUxYldKbGNpd2dkbUZzZFdVNklHSnZiMnhsWVc0c0lHNXZkR2xtZVNBOUlIUnlkV1VwT2lCMmIybGtJSHRjYmlBZ0lDQnBaaUFvYmlBOElEQWdmSHdnYmlBK0lIUm9hWE11WDJ4bGJtZDBhQ2xjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25iaUJ0ZFhOMElHSmxJRDQ5SURBZ0ppWWdQRDBnUTI5MWJuUW5LVHRjYmx4dUlDQWdJR2xtSUNodUlENGdkR2hwY3k1ZmJHVnVaM1JvSUM4Z01pbGNiaUFnSUNBZ0lIUm9hWE11YzJWMFVtRnVaRzl0S0hSb2FYTXVYMnhsYm1kMGFDQXRJRzRzSUNGMllXeDFaU2s3WEc1Y2JpQWdJQ0IwYUdsekxuTmxkRUZzYkNnaGRtRnNkV1VwTzF4dVhHNGdJQ0FnWm05eUlDaHNaWFFnYXlBOUlEQTdJR3NnUENCdU95a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2FTQTlJRTFoZEdndVpteHZiM0lvVFdGMGFDNXlZVzVrYjIwb0tTQXFJSFJvYVhNdVgyeGxibWQwYUNrN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1blpYUkNhWFFvYVNrZ1BUMGdkbUZzZFdVcElHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSR1lYTjBLR2tzSUhaaGJIVmxLVHRjYmlBZ0lDQWdJR3NyS3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxtbHVZM0psYldWdWRGWmxjbk5wYjI0b2JtOTBhV1o1S1R0Y2JpQWdmVnh1WEc0Z0lDOHZMeUJOYjJScFptbGxjeUJqZFhKeVpXNTBJR0pwZEhObGRDQmllU0J3WlhKbWIzSnRhVzVuSUhSb1pTQmlhWFIzYVhObElFRk9SQ0J2Y0dWeVlYUnBiMjRnWVdkaGFXNXpkQ0IwYUdWY2JpQWdMeTh2SUdOdmNuSmxjM0J2Ym1ScGJtY2daV3hsYldWdWRITWdhVzRnZEdobElITndaV05wWm1sbFpDQmlhWFJ6WlhRdVhHNGdJR0Z1WkNoMllXeDFaVG9nUW1sMFFYSnlZWGtzSUc1dmRHbG1lU0E5SUhSeWRXVXBPaUJDYVhSQmNuSmhlU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVYMnhsYm1kMGFDQWhQU0IyWVd4MVpTNWZiR1Z1WjNSb0tWeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkQmNuSmhlU0JzWlc1bmRHaHpJR1JwWm1abGNpNG5LVHRjYmx4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd0xDQnNaVzRnUFNCMGFHbHpMbXhsYm1kMGFFbHVTVzUwY3pzZ2FTQThJR3hsYmpzZ2FTc3JLVnh1SUNBZ0lDQWdkR2hwY3k1ZlpHRjBZVnRwWFNBbVBTQjJZV3gxWlM1ZlpHRjBZVnRwWFR0Y2JseHVJQ0FnSUhSb2FYTXVhVzVqY21WdFpXNTBWbVZ5YzJsdmJpaHViM1JwWm5rcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5WEc1Y2JpQWdMeTh2SUZCbGNtWnZjbTF6SUhSb1pTQmlhWFIzYVhObElFRk9SQ0JPVDFRZ2IzQmxjbUYwYVc5dUlHOXVJSFJvWlNCbGJHVnRaVzUwY3lCcGJpQjBhR1VnWTNWeWNtVnVkQ0JpYVhSelpYUmNiaUFnTHk4dklHRm5ZV2x1YzNRZ2RHaGxJR052Y25KbGMzQnZibVJwYm1jZ1pXeGxiV1Z1ZEhNZ2FXNGdkR2hsSUhOd1pXTnBabWxsWkNCaWFYUnpaWFF1WEc0Z0lHRnVaRTV2ZENoMllXeDFaVG9nUW1sMFFYSnlZWGtzSUc1dmRHbG1lU0E5SUhSeWRXVXBPaUJDYVhSQmNuSmhlU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVYMnhsYm1kMGFDQWhQU0IyWVd4MVpTNWZiR1Z1WjNSb0tWeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkQmNuSmhlU0JzWlc1bmRHaHpJR1JwWm1abGNpNG5LVHRjYmx4dUlDQWdJR052Ym5OMElHeGxiaUE5SUhSb2FYTXViR1Z1WjNSb1NXNUpiblJ6TzF4dUlDQWdJR1p2Y2lBb2JHVjBJRzUxYlRJZ1BTQXdPeUJ1ZFcweUlEd2diR1Z1T3lCdWRXMHlLeXNwWEc0Z0lDQWdJQ0IwYUdsekxsOWtZWFJoVzI1MWJUSmRJQ1k5SUg1MllXeDFaUzVmWkdGMFlWdHVkVzB5WFR0Y2JseHVJQ0FnSUhSb2FYTXVhVzVqY21WdFpXNTBWbVZ5YzJsdmJpaHViM1JwWm5rcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5WEc1Y2JpQWdMeTh2SUZCbGNtWnZjbTF6SUhSb1pTQmlhWFIzYVhObElFNVBWQ0JCVGtRZ2IzQmxjbUYwYVc5dUlHOXVJSFJvWlNCbGJHVnRaVzUwY3lCcGJpQjBhR1VnWTNWeWNtVnVkQ0JpYVhSelpYUmNiaUFnTHk4dklHRm5ZV2x1YzNRZ2RHaGxJR052Y25KbGMzQnZibVJwYm1jZ1pXeGxiV1Z1ZEhNZ2FXNGdkR2hsSUhOd1pXTnBabWxsWkNCaWFYUnpaWFF1WEc0Z0lHNXZkRUZ1WkNoMllXeDFaVG9nUW1sMFFYSnlZWGtzSUc1dmRHbG1lU0E5SUhSeWRXVXBPaUJDYVhSQmNuSmhlU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVYMnhsYm1kMGFDQWhQU0IyWVd4MVpTNWZiR1Z1WjNSb0tWeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkQmNuSmhlU0JzWlc1bmRHaHpJR1JwWm1abGNpNG5LVHRjYmx4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd0xDQnNaVzRnUFNCMGFHbHpMbXhsYm1kMGFFbHVTVzUwY3pzZ2FTQThJR3hsYmpzZ2FTc3JLVnh1SUNBZ0lDQWdkR2hwY3k1ZlpHRjBZVnRwWFNBOUlDaCtkR2hwY3k1ZlpHRjBZVnRwWFNrZ0ppQjJZV3gxWlM1ZlpHRjBZVnRwWFR0Y2JseHVJQ0FnSUhSb2FYTXVhVzVqY21WdFpXNTBWbVZ5YzJsdmJpaHViM1JwWm5rcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5WEc1Y2JpQWdMeTh2SUVsdWRtVnlkSE1nWVd4c0lHSnBkQ0IyWVd4MVpYTWdhVzRnZEdobElHTjFjbkpsYm5RZ1ltbDBjMlYwWEc0Z0lHNXZkQ2h1YjNScFpua2dQU0IwY25WbEtUb2dRbWwwUVhKeVlYa2dlMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3TENCc1pXNGdQU0IwYUdsekxteGxibWQwYUVsdVNXNTBjenNnYVNBOElHeGxianNnYVNzcktWeHVJQ0FnSUNBZ2RHaHBjeTVmWkdGMFlWdHBYU0E5SUg1MGFHbHpMbDlrWVhSaFcybGRPMXh1WEc0Z0lDQWdkR2hwY3k1cGJtTnlaVzFsYm5SV1pYSnphVzl1S0c1dmRHbG1lU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMWNibHh1SUNBdkx5OGdVR1Z5Wm05eWJYTWdkR2hsSUdKcGRIZHBjMlVnVDFJZ2IzQmxjbUYwYVc5dUlHOXVJSFJvWlNCbGJHVnRaVzUwY3lCcGJpQjBhR1VnWTNWeWNtVnVkQ0JpYVhSelpYUmNiaUFnTHk4dklHRm5ZV2x1YzNRZ2RHaGxJR052Y25KbGMzQnZibVJwYm1jZ1pXeGxiV1Z1ZEhNZ2FXNGdkR2hsSUhOd1pXTnBabWxsWkNCaWFYUnpaWFF1WEc0Z0lHOXlLSFpoYkhWbE9pQkNhWFJCY25KaGVTd2dibTkwYVdaNUlEMGdkSEoxWlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TGw5c1pXNW5kR2dnSVQwZ2RtRnNkV1V1WDJ4bGJtZDBhQ2xjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25RWEp5WVhrZ2JHVnVaM1JvY3lCa2FXWm1aWEl1SnlrN1hHNWNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNQ3dnYkdWdUlEMGdkR2hwY3k1c1pXNW5kR2hKYmtsdWRITTdJR2tnUENCc1pXNDdJR2tyS3lsY2JpQWdJQ0FnSUhSb2FYTXVYMlJoZEdGYmFWMGdmRDBnZG1Gc2RXVXVYMlJoZEdGYmFWMDdYRzVjYmlBZ0lDQjBhR2x6TG1sdVkzSmxiV1Z1ZEZabGNuTnBiMjRvYm05MGFXWjVLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZWeHVYRzRnSUM4dkx5QlFaWEptYjNKdGN5QjBhR1VnWW1sMGQybHpaU0JsZUdOc2RYTnBkbVVnVDFJZ2IzQmxjbUYwYVc5dUlHOXVJSFJvWlNCbGJHVnRaVzUwY3lCcGJpQjBhR1VnWTNWeWNtVnVkQ0JpYVhSelpYUmNiaUFnTHk4dklHRm5ZV2x1YzNRZ2RHaGxJR052Y25KbGMzQnZibVJwYm1jZ1pXeGxiV1Z1ZEhNZ2FXNGdkR2hsSUhOd1pXTnBabWxsWkNCaWFYUnpaWFF1WEc0Z0lIaHZjaWgyWVd4MVpUb2dRbWwwUVhKeVlYa3NJRzV2ZEdsbWVTQTlJSFJ5ZFdVcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1ZmJHVnVaM1JvSUNFOUlIWmhiSFZsTGw5c1pXNW5kR2dwWEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMEZ5Y21GNUlHeGxibWQwYUhNZ1pHbG1abVZ5TGljcE8xeHVYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREFzSUd4bGJpQTlJSFJvYVhNdWJHVnVaM1JvU1c1SmJuUnpPeUJwSUR3Z2JHVnVPeUJwS3lzcFhHNGdJQ0FnSUNCMGFHbHpMbDlrWVhSaFcybGRJRjQ5SUhaaGJIVmxMbDlrWVhSaFcybGRPMXh1WEc0Z0lDQWdkR2hwY3k1cGJtTnlaVzFsYm5SV1pYSnphVzl1S0c1dmRHbG1lU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMWNibHh1SUNBdkx5OGdTVzV6WlhKMGN5QnVJREF0WW1sMGN5QmhkQ0J3YjNOcGRHbHZiaUJ3YjNNc0lISmxjMmw2YVc1bklITmxiR1lnWVc1a0lITm9hV1owYVc1bklHSnBkSE1nWVhCd2NtOXdjbWxoZEdWc2VTNWNiaUFnYVc1elpYSjBRWFFvY0c5ek9pQnVkVzFpWlhJc0lHNDZJRzUxYldKbGNpd2dabXhoWnlBOUlHWmhiSE5sS1RvZ2RtOXBaQ0I3WEc0Z0lDQWdkR2hwY3k1aGMzTjFjbVZKYmxKaGJtZGxLSEJ2Y3l3Z01Dd2dkR2hwY3k1ZmJHVnVaM1JvTENBbmNHOXpKeWs3WEc1Y2JpQWdJQ0JwWmlBb2JpQTlQU0F3S1NCeVpYUjFjbTQ3WEc1Y2JpQWdJQ0F2TDFSUFJFODZJRzl3ZEdsdGFYcGxYRzRnSUNBZ0x5OTBhR1VnYlc5emRDQndjbWx0YVhScGRtVWdhVzF3YkdWdFpXNTBZWFJwYjI0c0lHOXdkR2x0YVhwbElHbDBJR3hoZEdWeUlWeHVYRzRnSUNBZ0x5OGdZbVZuYVc1VmNHUmhkR1VvS1R0Y2JpQWdJQ0JqYjI1emRDQnZiR1JzWlc1bmRHZ2dQU0IwYUdsekxsOXNaVzVuZEdnN1hHNGdJQ0FnZEdocGN5NXpaWFJNWlc1bmRHZ29kR2hwY3k1ZmJHVnVaM1JvSUNzZ2JpazdYRzVjYmlBZ0lDQXZMMmxtSUNnaFkyOXVkR0ZwYm5Nb0lXWnNZV2NwS1NCeVpYUjFjbTQ3SUM4dklHNXZkR2hwYm1jZ2RHOGdaRzljYmx4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNCdmJHUnNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlIQnZjenNnYVMwdEtWeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSQ2FYUW9hU0FySUc0c0lIUm9hWE11WjJWMFFtbDBLR2twS1R0Y2JseHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQndiM003SUdrZ1BDQndiM01nS3lCdU95QnBLeXNwWEc0Z0lDQWdJQ0IwYUdsekxuTmxkRUpwZENocExDQm1iR0ZuS1R0Y2JseHVJQ0FnSUM4dklHVnVaRlZ3WkdGMFpTZ3BPMXh1SUNCOVhHNWNiaUFnTHk4dklFUmxiR1YwWlhNZ2JpQmlhWFJ6SUdKbFoybHVibWx1WnlCaGRDQndiM05wZEdsdmJpQndiM01zSUhKbGMybDZhVzVuSUhObGJHWWdZVzVrSUhOb2FXWjBhVzVuSUhKbGJXRnBibWx1WjF4dUlDQXZMeThnWW1sMGN5QmhjSEJ5YjNCeWFXRjBaV3g1TGx4dUlDQnlaVzF2ZG1WQmRDaHdiM002SUc1MWJXSmxjaXdnYmlBOUlERXBPaUIyYjJsa0lIdGNiaUFnSUNBdkx5QjBhR1VnYlc5emRDQndjbWx0YVhScGRtVWdhVzF3YkdWdFpXNTBZWFJwYjI0c0lHOXdkR2x0YVhwbElHbDBJR3hoZEdWeUlWeHVJQ0FnSUdsbUlDaHVJRHdnTUNsY2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduYmlCallXNXViM1FnWW1VZ2JtVm5ZWFJwZG1VbktUdGNibHh1SUNBZ0lIUm9hWE11WVhOemRYSmxTVzVTWVc1blpTaHdiM01zSURBc0lIUm9hWE11WDJ4bGJtZDBhQ0F0SUc0c0lDZHdiM01uS1R0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TG1OdmJuUmhhVzV6S0hSeWRXVXBLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ2NHOXpPeUJwSUR3Z2RHaHBjeTVmYkdWdVozUm9JQzBnYmpzZ2FTc3JLVnh1SUNBZ0lDQWdJQ0IwYUdsekxuTmxkRUpwZENocExDQjBhR2x6TG1kbGRFSnBkQ2hwSUNzZ2Jpa3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11YzJWMFRHVnVaM1JvS0hSb2FYTXVYMnhsYm1kMGFDQXRJRzRwTzF4dUlDQjlYRzVjYmlBZ2NtVnRiM1psUW5sTllYTnJLRzFoYzJzNklFSnBkRUZ5Y21GNUxDQm1iR0ZuSUQwZ2RISjFaU2s2SUVKcGRFRnljbUY1SUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVmYkdWdVozUm9JQ0U5SUcxaGMyc3ViR1Z1WjNSb0tWeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0Nkc1pXNW5kR2dnSVQwZ2JXRnpheTVzWlc1bmRHZ25LVHRjYmx4dUlDQWdJR2xtSUNodFlYTnJJRDA5SUhSb2FYTXBJSHNnTHk4Z2JtOGdibVZsWkNCMGJ5QnBkR1Z5WVhSbFhHNGdJQ0FnSUNCMGFHbHpMbk5sZEV4bGJtZDBhQ2h0WVhOckxtTnZkVzUwUW1sMGN5Z2habXhoWnlrcE8xeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSQmJHd29JV1pzWVdjcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JzWlhRZ1pITjBTV1I0SUQwZ01EdGNibHh1SUNBZ0lDQWdabTl5SUNoc1pYUWdjM0pqU1dSNElEMGdMVEU3SUNoemNtTkpaSGdnUFNCdFlYTnJMbVpwYm1ST1pYaDBLSE55WTBsa2VDd2dJV1pzWVdjcEtTQWhQU0F0TVRzcFhHNGdJQ0FnSUNBZ0lIUm9hWE11YzJWMFJtRnpkQ2hrYzNSSlpIZ3JLeXdnZEdocGN5NW5aWFJDYVhRb2MzSmpTV1I0S1NrN1hHNWNiaUFnSUNBZ0lIUm9hWE11WDJ4bGJtZDBhQ0E5SUdSemRFbGtlRHRjYmlBZ0lDQWdJSFJvYVhNdVgzWmxjbk5wYjI0ckt6dGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlZ4dVhHNGdJQzh2THlCVGFXMXBiR0Z5SUhSdklIUm9aU0JiWFNCdmNHVnlZWFJ2Y2k1Y2JpQWdaMlYwUW1sMEtIQnZjem9nYm5WdFltVnlLVG9nWW05dmJHVmhiaUI3WEc0Z0lDQWdjbVYwZFhKdUlDaDBhR2x6TGw5a1lYUmhXMDFoZEdndVpteHZiM0lvY0c5eklDOGdNSGd5TUNsZElDWWdLREVnUER3Z0tIQnZjeUFtSURCNE1XWXBLU2tnSVQwZ01EdGNiaUFnZlZ4dVhHNGdJQzh2THlCVGFXMXBiR0Z5SUhSdklIUm9aU0JiWFNCdmNHVnlZWFJ2Y2k1Y2JpQWdjMlYwUW1sMEtIQnZjem9nYm5WdFltVnlMQ0JpYVhRNklHSnZiMnhsWVc0c0lHNXZkR2xtZVNBOUlIUnlkV1VwSUh0Y2JpQWdJQ0IwYUdsekxuTmxkRVpoYzNRb2NHOXpMQ0JpYVhRcE8xeHVJQ0FnSUdsbUlDaHViM1JwWm5rcFhHNGdJQ0FnSUNCMGFHbHpMbDkyWlhKemFXOXVLeXM3WEc0Z0lDQWdaV3h6WlZ4dUlDQWdJQ0FnZEdocGN5NWZkbVZ5YzJsdmJpc3JPMXh1SUNCOVhHNWNiaUFnTHk4dklGTmxkSE1nVzJsZExYUm9JR0pwZENCMGJ5QmJkbUZzZFdWZExDQmtiMlZ6SUc1dmRDQmphR1ZqYXlCaWIzVnVaSE1zSUdSdlpYTWdibTkwSUdsdVkzSmxiV1Z1ZENCMlpYSnphVzl1WEc0Z0lITmxkRVpoYzNRb2FUb2diblZ0WW1WeUxDQjJZV3gxWlRvZ1ltOXZiR1ZoYmlrNklIWnZhV1FnZTF4dUlDQWdJR2xtSUNoMllXeDFaU2xjYmlBZ0lDQWdJSFJvYVhNdVgyUmhkR0ZiVFdGMGFDNW1iRzl2Y2locElDOGdNSGd5TUNsZElIdzlJREVnUER3Z0tHa2dKaUF3ZURGbUtUdGNiaUFnSUNCbGJITmxYRzRnSUNBZ0lDQjBhR2x6TGw5a1lYUmhXMDFoZEdndVpteHZiM0lvYVNBdklEQjRNakFwWFNBbVBTQitLREVnUER3Z0tHa2dKaUF3ZURGbUtTazdYRzRnSUgxY2JseHVJQ0J6WlhSVWNuVmxLSEJ2Y3pvZ2JuVnRZbVZ5S1RvZ2RtOXBaQ0I3WEc0Z0lDQWdkR2hwY3k1ZlpHRjBZVnROWVhSb0xtWnNiMjl5S0hCdmN5QXZJREI0TWpBcFhTQjhQU0F4SUR3OElDaHdiM01nSmlBd2VERm1LVHRjYmlBZ2ZWeHVYRzRnSUhObGRFWmhiSE5sS0hCdmN6b2diblZ0WW1WeUtTQjdYRzRnSUNBZ2RHaHBjeTVmWkdGMFlWdE5ZWFJvTG1ac2IyOXlLSEJ2Y3lBdklEQjRNakFwWFNBbVBTQitLREVnUER3Z0tIQnZjeUFtSURCNE1XWXBLVHRjYmlBZ2ZWeHVYRzRnSUhSeWRXVkRiM1Z1ZENncE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnZkVzUwUW1sMGN5aDBjblZsS1R0Y2JpQWdmVnh1WEc0Z0lHWmhiSE5sUTI5MWJuUW9LVG9nYm5WdFltVnlJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYjNWdWRFSnBkSE1vWm1Gc2MyVXBPMXh1SUNCOVhHNWNiaUFnTHk4dklFTnZkVzUwY3lCaWFYUnpJRzltSUhSb1pTQnpjR1ZqYVdacFpXUWdkbUZzZFdVdVhHNGdJR052ZFc1MFFtbDBjeWgyWVd4MVpUb2dZbTl2YkdWaGJpazZJRzUxYldKbGNpQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdVgyeGxibWQwYUNBOVBTQXdLU0J5WlhSMWNtNGdNRHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbDl6Wld4bFkzUmxaRU52ZFc1MFZtVnljMmx2YmlBaFBTQjBhR2x6TGw5MlpYSnphVzl1S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDl6Wld4bFkzUmxaRU52ZFc1MElEMGdNRHRjYmlBZ0lDQWdJR052Ym5OMElHeGxiaUE5SUhSb2FYTXViR1Z1WjNSb1NXNUpiblJ6TzF4dUlDQWdJQ0FnYkdWMElHa2dQU0F3TzF4dUlDQWdJQ0FnWm05eUlDZzdJR2tnUENCc1pXNGdMU0F4T3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYXlBOUlIUm9hWE11WDJSaGRHRmJhVjA3SUdzZ0lUMGdNRHNnYXlBK1BqNDlJRGdwSUhzZ0x5OTBiMlJ2T2lCallYTjBJR1JoZEdGYmFWMGdkRzhnZFdsdWRGeHVJQ0FnSUNBZ0lDQWdJSFJvYVhNdVgzTmxiR1ZqZEdWa1EyOTFiblFnS3owZ1FtbDBRWEp5WVhrdVgyOXVRbWwwUTI5MWJuUmJheUFtSURCNFptWmRPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUM4dklGUm9aU0JzWVhOMElHbHVkQzVjYmlBZ0lDQWdJR3hsZENCcklEMGdkR2hwY3k1ZlpHRjBZVnRwWFR0Y2JpQWdJQ0FnSUdOdmJuTjBJSEpsYldGcGJtbHVaMEpwZEhNZ1BTQjBhR2x6TGw5c1pXNW5kR2dnSmlBd2VERm1PMXh1SUNBZ0lDQWdhV1lnS0hKbGJXRnBibWx1WjBKcGRITWdJVDBnTUNrZ0x5b2dhV1lnY21WdFlXbHVhVzVuUW1sMGN5QTlQU0F3TENCMGFHVWdiR0Z6ZENCcGJuUWdhWE1nWm5Wc2JIa2dkWE5sWkNCaGJtUWdRVXhNSUdKcGRITWdjMmh2ZFd4a0lHSmxJR3hsWm5RZ1lYTWdhWE1nS2k5Y2JpQWdJQ0FnSUNBZ2F5QW1QU0IrS0NnME1qazBPVFkzTWprMUtTQThQQ0J5WlcxaGFXNXBibWRDYVhSektUdGNibHh1SUNBZ0lDQWdabTl5SUNnN0lHc2dJVDBnTURzZ2F5QStQajQ5SURncFhHNGdJQ0FnSUNBZ0lIUm9hWE11WDNObGJHVmpkR1ZrUTI5MWJuUWdLejBnUW1sMFFYSnlZWGt1WDI5dVFtbDBRMjkxYm5SYmF5QW1JREI0Wm1aZE8xeHVYRzRnSUNBZ0lDQjBhR2x6TGw5elpXeGxZM1JsWkVOdmRXNTBWbVZ5YzJsdmJpQTlJSFJvYVhNdVgzWmxjbk5wYjI0N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJQ2gyWVd4MVpTQS9JSFJvYVhNdVgzTmxiR1ZqZEdWa1EyOTFiblFnT2lCMGFHbHpMbDlzWlc1bmRHZ2dMU0IwYUdsekxsOXpaV3hsWTNSbFpFTnZkVzUwS1R0Y2JpQWdmVnh1WEc0Z0lDOHZMeUJTWlhSMWNtNXpJR0VnYm5WdFltVnlJRzltSUhObGRDQmlhWFJ6SUhkb1pYSmxJR0ZzYzI4Z1cyTm9aV05yWFNCcGN5QjBjblZsWEc0Z0lHTnZkVzUwVjJobGNtVW9ZMmhsWTJzNklFWjFibU4wYVc5dUtUb2diblZ0WW1WeUlIdGNiaUFnSUNCc1pYUWdjbVZ6ZFd4MElEMGdNRHRjYmlBZ0lDQnBaaUFvZEdocGN5NTBjblZsUTI5MWJuUW9LU0E5UFNCMGFHbHpMbDlzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnZEdocGN5NWZiR1Z1WjNSb095QnBLeXNwWEc0Z0lDQWdJQ0FnSUhKbGMzVnNkQ0FyUFNCamFHVmpheWhwS1NBL0lERWdPaUF3TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTFRFN0lDaHBJRDBnZEdocGN5NW1hVzVrVG1WNGRDaHBMQ0IwY25WbEtTa2dJVDBnTFRFN0tWeHVJQ0FnSUNBZ0lDQnlaWE4xYkhRZ0t6MGdZMmhsWTJzb2FTa2dQeUF4SURvZ01EdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNiaUFnZlZ4dVhHNGdJQzh2THlCUVpYSm1iM0p0Y3lCaWFYUWdYQ0poYm1SY0lpQmhibVFnWTI5MWJuUnpJR0pwZEhNZ2IyWWdkR2hsSUhOd1pXTnBabWxsWkNCMllXeDFaU3dnZDJsMGFHOTFkQ0JpYVhSelpYUWdiVzlrYVdacFkyRjBhVzl1TGx4dUlDQmhibVJYYVhSb1EyOTFiblJDYVhSektITmxZMjl1WkRvZ1FtbDBRWEp5WVhrc0lIWmhiSFZsT2lCaWIyOXNaV0Z1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVmYkdWdVozUm9JRDA5SURBcElISmxkSFZ5YmlBd08xeHVYRzRnSUNBZ2JHVjBJR052ZFc1MElEMGdNRHRjYmlBZ0lDQmpiMjV6ZENCc1pXNGdQU0IwYUdsekxteGxibWQwYUVsdVNXNTBjenRjYmlBZ0lDQnNaWFFnYVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2c3SUdrZ1BDQnNaVzRnTFNBeE95QnBLeXNwSUh0Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUdzZ1BTQjBhR2x6TGw5a1lYUmhXMmxkSUNZZ2MyVmpiMjVrTGw5a1lYUmhXMmxkT3lCcklDRTlJREE3SUdzZ1BqNCtQU0E0S1Z4dUlDQWdJQ0FnSUNCamIzVnVkQ0FyUFNCQ2FYUkJjbkpoZVM1ZmIyNUNhWFJEYjNWdWRGdHJJQ1lnTUhobVpsMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdWR2hsSUd4aGMzUWdhVzUwTGx4dUlDQWdJR3hsZENCcklEMGdkR2hwY3k1ZlpHRjBZVnRwWFNBbUlITmxZMjl1WkM1ZlpHRjBZVnRwWFR0Y2JpQWdJQ0JqYjI1emRDQnlaVzFoYVc1cGJtZENhWFJ6SUQwZ2RHaHBjeTVmYkdWdVozUm9JQ1lnTUhneFpqdGNiaUFnSUNCcFppQW9jbVZ0WVdsdWFXNW5RbWwwY3lBaFBTQXdLVnh1SUNBZ0lDQWdheUFtUFNCK0tDZzBNamswT1RZM01qazFLU0E4UENCeVpXMWhhVzVwYm1kQ2FYUnpLVHRjYmlBZ0lDQm1iM0lnS0RzZ2F5QWhQU0F3T3lCcklENCtQajBnT0NsY2JpQWdJQ0FnSUdOdmRXNTBJQ3M5SUVKcGRFRnljbUY1TGw5dmJrSnBkRU52ZFc1MFcyc2dKaUF3ZUdabVhUdGNibHh1SUNBZ0lISmxkSFZ5YmlBb2RtRnNkV1VnUHlCamIzVnVkQ0E2SUhSb2FYTXVYMnhsYm1kMGFDQXRJR052ZFc1MEtUdGNiaUFnZlZ4dVhHNGdJR05zWldGeUtDazZJSFp2YVdRZ2UxeHVJQ0FnSUhSb2FYTXVjMlYwVEdWdVozUm9LREFwTzF4dUlDQjlYRzVjYmlBZ1kyOXVkR0ZwYm5Nb2RtRnNkV1U2SUdKdmIyeGxZVzRwT2lCaWIyOXNaV0Z1SUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bWFXNWtUbVY0ZENndE1Td2dkbUZzZFdVcElENDlJREE3WEc0Z0lIMWNibHh1SUNCblpYUWdZV3hzVkhKMVpTZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYjNWdWRFSnBkSE1vZEhKMVpTa2dQVDBnZEdocGN5NWZiR1Z1WjNSb08xeHVJQ0I5WEc1Y2JpQWdaMlYwSUdGc2JFWmhiSE5sS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnZkVzUwUW1sMGN5aG1ZV3h6WlNrZ1BUMGdkR2hwY3k1ZmJHVnVaM1JvTzF4dUlDQjlYRzVjYmlBZ1oyVjBJR0Z1ZVZSeWRXVW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTI5MWJuUkNhWFJ6S0hSeWRXVXBJRDRnTUR0Y2JpQWdmVnh1WEc0Z0lHZGxkQ0JoYm5sR1lXeHpaU2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amIzVnVkRUpwZEhNb1ptRnNjMlVwSUQ0Z01EdGNiaUFnZlZ4dVhHNGdJQzh2THlCU1pYUjFjbTV6SUhSb1pTQndiM05wZEdsdmJpQnZaaUIwYUdVZ2JtVjRkQ0JpYVhRZ2IyWWdkR2hsSUhOd1pXTnBabWxsWkNCMllXeDFaU3dnYzNSaGNuUnBibWNnWm5KdmJTQjBhR1VnYzNCbFkybG1hV1ZrSUhCdmMybDBhVzl1TGx4dUlDQXZMeThnVW1WMGRYSnVjeUF0TVN3Z2FXWWdkR2hsY21VZ1lYSmxJRzV2SUhOMVkyZ2dZbWwwY3k1Y2JpQWdabWx1WkU1bGVIUW9hVzVrWlhnNklHNTFiV0psY2l3Z2RtRnNkV1VnUFNCMGNuVmxLVG9nYm5WdFltVnlJSHRjYmlBZ0lDQjBhR2x6TG1GemMzVnlaVWx1VW1GdVoyVW9hVzVrWlhnc0lDMHhMQ0IwYUdsekxsOXNaVzVuZEdnc0lDZHBibVJsZUNjcE8xeHVYRzRnSUNBZ2FXWWdLR2x1WkdWNElENDlJSFJvYVhNdVgyeGxibWQwYUNBdElERXBJSEpsZEhWeWJpQXRNVHRjYmlBZ0lDQnBibVJsZUNBOUlHbHVaR1Y0SUR3Z01DQS9JREFnT2lCcGJtUmxlQ0FySURFN0lDOHZJSE5yYVhBZ2MzUmhjblJjYmlBZ0lDQnNaWFFnZFc1MWMyVmtRbWwwY3lBOUlHbHVaR1Y0SUNZZ01IZ3haanRjYmlBZ0lDQmpiMjV6ZENCdWRXMUpiblJ6SUQwZ2RHaHBjeTVzWlc1bmRHaEpia2x1ZEhNN1hHNWNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdUV0YwYUM1bWJHOXZjaWhwYm1SbGVDQXZJRE15S1RzZ2FTQThJRzUxYlVsdWRITTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2JHVjBJR3NnUFNBb2RtRnNkV1VnUHlCMGFHbHpMbDlrWVhSaFcybGRJRG9nZm5Sb2FYTXVYMlJoZEdGYmFWMHBPeUF2THlCMWFXNTBJR05oYzNSY2JpQWdJQ0FnSUdsbUlDaDFiblZ6WldSQ2FYUnpJQ0U5SURBcElIdGNiaUFnSUNBZ0lDQWdheUFtUFNBb0tEQjRabVptWm1abVptWWdQRHdnZFc1MWMyVmtRbWwwY3lrZ0ppQXdlR1ptWm1abVptWm1LVHRjYmlBZ0lDQWdJQ0FnZFc1MWMyVmtRbWwwY3lBOUlEQTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0YyWVd4MVpTQW1KaUJySUQwOUlDMDBNamswT1RZM01qazJLU0F2S2lCc2IyOXJhVzVuSUdadmNpQm1ZV3h6WlN3Z1lXeHNJR0pwZEhNZ1lYSmxJSE5sZENBcUwzdGNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR29nUFNBd095QnJJQ0U5SURBN0lHb2dLejBnT0N3Z2F5QStQajQ5SURncElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2NDQTlJRUpwZEVGeWNtRjVMbDltYVhKemRFOXVRbWwwVzJzZ0ppQXdlR1ptWFR0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEFnUGowZ01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdsdVpHVjRJRDBnY0NBcklDaHBJQ29nTXpJcElDc2dhanRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9hVzVrWlhnZ1BqMGdkR2hwY3k1ZmJHVnVaM1JvS1NCeVpYUjFjbTRnTFRFN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHbHVaR1Y0TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQXRNVHRjYmlBZ2ZWeHVYRzRnSUM4dkx5QkdhVzVrY3lCd2NtVjJhVzkxY3lCaWFYUWdiMllnZEdobElITndaV05wWm1sbFpDQjJZV3gxWlNCcGJpQjBhR1VnWW1sMGMyVjBMbHh1SUNCbWFXNWtVSEpsZGlocGJtUmxlRG9nYm5WdFltVnlMQ0IyWVd4MVpTQTlJSFJ5ZFdVcE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUdsbUlDaHBibVJsZUNBOVBTQXdLU0J5WlhSMWNtNGdMVEU3WEc0Z0lDQWdkR2hwY3k1aGMzTjFjbVZKYmxKaGJtZGxLR2x1WkdWNExDQXRNU3dnZEdocGN5NWZiR1Z1WjNSb0xDQW5hVzVrWlhnbktUdGNibHh1SUNBZ0lHbHVaR1Y0SUQwZ2FXNWtaWGdnUENBd0lEOGdkR2hwY3k1ZmJHVnVaM1JvSUMwZ01TQTZJR2x1WkdWNElDMGdNVHNnTHk4Z2MydHBjQ0J6ZEdGeWRGeHVYRzRnSUNBZ1kyOXVjM1FnYkdGemRFbHVkRWxrZUNBOUlFMWhkR2d1Wm14dmIzSW9hVzVrWlhnZ0x5QXdlREl3S1R0Y2JpQWdJQ0JzWlhRZ2NtVnRZV2x1YVc1blFtbDBjeUE5SUNocGJtUmxlQ0FySURFcElDWWdNSGd4Wmp0Y2JseHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQnNZWE4wU1c1MFNXUjRPeUJwSUQ0OUlEQTdJR2t0TFNrZ2UxeHVJQ0FnSUNBZ2JHVjBJR3NnUFNBb2RtRnNkV1VnUHlCMGFHbHpMbDlrWVhSaFcybGRJRG9nZm5Sb2FYTXVYMlJoZEdGYmFWMHBPeUF2THlCallYTjBYRzRnSUNBZ0lDQnBaaUFvY21WdFlXbHVhVzVuUW1sMGN5QWhQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHc2dKajBnZmlnb05ESTVORGsyTnpJNU5Ta2dQRHdnY21WdFlXbHVhVzVuUW1sMGN5azdYRzRnSUNBZ0lDQWdJSEpsYldGcGJtbHVaMEpwZEhNZ1BTQXdPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdabTl5SUNoc1pYUWdhaUE5SURJME95QnJJQ0U5SURBN0lHb2dMVDBnT0N3Z2F5QThQRDBnT0NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCd0lEMGdRbWwwUVhKeVlYa3VYMnhoYzNSUGJrSnBkRnRySUQ0K1BpQXdlREU0WFR0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEFnUGowZ01DbGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjQ0FySUNocElDb2dNeklwSUNzZ2FqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJQzB4TzF4dUlDQjlYRzU5WEc0aVhYMD0iLCJleHBvcnQgZnVuY3Rpb24gaGFtbWluZyhhcmdzID0ge30pIHtcbiAgICBmdW5jdGlvbiBnZXREaXN0YW5jZUYoKSB7XG4gICAgICAgIGlmICghYXJncyB8fCAhYXJncy5zY29yaW5nTWF0cml4IHx8ICFhcmdzLmFscGhhYmV0SW5kZXhlcylcbiAgICAgICAgICAgIHJldHVybiAoYSwgYikgPT4gYSA9PT0gYiA/IDAgOiAxO1xuICAgICAgICBpZiAoYXJncy5zY29yaW5nTWF0cml4Lmxlbmd0aCAhPT0gT2JqZWN0LmtleXMoYXJncy5hbHBoYWJldEluZGV4ZXMpLmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU2NvcmluZyBtYXRyaXggYW5kIGFscGhhYmV0IGluZGV4ZXMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgbGVuZ3RoJyk7XG4gICAgICAgIGNvbnN0IGluZGV4ZXMgPSBhcmdzLmFscGhhYmV0SW5kZXhlcztcbiAgICAgICAgY29uc3QgbWF0cml4ID0gYXJncy5zY29yaW5nTWF0cml4O1xuICAgICAgICAvL2NvbnN0IG1hdHJpeE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBudW1iZXI+PigpO1xuICAgICAgICAvL2NvbnN0IG1hcDI6IGFueSA9IHt9O1xuICAgICAgICBjb25zdCBtaW5DaGFyQ29kZSA9IE1hdGgubWluKC4uLk9iamVjdC5rZXlzKGluZGV4ZXMpLm1hcCgoaykgPT4gay5jaGFyQ29kZUF0KDApKSkgKyAxO1xuICAgICAgICBjb25zdCBzY29ycmluZ0FycmF5ID0gbmV3IEZsb2F0MzJBcnJheSgobWF0cml4Lmxlbmd0aCArIG1pbkNoYXJDb2RlKSAqIChtYXRyaXgubGVuZ3RoICsgbWluQ2hhckNvZGUpKTtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoaW5kZXhlcykuZm9yRWFjaCgoW2tleSwgaW5kZXhdKSA9PiB7XG4gICAgICAgICAgICAvL21hdHJpeE1hcC5zZXQoa2V5LCBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpKTtcbiAgICAgICAgICAgIC8vbWFwMltrZXldID0ge307XG4gICAgICAgICAgICBjb25zdCBtYXRyaXhSb3cgPSBtYXRyaXhbaW5kZXhdO1xuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoaW5kZXhlcykuZm9yRWFjaCgoW2tleTIsIGluZGV4Ml0pID0+IHtcbiAgICAgICAgICAgICAgICAvL21hdHJpeE1hcC5nZXQoa2V5KSEuc2V0KGtleTIsIG1hdHJpeFJvd1tpbmRleDJdKTtcbiAgICAgICAgICAgICAgICBzY29ycmluZ0FycmF5W2tleS5jaGFyQ29kZUF0KDApICogbWF0cml4Lmxlbmd0aCArIGtleTIuY2hhckNvZGVBdCgwKV0gPSBtYXRyaXhSb3dbaW5kZXgyXTtcbiAgICAgICAgICAgICAgICAvL21hcDJba2V5XVtrZXkyXSA9IG1hdHJpeFJvd1tpbmRleDJdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKGEsIGIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAxIC0gc2NvcnJpbmdBcnJheVthLmNoYXJDb2RlQXQoMCkgKiBtYXRyaXgubGVuZ3RoICsgYi5jaGFyQ29kZUF0KDApXTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgZGlzdGFuY2VGID0gZ2V0RGlzdGFuY2VGKCk7XG4gICAgY29uc3QgdGhyZXNob2xkID0gYXJncz8udGhyZXNob2xkID8/IDA7XG4gICAgcmV0dXJuIChzZXExLCBzZXEyKSA9PiB7XG4gICAgICAgIC8vIGhhbW1pbmcgZGlzdGFuY2Ugc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHNhbWUgc2l6ZSBzdHJpbmdzLFxuICAgICAgICAvLyBidXQgc3RpbGwsIGxldHMgYWRkIGEgY2hlY2sgYW5kIGlmIHRoZXkgYXJlIG5vdCBzYW1lIGxlbmd0aCBhZGQgdGhlIGRpZmZlcmVuY2UgdG8gdGhlIHJlc3VsdFxuICAgICAgICBsZXQgZGlmZiA9IDA7XG4gICAgICAgIGNvbnN0IHMxbCA9IHNlcTEubGVuZ3RoO1xuICAgICAgICBjb25zdCBzMmwgPSBzZXEyLmxlbmd0aDtcbiAgICAgICAgY29uc3QgdGhyZXNob2xkTGltaXQgPSBNYXRoLmNlaWwoTWF0aC5tYXgoczFsLCBzMmwpICogKDEgLSB0aHJlc2hvbGQpKTtcbiAgICAgICAgaWYgKHMxbCAhPT0gczJsKVxuICAgICAgICAgICAgZGlmZiA9IE1hdGguYWJzKHMxbCAtIHMybCk7XG4gICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGgubWluKHMxbCwgczJsKTsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoc2VxMVtpXSAhPT0gc2VxMltpXSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBkaXN0YW5jZUYoc2VxMVtpXSwgc2VxMltpXSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCA+IHRocmVzaG9sZExpbWl0KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgKz0gZGlmZjtcbiAgICAgICAgcmVzdWx0IC89IE1hdGgubWF4KHMxbCwgczJsKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYUdGdGJXbHVaeTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkltaGhiVzFwYm1jdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJSVUVzVFVGQlRTeFZRVUZWTEU5QlFVOHNRMEZCUXl4UFFVRjNReXhGUVVGRk8wbEJRMmhGTEZOQlFWTXNXVUZCV1R0UlFVTnVRaXhKUVVGSkxFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eGxRVUZsTzFsQlEzWkVMRTlCUVU4c1EwRkJReXhEUVVGVExFVkJRVVVzUTBGQlV5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOdVJDeEpRVUZKTEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVNc1RVRkJUU3hMUVVGTExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhEUVVGRExFMUJRVTA3V1VGRGVFVXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXhwUlVGQmFVVXNRMEZCUXl4RFFVRkRPMUZCUTNKR0xFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVNN1VVRkRja01zVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJRenRSUVVOc1F5d3lSRUZCTWtRN1VVRkRNMFFzZFVKQlFYVkNPMUZCUTNaQ0xFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUlhSR0xFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NXVUZCV1N4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFMUJRVTBzUjBGQlJ5eFhRVUZYTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzVjBGQlZ5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjBSeXhOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkRMME1zWjBSQlFXZEVPMWxCUTJoRUxHbENRVUZwUWp0WlFVTnFRaXhOUVVGTkxGTkJRVk1zUjBGQlJ5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1dVRkRhRU1zVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlN4TlFVRk5MRU5CUVVNc1JVRkJSU3hGUVVGRk8yZENRVU5xUkN4dFJFRkJiVVE3WjBKQlEyNUVMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0blFrRkRNVVlzYzBOQlFYTkRPMWxCUTNoRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEwd3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRTQ3hQUVVGUExFTkJRVU1zUTBGQlV5eEZRVUZGTEVOQlFWTXNSVUZCUlN4RlFVRkZPMWxCUXpsQ0xFOUJRVThzUTBGQlF5eEhRVUZITEdGQlFXRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUXpsRkxFTkJRVU1zUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZEUkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhaUVVGWkxFVkJRVVVzUTBGQlF6dEpRVVZxUXl4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFVkJRVVVzVTBGQlV5eEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVVjJReXhQUVVGUExFTkJRVU1zU1VGQldTeEZRVUZGTEVsQlFWa3NSVUZCUlN4RlFVRkZPMUZCUTNCRExDdEVRVUVyUkR0UlFVTXZSQ3dyUmtGQkswWTdVVUZETDBZc1NVRkJTU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEySXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU40UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzFGQlEzaENMRTFCUVUwc1kwRkJZeXhIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4yUlN4SlFVRkpMRWRCUVVjc1MwRkJTeXhIUVVGSE8xbEJRMklzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlJUZENMRWxCUVVrc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5tTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0WlFVTXpReXhKUVVGSkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVU3WjBKQlEzWkNMRTFCUVUwc1NVRkJTU3hUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTjBReXhKUVVGSkxFMUJRVTBzUjBGQlJ5eGpRVUZqTzI5Q1FVTjZRaXhQUVVGUExFTkJRVU1zUTBGQlF6dGhRVU5hTzFOQlEwWTdVVUZEUkN4TlFVRk5MRWxCUVVrc1NVRkJTU3hEUVVGRE8xRkJRMllzVFVGQlRTeEpRVUZKTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzFGQlF6ZENMRTlCUVU4c1RVRkJUU3hEUVVGRE8wbEJRMmhDTEVOQlFVTXNRMEZCUXp0QlFVTktMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2UyMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJrRnlaM01zSUcxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2YmxSNWNHVjlJR1p5YjIwZ0p5NHZkSGx3WlhNbk8xeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhR0Z0YldsdVp5aGhjbWR6T2lCUVlYSjBhV0ZzUEcxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2YmtGeVozTStJRDBnZTMwcE9pQnRiVVJwYzNSaGJtTmxSblZ1WTNScGIyNVVlWEJsSUh0Y2JpQWdablZ1WTNScGIyNGdaMlYwUkdsemRHRnVZMlZHS0NrNklDaGhPaUJ6ZEhKcGJtY3NJR0k2SUhOMGNtbHVaeWtnUFQ0Z2JuVnRZbVZ5SUh0Y2JpQWdJQ0JwWmlBb0lXRnlaM01nZkh3Z0lXRnlaM011YzJOdmNtbHVaMDFoZEhKcGVDQjhmQ0FoWVhKbmN5NWhiSEJvWVdKbGRFbHVaR1Y0WlhNcFhHNGdJQ0FnSUNCeVpYUjFjbTRnS0dFNklITjBjbWx1Wnl3Z1lqb2djM1J5YVc1bktTQTlQaUJoSUQwOVBTQmlJRDhnTUNBNklERTdYRzRnSUNBZ2FXWWdLR0Z5WjNNdWMyTnZjbWx1WjAxaGRISnBlQzVzWlc1bmRHZ2dJVDA5SUU5aWFtVmpkQzVyWlhsektHRnlaM011WVd4d2FHRmlaWFJKYm1SbGVHVnpLUzVzWlc1bmRHZ3BYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oxTmpiM0pwYm1jZ2JXRjBjbWw0SUdGdVpDQmhiSEJvWVdKbGRDQnBibVJsZUdWeklITm9iM1ZzWkNCb1lYWmxJSFJvWlNCellXMWxJR3hsYm1kMGFDY3BPMXh1SUNBZ0lHTnZibk4wSUdsdVpHVjRaWE1nUFNCaGNtZHpMbUZzY0doaFltVjBTVzVrWlhobGN6dGNiaUFnSUNCamIyNXpkQ0J0WVhSeWFYZ2dQU0JoY21kekxuTmpiM0pwYm1kTllYUnlhWGc3WEc0Z0lDQWdMeTlqYjI1emRDQnRZWFJ5YVhoTllYQWdQU0J1WlhjZ1RXRndQSE4wY21sdVp5d2dUV0Z3UEhOMGNtbHVaeXdnYm5WdFltVnlQajRvS1R0Y2JpQWdJQ0F2TDJOdmJuTjBJRzFoY0RJNklHRnVlU0E5SUh0OU8xeHVJQ0FnSUdOdmJuTjBJRzFwYmtOb1lYSkRiMlJsSUQwZ1RXRjBhQzV0YVc0b0xpNHVUMkpxWldOMExtdGxlWE1vYVc1a1pYaGxjeWt1YldGd0tDaHJLU0E5UGlCckxtTm9ZWEpEYjJSbFFYUW9NQ2twS1NBcklERTdYRzVjYmlBZ0lDQmpiMjV6ZENCelkyOXljbWx1WjBGeWNtRjVJRDBnYm1WM0lFWnNiMkYwTXpKQmNuSmhlU2dvYldGMGNtbDRMbXhsYm1kMGFDQXJJRzFwYmtOb1lYSkRiMlJsS1NBcUlDaHRZWFJ5YVhndWJHVnVaM1JvSUNzZ2JXbHVRMmhoY2tOdlpHVXBLVHRjYmlBZ0lDQlBZbXBsWTNRdVpXNTBjbWxsY3locGJtUmxlR1Z6S1M1bWIzSkZZV05vS0NoYmEyVjVMQ0JwYm1SbGVGMHBJRDArSUh0Y2JpQWdJQ0FnSUM4dmJXRjBjbWw0VFdGd0xuTmxkQ2hyWlhrc0lHNWxkeUJOWVhBOGMzUnlhVzVuTENCdWRXMWlaWEkrS0NrcE8xeHVJQ0FnSUNBZ0x5OXRZWEF5VzJ0bGVWMGdQU0I3ZlR0Y2JpQWdJQ0FnSUdOdmJuTjBJRzFoZEhKcGVGSnZkeUE5SUcxaGRISnBlRnRwYm1SbGVGMDdYRzRnSUNBZ0lDQlBZbXBsWTNRdVpXNTBjbWxsY3locGJtUmxlR1Z6S1M1bWIzSkZZV05vS0NoYmEyVjVNaXdnYVc1a1pYZ3lYU2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQXZMMjFoZEhKcGVFMWhjQzVuWlhRb2EyVjVLU0V1YzJWMEtHdGxlVElzSUcxaGRISnBlRkp2ZDF0cGJtUmxlREpkS1R0Y2JpQWdJQ0FnSUNBZ2MyTnZjbkpwYm1kQmNuSmhlVnRyWlhrdVkyaGhja052WkdWQmRDZ3dLU0FxSUcxaGRISnBlQzVzWlc1bmRHZ2dLeUJyWlhreUxtTm9ZWEpEYjJSbFFYUW9NQ2xkSUQwZ2JXRjBjbWw0VW05M1cybHVaR1Y0TWwwN1hHNGdJQ0FnSUNBZ0lDOHZiV0Z3TWx0clpYbGRXMnRsZVRKZElEMGdiV0YwY21sNFVtOTNXMmx1WkdWNE1sMDdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlLVHRjYmlBZ0lDQnlaWFIxY200Z0tHRTZJSE4wY21sdVp5d2dZam9nYzNSeWFXNW5LU0E5UGlCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnTVNBdElITmpiM0p5YVc1blFYSnlZWGxiWVM1amFHRnlRMjlrWlVGMEtEQXBJQ29nYldGMGNtbDRMbXhsYm1kMGFDQXJJR0l1WTJoaGNrTnZaR1ZCZENnd0tWMDdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dUlDQmpiMjV6ZENCa2FYTjBZVzVqWlVZZ1BTQm5aWFJFYVhOMFlXNWpaVVlvS1R0Y2JseHVJQ0JqYjI1emRDQjBhSEpsYzJodmJHUWdQU0JoY21kelB5NTBhSEpsYzJodmJHUWdQejhnTUR0Y2JseHVJQ0J5WlhSMWNtNGdLSE5sY1RFNklITjBjbWx1Wnl3Z2MyVnhNam9nYzNSeWFXNW5LU0E5UGlCN1hHNGdJQ0FnTHk4Z2FHRnRiV2x1WnlCa2FYTjBZVzVqWlNCemFHOTFiR1FnYjI1c2VTQmlaU0IxYzJWa0lIZHBkR2dnYzJGdFpTQnphWHBsSUhOMGNtbHVaM01zWEc0Z0lDQWdMeThnWW5WMElITjBhV3hzTENCc1pYUnpJR0ZrWkNCaElHTm9aV05ySUdGdVpDQnBaaUIwYUdWNUlHRnlaU0J1YjNRZ2MyRnRaU0JzWlc1bmRHZ2dZV1JrSUhSb1pTQmthV1ptWlhKbGJtTmxJSFJ2SUhSb1pTQnlaWE4xYkhSY2JpQWdJQ0JzWlhRZ1pHbG1aaUE5SURBN1hHNGdJQ0FnWTI5dWMzUWdjekZzSUQwZ2MyVnhNUzVzWlc1bmRHZzdYRzRnSUNBZ1kyOXVjM1FnY3pKc0lEMGdjMlZ4TWk1c1pXNW5kR2c3WEc0Z0lDQWdZMjl1YzNRZ2RHaHlaWE5vYjJ4a1RHbHRhWFFnUFNCTllYUm9MbU5sYVd3b1RXRjBhQzV0WVhnb2N6RnNMQ0J6TW13cElDb2dLREVnTFNCMGFISmxjMmh2YkdRcEtUdGNiaUFnSUNCcFppQW9jekZzSUNFOVBTQnpNbXdwWEc0Z0lDQWdJQ0JrYVdabUlEMGdUV0YwYUM1aFluTW9jekZzSUMwZ2N6SnNLVHRjYmx4dUlDQWdJR3hsZENCeVpYTjFiSFFnUFNBd08xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z1RXRjBhQzV0YVc0b2N6RnNMQ0J6TW13cE95QnBLeXNwSUh0Y2JpQWdJQ0FnSUdsbUlDaHpaWEV4VzJsZElDRTlQU0J6WlhFeVcybGRLU0I3WEc0Z0lDQWdJQ0FnSUhKbGMzVnNkQ0FyUFNCa2FYTjBZVzVqWlVZb2MyVnhNVnRwWFN3Z2MyVnhNbHRwWFNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h5WlhOMWJIUWdQaUIwYUhKbGMyaHZiR1JNYVcxcGRDbGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdNVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2NtVnpkV3gwSUNzOUlHUnBabVk3WEc0Z0lDQWdjbVZ6ZFd4MElDODlJRTFoZEdndWJXRjRLSE14YkN3Z2N6SnNLVHRjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQjlPMXh1ZlZ4dUlsMTkiLCIvLyBCbG9zdW0gNjIgbWF0cml4IGZvciBwcm90ZWluIHNlcXVlbmNlc1xuY29uc3QgQkxPU1VNNjIgPSBbWzQsIC0xLCAtMiwgLTIsIDAsIC0xLCAtMSwgMCwgLTIsIC0xLCAtMSwgLTEsIC0xLCAtMiwgLTEsIDEsIDAsIC0zLCAtMiwgMCwgLTIsIC0xLCAwLCAtNF0sXG4gICAgWy0xLCA1LCAwLCAtMiwgLTMsIDEsIDAsIC0yLCAwLCAtMywgLTIsIDIsIC0xLCAtMywgLTIsIC0xLCAtMSwgLTMsIC0yLCAtMywgLTEsIDAsIC0xLCAtNF0sXG4gICAgWy0yLCAwLCA2LCAxLCAtMywgMCwgMCwgMCwgMSwgLTMsIC0zLCAwLCAtMiwgLTMsIC0yLCAxLCAwLCAtNCwgLTIsIC0zLCAzLCAwLCAtMSwgLTRdLFxuICAgIFstMiwgLTIsIDEsIDYsIC0zLCAwLCAyLCAtMSwgLTEsIC0zLCAtNCwgLTEsIC0zLCAtMywgLTEsIDAsIC0xLCAtNCwgLTMsIC0zLCA0LCAxLCAtMSwgLTRdLFxuICAgIFswLCAtMywgLTMsIC0zLCA5LCAtMywgLTQsIC0zLCAtMywgLTEsIC0xLCAtMywgLTEsIC0yLCAtMywgLTEsIC0xLCAtMiwgLTIsIC0xLCAtMywgLTMsIC0yLCAtNF0sXG4gICAgWy0xLCAxLCAwLCAwLCAtMywgNSwgMiwgLTIsIDAsIC0zLCAtMiwgMSwgMCwgLTMsIC0xLCAwLCAtMSwgLTIsIC0xLCAtMiwgMCwgMywgLTEsIC00XSxcbiAgICBbLTEsIDAsIDAsIDIsIC00LCAyLCA1LCAtMiwgMCwgLTMsIC0zLCAxLCAtMiwgLTMsIC0xLCAwLCAtMSwgLTMsIC0yLCAtMiwgMSwgNCwgLTEsIC00XSxcbiAgICBbMCwgLTIsIDAsIC0xLCAtMywgLTIsIC0yLCA2LCAtMiwgLTQsIC00LCAtMiwgLTMsIC0zLCAtMiwgMCwgLTIsIC0yLCAtMywgLTMsIC0xLCAtMiwgLTEsIC00XSxcbiAgICBbLTIsIDAsIDEsIC0xLCAtMywgMCwgMCwgLTIsIDgsIC0zLCAtMywgLTEsIC0yLCAtMSwgLTIsIC0xLCAtMiwgLTIsIDIsIC0zLCAwLCAwLCAtMSwgLTRdLFxuICAgIFstMSwgLTMsIC0zLCAtMywgLTEsIC0zLCAtMywgLTQsIC0zLCA0LCAyLCAtMywgMSwgMCwgLTMsIC0yLCAtMSwgLTMsIC0xLCAzLCAtMywgLTMsIC0xLCAtNF0sXG4gICAgWy0xLCAtMiwgLTMsIC00LCAtMSwgLTIsIC0zLCAtNCwgLTMsIDIsIDQsIC0yLCAyLCAwLCAtMywgLTIsIC0xLCAtMiwgLTEsIDEsIC00LCAtMywgLTEsIC00XSxcbiAgICBbLTEsIDIsIDAsIC0xLCAtMywgMSwgMSwgLTIsIC0xLCAtMywgLTIsIDUsIC0xLCAtMywgLTEsIDAsIC0xLCAtMywgLTIsIC0yLCAwLCAxLCAtMSwgLTRdLFxuICAgIFstMSwgLTEsIC0yLCAtMywgLTEsIDAsIC0yLCAtMywgLTIsIDEsIDIsIC0xLCA1LCAwLCAtMiwgLTEsIC0xLCAtMSwgLTEsIDEsIC0zLCAtMSwgLTEsIC00XSxcbiAgICBbLTIsIC0zLCAtMywgLTMsIC0yLCAtMywgLTMsIC0zLCAtMSwgMCwgMCwgLTMsIDAsIDYsIC00LCAtMiwgLTIsIDEsIDMsIC0xLCAtMywgLTMsIC0xLCAtNF0sXG4gICAgWy0xLCAtMiwgLTIsIC0xLCAtMywgLTEsIC0xLCAtMiwgLTIsIC0zLCAtMywgLTEsIC0yLCAtNCwgNywgLTEsIC0xLCAtNCwgLTMsIC0yLCAtMiwgLTEsIC0yLCAtNF0sXG4gICAgWzEsIC0xLCAxLCAwLCAtMSwgMCwgMCwgMCwgLTEsIC0yLCAtMiwgMCwgLTEsIC0yLCAtMSwgNCwgMSwgLTMsIC0yLCAtMiwgMCwgMCwgMCwgLTRdLFxuICAgIFswLCAtMSwgMCwgLTEsIC0xLCAtMSwgLTEsIC0yLCAtMiwgLTEsIC0xLCAtMSwgLTEsIC0yLCAtMSwgMSwgNSwgLTIsIC0yLCAwLCAtMSwgLTEsIDAsIC00XSxcbiAgICBbLTMsIC0zLCAtNCwgLTQsIC0yLCAtMiwgLTMsIC0yLCAtMiwgLTMsIC0yLCAtMywgLTEsIDEsIC00LCAtMywgLTIsIDExLCAyLCAtMywgLTQsIC0zLCAtMiwgLTRdLFxuICAgIFstMiwgLTIsIC0yLCAtMywgLTIsIC0xLCAtMiwgLTMsIDIsIC0xLCAtMSwgLTIsIC0xLCAzLCAtMywgLTIsIC0yLCAyLCA3LCAtMSwgLTMsIC0yLCAtMSwgLTRdLFxuICAgIFswLCAtMywgLTMsIC0zLCAtMSwgLTIsIC0yLCAtMywgLTMsIDMsIDEsIC0yLCAxLCAtMSwgLTIsIC0yLCAwLCAtMywgLTEsIDQsIC0zLCAtMiwgLTEsIC00XSxcbiAgICBbLTIsIC0xLCAzLCA0LCAtMywgMCwgMSwgLTEsIDAsIC0zLCAtNCwgMCwgLTMsIC0zLCAtMiwgMCwgLTEsIC00LCAtMywgLTMsIDQsIDEsIC0xLCAtNF0sXG4gICAgWy0xLCAwLCAwLCAxLCAtMywgMywgNCwgLTIsIDAsIC0zLCAtMywgMSwgLTEsIC0zLCAtMSwgMCwgLTEsIC0zLCAtMiwgLTIsIDEsIDQsIC0xLCAtNF0sXG4gICAgWzAsIC0xLCAtMSwgLTEsIC0yLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMiwgMCwgMCwgLTIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTRdLFxuICAgIFstNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgLTQsIDFdXTtcbi8vIFByb3RlaW4gaW5kZXhlcyBmb3IgQkxPU1VNIG1hdHJpeFxuY29uc3QgUHJvdEluZGV4ZXMgPSB7XG4gICAgJ0EnOiAwLCAnUic6IDEsICdOJzogMiwgJ0QnOiAzLCAnQyc6IDQsICdRJzogNSwgJ0UnOiA2LCAnRyc6IDcsICdIJzogOCxcbiAgICAnSSc6IDksICdMJzogMTAsICdLJzogMTEsICdNJzogMTIsICdGJzogMTMsICdQJzogMTQsICdTJzogMTUsICdUJzogMTYsXG4gICAgJ1cnOiAxNywgJ1knOiAxOCwgJ1YnOiAxOSwgJ0InOiAyMCwgJ1onOiAyMSwgJ1gnOiAyMiwgJyonOiAyM1xufTtcbmNvbnN0IGRlZmF1bHRBcmdzID0ge1xuICAgIGdhcE9wZW46IDEsXG4gICAgZ2FwRXh0ZW5kOiAwLjYsXG4gICAgc2NvcmluZ01hdHJpeDogQkxPU1VNNjIsXG4gICAgYWxwaGFiZXRJbmRleGVzOiBQcm90SW5kZXhlc1xufTtcbi8qKiBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBjYWxjdWxhdGVzIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHR3byBzZXF1ZW5jZXMgYmFzZWQgb24gZ2FwIHBlbmFsdHkgYW5kIG1hdHJpeFxuICogQHBhcmFtIHtQYXJ0aWFsPE5lZWRsZW1hbld1bmNoQXJncz59YXJncyAtIGFyZ3VtZW50cyBmb3IgTmVlZGxlbWFuLVd1bmNoIGFsZ29yaXRobSBsaWtlIGdhcCBwZW5hbHR5LCBTY29yaW5nIG1hdHJpeC4uXG4gKiBAcmV0dXJuIHttbURpc3RhbmNlRnVuY3Rpb25UeXBlfSAtIGZ1bmN0aW9uIHRoYXQgY2FsY3VsYXRlcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0d28gc2VxdWVuY2VzXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIG5lZWRsZW1hbld1bmNoKGFyZ3MpIHtcbiAgICBjb25zdCBtYXhMZW4gPSAxMDAwMDtcbiAgICBjb25zdCBjaGFyQ29kZUFycmF5ID0gbmV3IFVpbnQxNkFycmF5KDB4MTAwMDApO1xuICAgIGNvbnN0IHsgZ2FwT3BlbiwgZ2FwRXh0ZW5kLCBzY29yaW5nTWF0cml4LCBhbHBoYWJldEluZGV4ZXMgfSA9IHsgLi4uZGVmYXVsdEFyZ3MsIC4uLmFyZ3MgfTtcbiAgICBPYmplY3QuZW50cmllcyhhbHBoYWJldEluZGV4ZXMpLmZvckVhY2goKFtrLCB2XSkgPT4gY2hhckNvZGVBcnJheVtrLmNoYXJDb2RlQXQoMCldID0gdik7XG4gICAgLy8gQXMgd2UgZG9uJ3QgbmVlZCB0cmFjZWJhY2ssIG5vIG5lZWQgdG8gc3RvcmUgdGhlIHdob2xlIG1hdHJpeFxuICAgIC8vIEludGVhZCwgd2Ugd2lsbCBzdG9yZSBvbmx5IHRoZSBsYXN0IHR3byByb3dzXG4gICAgY29uc3QgbWF0cml4ID0gW1xuICAgICAgICBuZXcgRmxvYXQzMkFycmF5KG1heExlbiksXG4gICAgICAgIG5ldyBGbG9hdDMyQXJyYXkobWF4TGVuKVxuICAgIF07XG4gICAgcmV0dXJuIChzZXExLCBzZXEyKSA9PiB7XG4gICAgICAgIC8vIHNpbWlsYXJseSwgd2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIHdoYXQgb3BlcmF0aW9uIGxlZCB0byB0aGUgY3VycmVudCBjZWxsXG4gICAgICAgIC8vIGkuZS4gd2hldGhlciB3ZSBjYW1lIGZyb20gdGhlIGxlZnQsIHRvcCBvciBkaWFnb25hbCB0byBhc3NpZ24gZ2FwIG9wZW4vZ2FwIGV4dGVuZCBwZW5hbHR5XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsR2FwcyA9IG5ldyBBcnJheShzZXExLmxlbmd0aCArIDEpLmZpbGwoZmFsc2UpO1xuICAgICAgICBjb25zdCBob3Jpem9udGFsR2FwcyA9IG5ldyBBcnJheShzZXExLmxlbmd0aCArIDEpLmZpbGwoZmFsc2UpO1xuICAgICAgICAvL3ZhcmlhYmxlcyB0byBrZWVwIHRyYWNrIHdoaWNoIHJvdyB3ZSBhcmUgaW5cbiAgICAgICAgLy8gdGhleSB3aWxsIHN3YXAgcGxhY2VzIG9uIGVhY2ggaXRlcmF0aW9uXG4gICAgICAgIGxldCBwcmV2Um93ID0gMDtcbiAgICAgICAgbGV0IGN1cnJSb3cgPSAxO1xuICAgICAgICAvLyBJbml0aWFsaXplIGZpcnN0IHJvd1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHNlcTEubGVuZ3RoICsgMTsgaSsrKSB7XG4gICAgICAgICAgICBtYXRyaXhbMF1baV0gPSAtZ2FwT3BlbiAtIChpIC0gMSkgKiBnYXBFeHRlbmQ7XG4gICAgICAgICAgICBtYXRyaXhbMV1baV0gPSAwO1xuICAgICAgICB9XG4gICAgICAgIG1hdHJpeFswXVswXSA9IDA7XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgcmVzdCBvZiB0aGUgbWF0cml4XG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgc2VxMi5sZW5ndGggKyAxOyBpKyspIHtcbiAgICAgICAgICAgIG1hdHJpeFtjdXJyUm93XVswXSA9IC1nYXBPcGVuIC0gKGkgLSAxKSAqIGdhcEV4dGVuZDtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAxOyBqIDwgc2VxMS5sZW5ndGggKyAxOyBqKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkaWFnb25hbCA9IG1hdHJpeFtwcmV2Um93XVtqIC0gMV0gK1xuICAgICAgICAgICAgICAgICAgICBzY29yaW5nTWF0cml4W2NoYXJDb2RlQXJyYXlbc2VxMS5jaGFyQ29kZUF0KGogLSAxKV1dW2NoYXJDb2RlQXJyYXlbc2VxMi5jaGFyQ29kZUF0KGkgLSAxKV1dO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvcCA9IG1hdHJpeFtwcmV2Um93XVtqXSAtICh2ZXJ0aWNhbEdhcHNbal0gPyBnYXBFeHRlbmQgOiBnYXBPcGVuKTtcbiAgICAgICAgICAgICAgICBjb25zdCBsZWZ0ID0gbWF0cml4W2N1cnJSb3ddW2ogLSAxXSAtIChob3Jpem9udGFsR2Fwc1tqIC0gMV0gPyBnYXBFeHRlbmQgOiBnYXBPcGVuKTtcbiAgICAgICAgICAgICAgICBtYXRyaXhbY3VyclJvd11bal0gPSBNYXRoLm1heChkaWFnb25hbCwgbGVmdCwgdG9wKTtcbiAgICAgICAgICAgICAgICAvLyB1cGRhdGUgZ2FwIGFycmF5c1xuICAgICAgICAgICAgICAgIGlmIChtYXRyaXhbY3VyclJvd11bal0gPT09IGRpYWdvbmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsR2Fwc1tqXSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBob3Jpem9udGFsR2Fwc1tqXSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChtYXRyaXhbY3VyclJvd11bal0gPT09IGxlZnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWxHYXBzW2pdID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGhvcml6b250YWxHYXBzW2pdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsR2Fwc1tqXSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGhvcml6b250YWxHYXBzW2pdID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU3dhcCByb3dzXG4gICAgICAgICAgICBwcmV2Um93ID0gY3VyclJvdztcbiAgICAgICAgICAgIGN1cnJSb3cgPSAoY3VyclJvdyArIDEpICUgMjtcbiAgICAgICAgfVxuICAgICAgICAvLyBhcyB0aGUgbWF0cml4IGlzIHRoZSBzaW1pbGFyaXR5IG1hdHJpeCwgYnV0IHdlIGFyZSBpbnRlcmVzdGVkIGluIGRpc3RhbmNlLFxuICAgICAgICAvLyB3ZSBuZWVkIGNvbXBhcmUgaXQgdG8gcGVyZmVjdCBtYXRjaCBzY29yZSB0byBnZXQgcmVhc29uYWJsZSBkaXN0YW5jZVxuICAgICAgICAvLyBjb25zdCBwZXJmZWN0TWF0Y2hTZXExID0gc2VxMS5zcGxpdCgnJykubWFwKChjKSA9PiBzY29yaW5nTWF0cml4W2FscGhhYmV0SW5kZXhlc1tjXV1bYWxwaGFiZXRJbmRleGVzW2NdXSlcbiAgICAgICAgLy8gICAucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMCk7XG4gICAgICAgIC8vIGNvbnN0IHBlcmZlY3RNYXRjaFNlcTIgPSBzZXEyLnNwbGl0KCcnKS5tYXAoKGMpID0+IHNjb3JpbmdNYXRyaXhbYWxwaGFiZXRJbmRleGVzW2NdXVthbHBoYWJldEluZGV4ZXNbY11dKVxuICAgICAgICAvLyAgIC5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKTtcbiAgICAgICAgLy8gY29uc3QgbWF4U2NvcmUgPSBNYXRoLm1heChwZXJmZWN0TWF0Y2hTZXExLCBwZXJmZWN0TWF0Y2hTZXEyKTtcbiAgICAgICAgY29uc3QgbWF4U2NvcmUgPSBNYXRoLm1heChzZXExLmxlbmd0aCwgc2VxMi5sZW5ndGgpO1xuICAgICAgICByZXR1cm4gKG1heFNjb3JlIC0gbWF0cml4W3ByZXZSb3ddW3NlcTEubGVuZ3RoXSkgLyBtYXhTY29yZTtcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYm1WbFpHeGxiV0Z1TFhkMWJuTmphQzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkltNWxaV1JzWlcxaGJpMTNkVzV6WTJndWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJSVUVzZVVOQlFYbERPMEZCUTNwRExFMUJRVTBzVVVGQlVTeEhRVU5rTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRlRVlzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZWtZc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTndSaXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU42Uml4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZET1VZc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTNKR0xFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM1JHTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRelZHTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjRSaXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZETTBZc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlF6TkdMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVONFJpeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUXpGR0xFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZETVVZc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRMMFlzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOd1JpeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUXpGR0xFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRPVVlzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkROVVlzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTXhSaXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM1pHTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzUkdMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZETjBZc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVzVITEc5RFFVRnZRenRCUVVOd1F5eE5RVUZOTEZkQlFWY3NSMEZCZVVJN1NVRkRlRU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4SFFVRkhMRVZCUVVVc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVXNSMEZCUnl4RlFVRkZMRU5CUVVNc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRVZCUVVVc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hEUVVGRE8wbEJRM1JGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRVZCUVVVc1IwRkJSeXhGUVVGRkxFVkJRVVVzUlVGQlJTeEhRVUZITEVWQlFVVXNSVUZCUlN4RlFVRkZMRWRCUVVjc1JVRkJSU3hGUVVGRkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVWQlFVVXNSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTEVWQlFVVXNSMEZCUnl4RlFVRkZMRVZCUVVVN1NVRkRja1VzUjBGQlJ5eEZRVUZGTEVWQlFVVXNSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTEVWQlFVVXNSMEZCUnl4RlFVRkZMRVZCUVVVc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJTeEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZMRVZCUVVVc1IwRkJSeXhGUVVGRkxFVkJRVVU3UTBGRE9VUXNRMEZCUXp0QlFVOUdMRTFCUVUwc1YwRkJWeXhIUVVGMVFqdEpRVU4wUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVOV0xGTkJRVk1zUlVGQlJTeEhRVUZITzBsQlEyUXNZVUZCWVN4RlFVRkZMRkZCUVZFN1NVRkRka0lzWlVGQlpTeEZRVUZGTEZkQlFWYzdRMEZETjBJc1EwRkJRenRCUVVWR096czdSVUZIUlR0QlFVTkdMRTFCUVUwc1ZVRkJWU3hqUVVGakxFTkJRVU1zU1VGQmFVTTdTVUZET1VRc1RVRkJUU3hOUVVGTkxFZEJRVWNzUzBGQlN5eERRVUZETzBsQlEzSkNMRTFCUVUwc1lVRkJZU3hIUVVGSExFbEJRVWtzVjBGQlZ5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMGxCUlM5RExFMUJRVTBzUlVGQlF5eFBRVUZQTEVWQlFVVXNVMEZCVXl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hsUVVGbExFVkJRVU1zUjBGQlJ5eEZRVUZETEVkQlFVY3NWMEZCVnl4RlFVRkZMRWRCUVVjc1NVRkJTU3hGUVVGRExFTkJRVU03U1VGRGRrWXNUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhsUVVGbExFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVONFJpeG5SVUZCWjBVN1NVRkRhRVVzSzBOQlFTdERPMGxCUXk5RExFMUJRVTBzVFVGQlRTeEhRVUYzUWp0UlFVTnNReXhKUVVGSkxGbEJRVmtzUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZEZUVJc1NVRkJTU3haUVVGWkxFTkJRVU1zVFVGQlRTeERRVUZETzB0QlEzcENMRU5CUVVNN1NVRkRSaXhQUVVGUExFTkJRVU1zU1VGQldTeEZRVUZGTEVsQlFWa3NSVUZCVnl4RlFVRkZPMUZCUXpkRExEWkZRVUUyUlR0UlFVTTNSU3cwUmtGQk5FWTdVVUZGTlVZc1RVRkJUU3haUVVGWkxFZEJRV01zU1VGQlNTeExRVUZMTEVOQlFWVXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRMMFVzVFVGQlRTeGpRVUZqTEVkQlFXTXNTVUZCU1N4TFFVRkxMRU5CUVZVc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRGFrWXNOa05CUVRaRE8xRkJRemRETERCRFFVRXdRenRSUVVNeFF5eEpRVUZKTEU5QlFVOHNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRhRUlzU1VGQlNTeFBRVUZQTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTJoQ0xIVkNRVUYxUWp0UlFVTjJRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkRlRU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF6dFpRVU01UXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMU5CUTJ4Q08xRkJRMFFzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVVZxUWl4dFEwRkJiVU03VVVGRGJrTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlEzaERMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNN1dVRkRjRVFzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8yZENRVU40UXl4TlFVRk5MRkZCUVZFc1IwRkRXaXhOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenR2UWtGRGNFSXNZVUZCWVN4RFFVRkRMR0ZCUVdFc1EwRkJReXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkRhRWNzVFVGQlRTeEhRVUZITEVkQlFVY3NUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJSU3hEUVVGRE8yZENRVU14UlN4TlFVRk5MRWxCUVVrc1IwRkJSeXhOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRuUWtGRGNFWXNUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUXpOQ0xGRkJRVkVzUlVGQlJTeEpRVUZKTEVWQlFVVXNSMEZCUnl4RFFVTndRaXhEUVVGRE8yZENRVU5HTEc5Q1FVRnZRanRuUWtGRGNFSXNTVUZCU1N4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NVVUZCVVN4RlFVRkZPMjlDUVVOdVF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRE8yOUNRVU40UWl4alFVRmpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETzJsQ1FVTXpRanR4UWtGQlRTeEpRVUZKTEUxQlFVMHNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eEpRVUZKTEVWQlFVVTdiMEpCUTNSRExGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNN2IwSkJRM2hDTEdOQlFXTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU03YVVKQlF6RkNPM0ZDUVVGTk8yOUNRVU5NTEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU03YjBKQlEzWkNMR05CUVdNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTTdhVUpCUXpOQ08yRkJRMFk3V1VGRFJDeFpRVUZaTzFsQlExb3NUMEZCVHl4SFFVRkhMRTlCUVU4c1EwRkJRenRaUVVOc1FpeFBRVUZQTEVkQlFVY3NRMEZCUXl4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFOQlF6ZENPMUZCUTBRc05rVkJRVFpGTzFGQlF6ZEZMSFZGUVVGMVJUdFJRVU4yUlN3MFIwRkJORWM3VVVGRE5VY3NhVU5CUVdsRE8xRkJRMnBETERSSFFVRTBSenRSUVVNMVJ5eHBRMEZCYVVNN1VVRkRha01zYVVWQlFXbEZPMUZCUTJwRkxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUlVGQlJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRjRVFzVDBGQlR5eERRVUZETEZGQlFWRXNSMEZCUnl4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1VVRkJVU3hEUVVGRE8wbEJRemxFTEVOQlFVTXNRMEZCUXp0QlFVTktMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2UyMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJrRnlaM01zSUcxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2YmxSNWNHVjlJR1p5YjIwZ0p5NHZkSGx3WlhNbk8xeHVYRzR2THlCQ2JHOXpkVzBnTmpJZ2JXRjBjbWw0SUdadmNpQndjbTkwWldsdUlITmxjWFZsYm1ObGMxeHVZMjl1YzNRZ1FreFBVMVZOTmpJNlFYSnlZWGs4UVhKeVlYazhiblZ0WW1WeVBqNGdQVnh1VzFzMExDQXRNU3dnTFRJc0lDMHlMQ0F3TENBdE1Td2dMVEVzSURBc0lDMHlMQ0F0TVN3Z0xURXNJQzB4TENBdE1Td2dMVElzSUMweExDQXhMQ0F3TENBdE15d2dMVElzSURBc0lDMHlMQ0F0TVN3Z01Dd2dMVFJkTEZ4dUlDQmJMVEVzSURVc0lEQXNJQzB5TENBdE15d2dNU3dnTUN3Z0xUSXNJREFzSUMwekxDQXRNaXdnTWl3Z0xURXNJQzB6TENBdE1pd2dMVEVzSUMweExDQXRNeXdnTFRJc0lDMHpMQ0F0TVN3Z01Dd2dMVEVzSUMwMFhTeGNiaUFnV3kweUxDQXdMQ0EyTENBeExDQXRNeXdnTUN3Z01Dd2dNQ3dnTVN3Z0xUTXNJQzB6TENBd0xDQXRNaXdnTFRNc0lDMHlMQ0F4TENBd0xDQXROQ3dnTFRJc0lDMHpMQ0F6TENBd0xDQXRNU3dnTFRSZExGeHVJQ0JiTFRJc0lDMHlMQ0F4TENBMkxDQXRNeXdnTUN3Z01pd2dMVEVzSUMweExDQXRNeXdnTFRRc0lDMHhMQ0F0TXl3Z0xUTXNJQzB4TENBd0xDQXRNU3dnTFRRc0lDMHpMQ0F0TXl3Z05Dd2dNU3dnTFRFc0lDMDBYU3hjYmlBZ1d6QXNJQzB6TENBdE15d2dMVE1zSURrc0lDMHpMQ0F0TkN3Z0xUTXNJQzB6TENBdE1Td2dMVEVzSUMwekxDQXRNU3dnTFRJc0lDMHpMQ0F0TVN3Z0xURXNJQzB5TENBdE1pd2dMVEVzSUMwekxDQXRNeXdnTFRJc0lDMDBYU3hjYmlBZ1d5MHhMQ0F4TENBd0xDQXdMQ0F0TXl3Z05Td2dNaXdnTFRJc0lEQXNJQzB6TENBdE1pd2dNU3dnTUN3Z0xUTXNJQzB4TENBd0xDQXRNU3dnTFRJc0lDMHhMQ0F0TWl3Z01Dd2dNeXdnTFRFc0lDMDBYU3hjYmlBZ1d5MHhMQ0F3TENBd0xDQXlMQ0F0TkN3Z01pd2dOU3dnTFRJc0lEQXNJQzB6TENBdE15d2dNU3dnTFRJc0lDMHpMQ0F0TVN3Z01Dd2dMVEVzSUMwekxDQXRNaXdnTFRJc0lERXNJRFFzSUMweExDQXRORjBzWEc0Z0lGc3dMQ0F0TWl3Z01Dd2dMVEVzSUMwekxDQXRNaXdnTFRJc0lEWXNJQzB5TENBdE5Dd2dMVFFzSUMweUxDQXRNeXdnTFRNc0lDMHlMQ0F3TENBdE1pd2dMVElzSUMwekxDQXRNeXdnTFRFc0lDMHlMQ0F0TVN3Z0xUUmRMRnh1SUNCYkxUSXNJREFzSURFc0lDMHhMQ0F0TXl3Z01Dd2dNQ3dnTFRJc0lEZ3NJQzB6TENBdE15d2dMVEVzSUMweUxDQXRNU3dnTFRJc0lDMHhMQ0F0TWl3Z0xUSXNJRElzSUMwekxDQXdMQ0F3TENBdE1Td2dMVFJkTEZ4dUlDQmJMVEVzSUMwekxDQXRNeXdnTFRNc0lDMHhMQ0F0TXl3Z0xUTXNJQzAwTENBdE15d2dOQ3dnTWl3Z0xUTXNJREVzSURBc0lDMHpMQ0F0TWl3Z0xURXNJQzB6TENBdE1Td2dNeXdnTFRNc0lDMHpMQ0F0TVN3Z0xUUmRMRnh1SUNCYkxURXNJQzB5TENBdE15d2dMVFFzSUMweExDQXRNaXdnTFRNc0lDMDBMQ0F0TXl3Z01pd2dOQ3dnTFRJc0lESXNJREFzSUMwekxDQXRNaXdnTFRFc0lDMHlMQ0F0TVN3Z01Td2dMVFFzSUMwekxDQXRNU3dnTFRSZExGeHVJQ0JiTFRFc0lESXNJREFzSUMweExDQXRNeXdnTVN3Z01Td2dMVElzSUMweExDQXRNeXdnTFRJc0lEVXNJQzB4TENBdE15d2dMVEVzSURBc0lDMHhMQ0F0TXl3Z0xUSXNJQzB5TENBd0xDQXhMQ0F0TVN3Z0xUUmRMRnh1SUNCYkxURXNJQzB4TENBdE1pd2dMVE1zSUMweExDQXdMQ0F0TWl3Z0xUTXNJQzB5TENBeExDQXlMQ0F0TVN3Z05Td2dNQ3dnTFRJc0lDMHhMQ0F0TVN3Z0xURXNJQzB4TENBeExDQXRNeXdnTFRFc0lDMHhMQ0F0TkYwc1hHNGdJRnN0TWl3Z0xUTXNJQzB6TENBdE15d2dMVElzSUMwekxDQXRNeXdnTFRNc0lDMHhMQ0F3TENBd0xDQXRNeXdnTUN3Z05pd2dMVFFzSUMweUxDQXRNaXdnTVN3Z015d2dMVEVzSUMwekxDQXRNeXdnTFRFc0lDMDBYU3hjYmlBZ1d5MHhMQ0F0TWl3Z0xUSXNJQzB4TENBdE15d2dMVEVzSUMweExDQXRNaXdnTFRJc0lDMHpMQ0F0TXl3Z0xURXNJQzB5TENBdE5Dd2dOeXdnTFRFc0lDMHhMQ0F0TkN3Z0xUTXNJQzB5TENBdE1pd2dMVEVzSUMweUxDQXRORjBzWEc0Z0lGc3hMQ0F0TVN3Z01Td2dNQ3dnTFRFc0lEQXNJREFzSURBc0lDMHhMQ0F0TWl3Z0xUSXNJREFzSUMweExDQXRNaXdnTFRFc0lEUXNJREVzSUMwekxDQXRNaXdnTFRJc0lEQXNJREFzSURBc0lDMDBYU3hjYmlBZ1d6QXNJQzB4TENBd0xDQXRNU3dnTFRFc0lDMHhMQ0F0TVN3Z0xUSXNJQzB5TENBdE1Td2dMVEVzSUMweExDQXRNU3dnTFRJc0lDMHhMQ0F4TENBMUxDQXRNaXdnTFRJc0lEQXNJQzB4TENBdE1Td2dNQ3dnTFRSZExGeHVJQ0JiTFRNc0lDMHpMQ0F0TkN3Z0xUUXNJQzB5TENBdE1pd2dMVE1zSUMweUxDQXRNaXdnTFRNc0lDMHlMQ0F0TXl3Z0xURXNJREVzSUMwMExDQXRNeXdnTFRJc0lERXhMQ0F5TENBdE15d2dMVFFzSUMwekxDQXRNaXdnTFRSZExGeHVJQ0JiTFRJc0lDMHlMQ0F0TWl3Z0xUTXNJQzB5TENBdE1Td2dMVElzSUMwekxDQXlMQ0F0TVN3Z0xURXNJQzB5TENBdE1Td2dNeXdnTFRNc0lDMHlMQ0F0TWl3Z01pd2dOeXdnTFRFc0lDMHpMQ0F0TWl3Z0xURXNJQzAwWFN4Y2JpQWdXekFzSUMwekxDQXRNeXdnTFRNc0lDMHhMQ0F0TWl3Z0xUSXNJQzB6TENBdE15d2dNeXdnTVN3Z0xUSXNJREVzSUMweExDQXRNaXdnTFRJc0lEQXNJQzB6TENBdE1Td2dOQ3dnTFRNc0lDMHlMQ0F0TVN3Z0xUUmRMRnh1SUNCYkxUSXNJQzB4TENBekxDQTBMQ0F0TXl3Z01Dd2dNU3dnTFRFc0lEQXNJQzB6TENBdE5Dd2dNQ3dnTFRNc0lDMHpMQ0F0TWl3Z01Dd2dMVEVzSUMwMExDQXRNeXdnTFRNc0lEUXNJREVzSUMweExDQXRORjBzWEc0Z0lGc3RNU3dnTUN3Z01Dd2dNU3dnTFRNc0lETXNJRFFzSUMweUxDQXdMQ0F0TXl3Z0xUTXNJREVzSUMweExDQXRNeXdnTFRFc0lEQXNJQzB4TENBdE15d2dMVElzSUMweUxDQXhMQ0EwTENBdE1Td2dMVFJkTEZ4dUlDQmJNQ3dnTFRFc0lDMHhMQ0F0TVN3Z0xUSXNJQzB4TENBdE1Td2dMVEVzSUMweExDQXRNU3dnTFRFc0lDMHhMQ0F0TVN3Z0xURXNJQzB5TENBd0xDQXdMQ0F0TWl3Z0xURXNJQzB4TENBdE1Td2dMVEVzSUMweExDQXRORjBzWEc0Z0lGc3ROQ3dnTFRRc0lDMDBMQ0F0TkN3Z0xUUXNJQzAwTENBdE5Dd2dMVFFzSUMwMExDQXROQ3dnTFRRc0lDMDBMQ0F0TkN3Z0xUUXNJQzAwTENBdE5Dd2dMVFFzSUMwMExDQXROQ3dnTFRRc0lDMDBMQ0F0TkN3Z0xUUXNJREZkWFR0Y2JseHVMeThnVUhKdmRHVnBiaUJwYm1SbGVHVnpJR1p2Y2lCQ1RFOVRWVTBnYldGMGNtbDRYRzVqYjI1emRDQlFjbTkwU1c1a1pYaGxjem9nZTF0cFpEcHpkSEpwYm1kZE9tNTFiV0psY24wZ1BTQjdYRzRnSUNkQkp6b2dNQ3dnSjFJbk9pQXhMQ0FuVGljNklESXNJQ2RFSnpvZ015d2dKME1uT2lBMExDQW5VU2M2SURVc0lDZEZKem9nTml3Z0owY25PaUEzTENBblNDYzZJRGdzWEc0Z0lDZEpKem9nT1N3Z0owd25PaUF4TUN3Z0owc25PaUF4TVN3Z0owMG5PaUF4TWl3Z0owWW5PaUF4TXl3Z0oxQW5PaUF4TkN3Z0oxTW5PaUF4TlN3Z0oxUW5PaUF4Tml4Y2JpQWdKMWNuT2lBeE55d2dKMWtuT2lBeE9Dd2dKMVluT2lBeE9Td2dKMEluT2lBeU1Dd2dKMW9uT2lBeU1Td2dKMWduT2lBeU1pd2dKeW9uT2lBeU0xeHVmVHRjYmx4dWRIbHdaU0JPWldWa2JHVnRZVzVYZFc1amFFRnlaM01nUFNCdGJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1QmNtZHpJQ1lnZTF4dUlDQm5ZWEJQY0dWdU9pQnVkVzFpWlhJN1hHNGdJR2RoY0VWNGRHVnVaRG9nYm5WdFltVnlPMXh1ZlZ4dVhHNWpiMjV6ZENCa1pXWmhkV3gwUVhKbmN6b2dUbVZsWkd4bGJXRnVWM1Z1WTJoQmNtZHpJRDBnZTF4dUlDQm5ZWEJQY0dWdU9pQXhMRnh1SUNCbllYQkZlSFJsYm1RNklEQXVOaXhjYmlBZ2MyTnZjbWx1WjAxaGRISnBlRG9nUWt4UFUxVk5OaklzWEc0Z0lHRnNjR2hoWW1WMFNXNWtaWGhsY3pvZ1VISnZkRWx1WkdWNFpYTmNibjA3WEc1Y2JpOHFLaUJTWlhSMWNtNXpJR0VnWm5WdVkzUnBiMjRnZEdoaGRDQmpZV3hqZFd4aGRHVnpJSFJvWlNCa2FYTjBZVzVqWlNCaVpYUjNaV1Z1SUhSM2J5QnpaWEYxWlc1alpYTWdZbUZ6WldRZ2IyNGdaMkZ3SUhCbGJtRnNkSGtnWVc1a0lHMWhkSEpwZUZ4dUlDb2dRSEJoY21GdElIdFFZWEowYVdGc1BFNWxaV1JzWlcxaGJsZDFibU5vUVhKbmN6NTlZWEpuY3lBdElHRnlaM1Z0Wlc1MGN5Qm1iM0lnVG1WbFpHeGxiV0Z1TFZkMWJtTm9JR0ZzWjI5eWFYUm9iU0JzYVd0bElHZGhjQ0J3Wlc1aGJIUjVMQ0JUWTI5eWFXNW5JRzFoZEhKcGVDNHVYRzRnS2lCQWNtVjBkWEp1SUh0dGJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1VWVYQmxmU0F0SUdaMWJtTjBhVzl1SUhSb1lYUWdZMkZzWTNWc1lYUmxjeUIwYUdVZ1pHbHpkR0Z1WTJVZ1ltVjBkMlZsYmlCMGQyOGdjMlZ4ZFdWdVkyVnpYRzRxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUc1bFpXUnNaVzFoYmxkMWJtTm9LR0Z5WjNNNklGQmhjblJwWVd3OFRtVmxaR3hsYldGdVYzVnVZMmhCY21kelBpazZJRzF0UkdsemRHRnVZMlZHZFc1amRHbHZibFI1Y0dVZ2UxeHVJQ0JqYjI1emRDQnRZWGhNWlc0Z1BTQXhNREF3TUR0Y2JpQWdZMjl1YzNRZ1kyaGhja052WkdWQmNuSmhlU0E5SUc1bGR5QlZhVzUwTVRaQmNuSmhlU2d3ZURFd01EQXdLVHRjYmx4dUlDQmpiMjV6ZENCN1oyRndUM0JsYml3Z1oyRndSWGgwWlc1a0xDQnpZMjl5YVc1blRXRjBjbWw0TENCaGJIQm9ZV0psZEVsdVpHVjRaWE45SUQwZ2V5NHVMbVJsWm1GMWJIUkJjbWR6TENBdUxpNWhjbWR6ZlR0Y2JpQWdUMkpxWldOMExtVnVkSEpwWlhNb1lXeHdhR0ZpWlhSSmJtUmxlR1Z6S1M1bWIzSkZZV05vS0NoYmF5d2dkbDBwSUQwK0lHTm9ZWEpEYjJSbFFYSnlZWGxiYXk1amFHRnlRMjlrWlVGMEtEQXBYU0E5SUhZcE8xeHVJQ0F2THlCQmN5QjNaU0JrYjI0bmRDQnVaV1ZrSUhSeVlXTmxZbUZqYXl3Z2JtOGdibVZsWkNCMGJ5QnpkRzl5WlNCMGFHVWdkMmh2YkdVZ2JXRjBjbWw0WEc0Z0lDOHZJRWx1ZEdWaFpDd2dkMlVnZDJsc2JDQnpkRzl5WlNCdmJteDVJSFJvWlNCc1lYTjBJSFIzYnlCeWIzZHpYRzRnSUdOdmJuTjBJRzFoZEhKcGVEb2dRWEp5WVhrOFJteHZZWFF6TWtGeWNtRjVQaUE5SUZ0Y2JpQWdJQ0J1WlhjZ1JteHZZWFF6TWtGeWNtRjVLRzFoZUV4bGJpa3NYRzRnSUNBZ2JtVjNJRVpzYjJGME16SkJjbkpoZVNodFlYaE1aVzRwWEc0Z0lGMDdYRzRnSUhKbGRIVnliaUFvYzJWeE1Ub2djM1J5YVc1bkxDQnpaWEV5T2lCemRISnBibWNwSURvZ2JuVnRZbVZ5SUQwK0lIdGNiaUFnSUNBdkx5QnphVzFwYkdGeWJIa3NJSGRsSUc1bFpXUWdkRzhnYTJWbGNDQjBjbUZqYXlCdlppQjNhR0YwSUc5d1pYSmhkR2x2YmlCc1pXUWdkRzhnZEdobElHTjFjbkpsYm5RZ1kyVnNiRnh1SUNBZ0lDOHZJR2t1WlM0Z2QyaGxkR2hsY2lCM1pTQmpZVzFsSUdaeWIyMGdkR2hsSUd4bFpuUXNJSFJ2Y0NCdmNpQmthV0ZuYjI1aGJDQjBieUJoYzNOcFoyNGdaMkZ3SUc5d1pXNHZaMkZ3SUdWNGRHVnVaQ0J3Wlc1aGJIUjVYRzVjYmlBZ0lDQmpiMjV6ZENCMlpYSjBhV05oYkVkaGNITTZJR0p2YjJ4bFlXNWJYU0E5SUc1bGR5QkJjbkpoZVR4aWIyOXNaV0Z1UGloelpYRXhMbXhsYm1kMGFDQXJNU2t1Wm1sc2JDaG1ZV3h6WlNrN1hHNGdJQ0FnWTI5dWMzUWdhRzl5YVhwdmJuUmhiRWRoY0hNNklHSnZiMnhsWVc1YlhTQTlJRzVsZHlCQmNuSmhlVHhpYjI5c1pXRnVQaWh6WlhFeExteGxibWQwYUNBck1Ta3VabWxzYkNobVlXeHpaU2s3WEc0Z0lDQWdMeTkyWVhKcFlXSnNaWE1nZEc4Z2EyVmxjQ0IwY21GamF5QjNhR2xqYUNCeWIzY2dkMlVnWVhKbElHbHVYRzRnSUNBZ0x5OGdkR2hsZVNCM2FXeHNJSE4zWVhBZ2NHeGhZMlZ6SUc5dUlHVmhZMmdnYVhSbGNtRjBhVzl1WEc0Z0lDQWdiR1YwSUhCeVpYWlNiM2NnUFNBd08xeHVJQ0FnSUd4bGRDQmpkWEp5VW05M0lEMGdNVHRjYmlBZ0lDQXZMeUJKYm1sMGFXRnNhWHBsSUdacGNuTjBJSEp2ZDF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBeE95QnBJRHdnYzJWeE1TNXNaVzVuZEdnZ0t5QXhPeUJwS3lzcElIdGNiaUFnSUNBZ0lHMWhkSEpwZUZzd1hWdHBYU0E5SUMxbllYQlBjR1Z1SUMwZ0tHa2dMU0F4S1NBcUlHZGhjRVY0ZEdWdVpEdGNiaUFnSUNBZ0lHMWhkSEpwZUZzeFhWdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dUlDQWdJRzFoZEhKcGVGc3dYVnN3WFNBOUlEQTdYRzVjYmlBZ0lDQXZMeUJEWVd4amRXeGhkR1VnZEdobElISmxjM1FnYjJZZ2RHaGxJRzFoZEhKcGVGeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXhPeUJwSUR3Z2MyVnhNaTVzWlc1bmRHZ2dLeUF4T3lCcEt5c3BJSHRjYmlBZ0lDQWdJRzFoZEhKcGVGdGpkWEp5VW05M1hWc3dYU0E5SUMxbllYQlBjR1Z1SUMwZ0tHa2dMU0F4S1NBcUlHZGhjRVY0ZEdWdVpEdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F4T3lCcUlEd2djMlZ4TVM1c1pXNW5kR2dnS3lBeE95QnFLeXNwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWkdsaFoyOXVZV3dnUFZ4dUlDQWdJQ0FnSUNBZ0lHMWhkSEpwZUZ0d2NtVjJVbTkzWFZ0cUlDMGdNVjBnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdjMk52Y21sdVowMWhkSEpwZUZ0amFHRnlRMjlrWlVGeWNtRjVXM05sY1RFdVkyaGhja052WkdWQmRDaHFJQzBnTVNsZFhWdGphR0Z5UTI5a1pVRnljbUY1VzNObGNUSXVZMmhoY2tOdlpHVkJkQ2hwSUMwZ01TbGRYVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkRzl3SUQwZ2JXRjBjbWw0VzNCeVpYWlNiM2RkVzJwZElDMGdLSFpsY25ScFkyRnNSMkZ3YzF0cVhTQS9JR2RoY0VWNGRHVnVaQ0E2SUdkaGNFOXdaVzRnS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYkdWbWRDQTlJRzFoZEhKcGVGdGpkWEp5VW05M1hWdHFJQzBnTVYwZ0xTQW9hRzl5YVhwdmJuUmhiRWRoY0hOYmFpQXRJREZkSUQ4Z1oyRndSWGgwWlc1a0lEb2daMkZ3VDNCbGJpazdYRzRnSUNBZ0lDQWdJRzFoZEhKcGVGdGpkWEp5VW05M1hWdHFYU0E5SUUxaGRHZ3ViV0Y0S0Z4dUlDQWdJQ0FnSUNBZ0lHUnBZV2R2Ym1Gc0xDQnNaV1owTENCMGIzQmNiaUFnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnTHk4Z2RYQmtZWFJsSUdkaGNDQmhjbkpoZVhOY2JpQWdJQ0FnSUNBZ2FXWWdLRzFoZEhKcGVGdGpkWEp5VW05M1hWdHFYU0E5UFQwZ1pHbGhaMjl1WVd3cElIdGNiaUFnSUNBZ0lDQWdJQ0IyWlhKMGFXTmhiRWRoY0hOYmFsMGdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0JvYjNKcGVtOXVkR0ZzUjJGd2MxdHFYU0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0cxaGRISnBlRnRqZFhKeVVtOTNYVnRxWFNBOVBUMGdiR1ZtZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpsY25ScFkyRnNSMkZ3YzF0cVhTQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQWdJR2h2Y21sNmIyNTBZV3hIWVhCelcycGRJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0IyWlhKMGFXTmhiRWRoY0hOYmFsMGdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJR2h2Y21sNmIyNTBZV3hIWVhCelcycGRJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJQzh2SUZOM1lYQWdjbTkzYzF4dUlDQWdJQ0FnY0hKbGRsSnZkeUE5SUdOMWNuSlNiM2M3WEc0Z0lDQWdJQ0JqZFhKeVVtOTNJRDBnS0dOMWNuSlNiM2NnS3lBeEtTQWxJREk3WEc0Z0lDQWdmVnh1SUNBZ0lDOHZJR0Z6SUhSb1pTQnRZWFJ5YVhnZ2FYTWdkR2hsSUhOcGJXbHNZWEpwZEhrZ2JXRjBjbWw0TENCaWRYUWdkMlVnWVhKbElHbHVkR1Z5WlhOMFpXUWdhVzRnWkdsemRHRnVZMlVzWEc0Z0lDQWdMeThnZDJVZ2JtVmxaQ0JqYjIxd1lYSmxJR2wwSUhSdklIQmxjbVpsWTNRZ2JXRjBZMmdnYzJOdmNtVWdkRzhnWjJWMElISmxZWE52Ym1GaWJHVWdaR2x6ZEdGdVkyVmNiaUFnSUNBdkx5QmpiMjV6ZENCd1pYSm1aV04wVFdGMFkyaFRaWEV4SUQwZ2MyVnhNUzV6Y0d4cGRDZ25KeWt1YldGd0tDaGpLU0E5UGlCelkyOXlhVzVuVFdGMGNtbDRXMkZzY0doaFltVjBTVzVrWlhobGMxdGpYVjFiWVd4d2FHRmlaWFJKYm1SbGVHVnpXMk5kWFNsY2JpQWdJQ0F2THlBZ0lDNXlaV1IxWTJVb0tHRXNJR0lwSUQwK0lHRWdLeUJpTENBd0tUdGNiaUFnSUNBdkx5QmpiMjV6ZENCd1pYSm1aV04wVFdGMFkyaFRaWEV5SUQwZ2MyVnhNaTV6Y0d4cGRDZ25KeWt1YldGd0tDaGpLU0E5UGlCelkyOXlhVzVuVFdGMGNtbDRXMkZzY0doaFltVjBTVzVrWlhobGMxdGpYVjFiWVd4d2FHRmlaWFJKYm1SbGVHVnpXMk5kWFNsY2JpQWdJQ0F2THlBZ0lDNXlaV1IxWTJVb0tHRXNJR0lwSUQwK0lHRWdLeUJpTENBd0tUdGNiaUFnSUNBdkx5QmpiMjV6ZENCdFlYaFRZMjl5WlNBOUlFMWhkR2d1YldGNEtIQmxjbVpsWTNSTllYUmphRk5sY1RFc0lIQmxjbVpsWTNSTllYUmphRk5sY1RJcE8xeHVJQ0FnSUdOdmJuTjBJRzFoZUZOamIzSmxJRDBnVFdGMGFDNXRZWGdvYzJWeE1TNXNaVzVuZEdnc0lITmxjVEl1YkdWdVozUm9LVHRjYmlBZ0lDQnlaWFIxY200Z0tHMWhlRk5qYjNKbElDMGdiV0YwY21sNFczQnlaWFpTYjNkZFczTmxjVEV1YkdWdVozUm9YU2tnTHlCdFlYaFRZMjl5WlR0Y2JpQWdmVHRjYm4xY2JpSmRmUT09IiwiaW1wb3J0IHsgaGFtbWluZyB9IGZyb20gJy4vaGFtbWluZyc7XG5pbXBvcnQgeyBsZXZlbnN0ZWluIH0gZnJvbSAnLi9sZXZlbnN0ZWluJztcbmltcG9ydCB7IG5lZWRsZW1hbld1bmNoIH0gZnJvbSAnLi9uZWVkbGVtYW4td3Vuc2NoJztcbi8qKiBFbnVtIGNvbnRhaW5pbmcgY3VycmVudGx5IHN1cHBvcnRlZCBtYWNyb21vbGVjdWxlIGRpc3RhbmNlIGZ1bmN0aW9uc1xuICogSGFtbWluZyBkaXN0YW5jZSB3aWxsIGJlIHVzZWQgaWYgdGhlIHNlcXVlbmNlcyBhcmUgYWxyZWFkeSBhbGlnbmVkXG4gKiBOZWVkbGVtYW4gZGlzdGFuY2Ugd2lsbCBiZSB1c2VkIGZvciBwcm90ZWluIHNlcXVlbmNlcyB3aXRoIGtub3duIEJMT1NVTTYyIG1hdHJpeFxuICogTGV2ZW5zaHRlaW4gZGlzdGFuY2Ugd2lsbCBiZSB1c2VkIGZvciBudWNsZW90aWRlIHNlcXVlbmNlcyBhcyBmb3IgdGhlbSBzdWJzdGl0dXRpb24gbWF0cml4IGlzIHNhbWUgYXMgaWRlbnRpdHkgbWF0cml4XG4gKi9cbmV4cG9ydCB2YXIgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzO1xuKGZ1bmN0aW9uIChNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMpIHtcbiAgICBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXNbXCJIQU1NSU5HXCJdID0gXCJIYW1taW5nXCI7XG4gICAgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzW1wiTEVWRU5TSFRFSU5cIl0gPSBcIkxldmVuc2h0ZWluXCI7XG4gICAgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzW1wiTkVFRExFTUFOTl9XVU5TQ0hcIl0gPSBcIk5lZWRsZW1hbm4tV3Vuc2NoXCI7XG4gICAgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzW1wiTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRVwiXSA9IFwiTW9ub21lciBjaGVtaWNhbCBkaXN0YW5jZVwiO1xufSkoTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzIHx8IChNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMgPSB7fSkpO1xuO1xuZXhwb3J0IGNvbnN0IG1tRGlzdGFuY2VGdW5jdGlvbnMgPSB7XG4gICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5IQU1NSU5HXTogaGFtbWluZyxcbiAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkxFVkVOU0hURUlOXTogbGV2ZW5zdGVpbixcbiAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk5FRURMRU1BTk5fV1VOU0NIXTogbmVlZGxlbWFuV3VuY2gsXG4gICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5NT05PTUVSX0NIRU1JQ0FMX0RJU1RBTkNFXTogaGFtbWluZ1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJXRmpjbTl0YjJ4bFkzVnNaUzFrYVhOMFlXNWpaUzFtZFc1amRHbHZibk11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SnRZV055YjIxdmJHVmpkV3hsTFdScGMzUmhibU5sTFdaMWJtTjBhVzl1Y3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hQUVVGUExFVkJRVU1zVDBGQlR5eEZRVUZETEUxQlFVMHNWMEZCVnl4RFFVRkRPMEZCUTJ4RExFOUJRVThzUlVGQlF5eFZRVUZWTEVWQlFVTXNUVUZCVFN4alFVRmpMRU5CUVVNN1FVRkRlRU1zVDBGQlR5eEZRVUZETEdOQlFXTXNSVUZCUXl4TlFVRk5MRzlDUVVGdlFpeERRVUZETzBGQlIyeEVPenM3TzBkQlNVYzdRVUZEU0N4TlFVRk5MRU5CUVU0c1NVRkJXU3gzUWtGTFdEdEJRVXhFTEZkQlFWa3NkMEpCUVhkQ08wbEJRMmhETEN0RFFVRnRRaXhEUVVGQk8wbEJRMjVDTEhWRVFVRXlRaXhEUVVGQk8wbEJRek5DTEcxRlFVRjFReXhEUVVGQk8wbEJRM1pETEcxR1FVRjFSQ3hEUVVGQk8wRkJRek5FTEVOQlFVTXNSVUZNVnl4M1FrRkJkMElzUzBGQmVFSXNkMEpCUVhkQ0xGRkJTMjVETzBGQlFVRXNRMEZCUXp0QlFVVkdMRTFCUVUwc1EwRkJReXhOUVVGTkxHMUNRVUZ0UWl4SFFVRTRSVHRKUVVNMVJ5eERRVUZETEhkQ1FVRjNRaXhEUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTEU5QlFVODdTVUZETTBNc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJSU3hWUVVGVk8wbEJRMnhFTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1JVRkJSU3hqUVVGak8wbEJRelZFTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zZVVKQlFYbENMRU5CUVVNc1JVRkJSU3hQUVVGUE8wTkJRemxFTEVOQlFVTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdlMmhoYlcxcGJtZDlJR1p5YjIwZ0p5NHZhR0Z0YldsdVp5YzdYRzVwYlhCdmNuUWdlMnhsZG1WdWMzUmxhVzU5SUdaeWIyMGdKeTR2YkdWMlpXNXpkR1ZwYmljN1hHNXBiWEJ2Y25RZ2UyNWxaV1JzWlcxaGJsZDFibU5vZlNCbWNtOXRJQ2N1TDI1bFpXUnNaVzFoYmkxM2RXNXpZMmduTzF4dWFXMXdiM0owSUh0dGJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1VWVYQmxmU0JtY205dElDY3VMM1I1Y0dWekp6dGNibHh1THlvcUlFVnVkVzBnWTI5dWRHRnBibWx1WnlCamRYSnlaVzUwYkhrZ2MzVndjRzl5ZEdWa0lHMWhZM0p2Ylc5c1pXTjFiR1VnWkdsemRHRnVZMlVnWm5WdVkzUnBiMjV6WEc0Z0tpQklZVzF0YVc1bklHUnBjM1JoYm1ObElIZHBiR3dnWW1VZ2RYTmxaQ0JwWmlCMGFHVWdjMlZ4ZFdWdVkyVnpJR0Z5WlNCaGJISmxZV1I1SUdGc2FXZHVaV1JjYmlBcUlFNWxaV1JzWlcxaGJpQmthWE4wWVc1alpTQjNhV3hzSUdKbElIVnpaV1FnWm05eUlIQnliM1JsYVc0Z2MyVnhkV1Z1WTJWeklIZHBkR2dnYTI1dmQyNGdRa3hQVTFWTk5qSWdiV0YwY21sNFhHNGdLaUJNWlhabGJuTm9kR1ZwYmlCa2FYTjBZVzVqWlNCM2FXeHNJR0psSUhWelpXUWdabTl5SUc1MVkyeGxiM1JwWkdVZ2MyVnhkV1Z1WTJWeklHRnpJR1p2Y2lCMGFHVnRJSE4xWW5OMGFYUjFkR2x2YmlCdFlYUnlhWGdnYVhNZ2MyRnRaU0JoY3lCcFpHVnVkR2wwZVNCdFlYUnlhWGhjYmlBcUwxeHVaWGh3YjNKMElHVnVkVzBnVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpJSHRjYmlBZ0lDQklRVTFOU1U1SElEMGdKMGhoYlcxcGJtY25MRnh1SUNBZ0lFeEZWa1ZPVTBoVVJVbE9JRDBnSjB4bGRtVnVjMmgwWldsdUp5eGNiaUFnSUNCT1JVVkVURVZOUVU1T1gxZFZUbE5EU0NBOUlDZE9aV1ZrYkdWdFlXNXVMVmQxYm5OamFDY3NYRzRnSUNBZ1RVOU9UMDFGVWw5RFNFVk5TVU5CVEY5RVNWTlVRVTVEUlNBOUlDZE5iMjV2YldWeUlHTm9aVzFwWTJGc0lHUnBjM1JoYm1ObEoxeHVmVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRzF0UkdsemRHRnVZMlZHZFc1amRHbHZibk02SUZKbFkyOXlaRHhOYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXNJQ2gyWVd4MVpUODZJR0Z1ZVNrZ1BUNGdiVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVWSGx3WlQ0Z1BTQjdYRzRnSUZ0TmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE11U0VGTlRVbE9SMTA2SUdoaGJXMXBibWNzWEc0Z0lGdE5iVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpUbUZ0WlhNdVRFVldSVTVUU0ZSRlNVNWRPaUJzWlhabGJuTjBaV2x1TEZ4dUlDQmJUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWekxrNUZSVVJNUlUxQlRrNWZWMVZPVTBOSVhUb2dibVZsWkd4bGJXRnVWM1Z1WTJnc1hHNGdJRnROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVUVTlPVDAxRlVsOURTRVZOU1VOQlRGOUVTVk5VUVU1RFJWMDZJR2hoYlcxcGJtZGNibjA3WEc0aVhYMD0iLCJpbXBvcnQgeyBkaXN0YW5jZSB9IGZyb20gJ2Zhc3Rlc3QtbGV2ZW5zaHRlaW4nO1xuZXhwb3J0IGZ1bmN0aW9uIGxldmVuc3RlaW4oKSB7XG4gICAgcmV0dXJuIChzZXExLCBzZXEyKSA9PiB7XG4gICAgICAgIHJldHVybiBkaXN0YW5jZShzZXExLCBzZXEyKSAvIE1hdGgubWF4KHNlcTEubGVuZ3RoLCBzZXEyLmxlbmd0aCk7XG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJHVjJaVzV6ZEdWcGJpNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW14bGRtVnVjM1JsYVc0dWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVDBGQlR5eEZRVUZETEZGQlFWRXNSVUZCUXl4TlFVRk5MSEZDUVVGeFFpeERRVUZETzBGQlJ6ZERMRTFCUVUwc1ZVRkJWU3hWUVVGVk8wbEJRM2hDTEU5QlFVOHNRMEZCUXl4SlFVRlpMRVZCUVVVc1NVRkJXU3hGUVVGRkxFVkJRVVU3VVVGRGNFTXNUMEZCVHl4UlFVRlJMRU5CUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUlVGQlJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRia1VzUTBGQlF5eERRVUZETzBGQlEwb3NRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN1pHbHpkR0Z1WTJWOUlHWnliMjBnSjJaaGMzUmxjM1F0YkdWMlpXNXphSFJsYVc0bk8xeHVhVzF3YjNKMElIdHRiVVJwYzNSaGJtTmxSblZ1WTNScGIyNVVlWEJsZlNCbWNtOXRJQ2N1TDNSNWNHVnpKenRjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUd4bGRtVnVjM1JsYVc0b0tUb2diVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVWSGx3WlNCN1hHNGdJSEpsZEhWeWJpQW9jMlZ4TVRvZ2MzUnlhVzVuTENCelpYRXlPaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0J5WlhSMWNtNGdaR2x6ZEdGdVkyVW9jMlZ4TVN3Z2MyVnhNaWtnTHlCTllYUm9MbTFoZUNoelpYRXhMbXhsYm1kMGFDd2djMlZ4TWk1c1pXNW5kR2dwTzF4dUlDQjlPMXh1ZlZ4dUlsMTkiLCJpbXBvcnQgQml0QXJyYXkgZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvYml0LWFycmF5JztcbmltcG9ydCB7IEJpdEFycmF5TWV0cmljc05hbWVzIH0gZnJvbSAnLi90eXBlZC1tZXRyaWNzL2NvbnN0cyc7XG5pbXBvcnQgeyBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMgfSBmcm9tICcuL21hY3JvbW9sZWN1bGUtZGlzdGFuY2UtZnVuY3Rpb25zJztcbmV4cG9ydCBjb25zdCBzaW1pbGFyaXR5TWV0cmljID0ge1xuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IHRhbmltb3RvU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZV06IGRpY2VTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYXN5bW1ldHJpY1NpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBicmF1bkJsYW5xdWV0U2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXTogY29zaW5lU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGt1bGN6eW5za2lTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBtY0Nvbm5hdWdoZXlTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Sb2dvdEdvbGRiZXJnXTogcm9nb3RHb2xkYmVyZ1NpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IHJ1c3NlbFNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogc29rYWxTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5IYW1taW5nXTogaGFtbWluZ1NpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGV1Y2xpZGVhblNpbWlsYXJpdHksXG59O1xuZXhwb3J0IGNvbnN0IGRpc3RhbmNlTWV0cmljcyA9IHtcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dOiB0YW5pbW90b0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogZGljZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYXN5bW1ldHJpY0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XTogYnJhdW5CbGFucXVldERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBjb3NpbmVEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGt1bGN6eW5za2lEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XTogbWNDb25uYXVnaGV5RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiByb2dvdEdvbGRiZXJnRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IHJ1c3NlbERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF06IHNva2FsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkhhbW1pbmddOiBoYW1taW5nRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGV1Y2xpZGVhbkRpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBDSEVNX1NJTUlMQVJJVFlfTUVUUklDUyA9IFtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90byxcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZVxuXTtcbmV4cG9ydCBjb25zdCBTRVFfU1BBQ0VfU0lNSUxBUklUWV9NRVRSSUNTID0gW1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWMsXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXG5dO1xuZXhwb3J0IGNvbnN0IE1BQ1JPTU9MRUNVTEVfU0lNSUxBUklUWV9NRVRSSUNTID0gW1xuICAgIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5IQU1NSU5HLFxuICAgIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5MRVZFTlNIVEVJTixcbiAgICBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRSxcbiAgICBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTkVFRExFTUFOTl9XVU5TQ0hcbl07XG5leHBvcnQgZnVuY3Rpb24gdGFuaW1vdG9TaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGlmICh0b3RhbCA9PSAwKVxuICAgICAgICByZXR1cm4gMS4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gKHRvdGFsIC0gY29tbW9uKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0YW5pbW90b0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gMSAtIHRhbmltb3RvU2ltaWxhcml0eSh4LCB5KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0YW5pbW90b0Rpc3RhbmNlSW50QXJyYXkoeCwgeSkge1xuICAgIGNvbnN0IHhiID0gbmV3IEJpdEFycmF5KHgsIHgubGVuZ3RoICogMzIpO1xuICAgIGNvbnN0IHliID0gbmV3IEJpdEFycmF5KHksIHkubGVuZ3RoICogMzIpO1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KHRhbmltb3RvU2ltaWxhcml0eSh4YiwgeWIpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBkaWNlU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgdG90YWwgPSB4LnRydWVDb3VudCgpICsgeS50cnVlQ291bnQoKTtcbiAgICBpZiAodG90YWwgPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIDIgKiBjb21tb24gLyB0b3RhbDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBkaWNlRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiAxIC0gZGljZVNpbWlsYXJpdHkoeCwgeSk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29zaW5lU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgdG90YWwgPSB4LnRydWVDb3VudCgpICogeS50cnVlQ291bnQoKTtcbiAgICBpZiAodG90YWwgPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIGNvbW1vbiAvIE1hdGguc3FydCh0b3RhbCk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29zaW5lRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiAxIC0gY29zaW5lU2ltaWxhcml0eSh4LCB5KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBldWNsaWRlYW5TaW1pbGFyaXR5KHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZShldWNsaWRlYW5EaXN0YW5jZSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZXVjbGlkZWFuRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBNYXRoLnNxcnQoeC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCkgLSAyICogeC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBoYW1taW5nU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldFNpbWlsYXJpdHlGcm9tRGlzdGFuY2UoaGFtbWluZ0Rpc3RhbmNlKHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBoYW1taW5nRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiB4LnRydWVDb3VudCgpICsgeS50cnVlQ291bnQoKSAtIDIgKiB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gc29rYWxTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gKDIgKiB0b3RhbCAtIDMgKiBjb21tb24pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNva2FsRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiAxIC0gc29rYWxTaW1pbGFyaXR5KHgsIHkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGt1bGN6eW5za2lTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGNvbnN0IHRvdGFsUHJvZCA9IHgudHJ1ZUNvdW50KCkgKiB5LnRydWVDb3VudCgpO1xuICAgIGlmICh0b3RhbFByb2QgPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIChjb21tb24gKiB0b3RhbCkgLyAoMiAqIHRvdGFsUHJvZCk7XG59XG5leHBvcnQgZnVuY3Rpb24ga3VsY3p5bnNraURpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShrdWxjenluc2tpU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gbWNDb25uYXVnaGV5U2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgdG90YWwgPSB4LnRydWVDb3VudCgpICsgeS50cnVlQ291bnQoKTtcbiAgICBjb25zdCB0b3RhbFByb2QgPSB4LnRydWVDb3VudCgpICogeS50cnVlQ291bnQoKTtcbiAgICBpZiAodG90YWxQcm9kID09IDApXG4gICAgICAgIHJldHVybiAwLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiAoY29tbW9uICogdG90YWwgLSB0b3RhbFByb2QpIC8gdG90YWxQcm9kO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG1jQ29ubmF1Z2hleURpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShtY0Nvbm5hdWdoZXlTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBhc3ltbWV0cmljU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgbWluID0gTWF0aC5taW4oeC50cnVlQ291bnQoKSwgeS50cnVlQ291bnQoKSk7XG4gICAgaWYgKG1pbiA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gbWluO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFzeW1tZXRyaWNEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIDEgLSBhc3ltbWV0cmljU2ltaWxhcml0eSh4LCB5KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBicmF1bkJsYW5xdWV0U2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgbWF4ID0gTWF0aC5tYXgoeC50cnVlQ291bnQoKSwgeS50cnVlQ291bnQoKSk7XG4gICAgaWYgKG1heCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gbWF4O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGJyYXVuQmxhbnF1ZXREaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoYnJhdW5CbGFucXVldFNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJ1c3NlbFNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGlmICh4Lmxlbmd0aCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8geC5sZW5ndGg7XG59XG5leHBvcnQgZnVuY3Rpb24gcnVzc2VsRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KHJ1c3NlbFNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJvZ290R29sZGJlcmdTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgY29uc3QgdG90YWwgPSB4LmNvdW50Qml0cyh0cnVlKSArIHkuY291bnRCaXRzKHRydWUpO1xuICAgIGNvbnN0IGxlbiA9IHgubGVuZ3RoO1xuICAgIGNvbnN0IGRpZmYgPSBsZW4gLSB0b3RhbCArIGNvbW1vbjtcbiAgICBpZiAoKGNvbW1vbiA9PSBsZW4pIHx8IChkaWZmID09IGxlbikpXG4gICAgICAgIHJldHVybiAxLjA7XG4gICAgZWxzZVxuICAgICAgICByZXR1cm4gY29tbW9uIC8gdG90YWwgKyBkaWZmIC8gKDIgKiBsZW4gLSB0b3RhbCk7XG59XG5leHBvcnQgZnVuY3Rpb24gcm9nb3RHb2xkYmVyZ0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShyb2dvdEdvbGRiZXJnU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZShkaXN0YW5jZSkge1xuICAgIHJldHVybiAxIC8gKDEgKyBkaXN0YW5jZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShzaW1pbGFyaXR5KSB7XG4gICAgcmV0dXJuIHNpbWlsYXJpdHkgPT09IDAgPyAzLjQwMjgyM0UrMzggOiAoMSAvIHNpbWlsYXJpdHkpIC0gMTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBudW1lcmljRGlzdGFuY2UoYXJncykge1xuICAgIGlmIChhcmdzICYmIGFyZ3MucmFuZ2UgIT0gdW5kZWZpbmVkICYmIGFyZ3MucmFuZ2UgPiAwKSB7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gYXJncy5yYW5nZTtcbiAgICAgICAgcmV0dXJuIChhLCBiKSA9PiBNYXRoLmFicyhhIC0gYikgLyByYW5nZTtcbiAgICB9XG4gICAgcmV0dXJuIChhLCBiKSA9PiBNYXRoLmFicyhhIC0gYik7XG59XG5leHBvcnQgZnVuY3Rpb24gY29tbW9uSXRlbXNDb3VudChhcmdzKSB7XG4gICAgY29uc3QgbW9zdENvbW1vbiA9IGFyZ3M/Lm1vc3RDb21tb24gPz8gbmV3IFNldCgpO1xuICAgIHJldHVybiAoYXJyMSwgYXJyMikgPT4ge1xuICAgICAgICBjb25zdCBsZW4xID0gYXJyMS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGxlbjIgPSBhcnIyLmxlbmd0aDtcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgICAgbGV0IGkxID0gMDtcbiAgICAgICAgbGV0IGkyID0gMDtcbiAgICAgICAgd2hpbGUgKChpMSA8IGxlbjEpICYmIChpMiA8IGxlbjIpKSB7XG4gICAgICAgICAgICBpZiAoYXJyMVtpMV0gPT09IGFycjJbaTJdKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFtb3N0Q29tbW9uPy5oYXMoYXJyMVtpMV0pKVxuICAgICAgICAgICAgICAgICAgICArK2NvdW50O1xuICAgICAgICAgICAgICAgICsraTE7XG4gICAgICAgICAgICAgICAgKytpMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGFycjFbaTFdIDwgYXJyMltpMl0pIHtcbiAgICAgICAgICAgICAgICArK2kxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgKytpMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbnZlcnNlQ29tbW9uSXRlbXNDb3VudChhcmdzKSB7XG4gICAgY29uc3QgZiA9IGNvbW1vbkl0ZW1zQ291bnQoYXJncyk7XG4gICAgcmV0dXJuIChhcnIxLCBhcnIyKSA9PiB7XG4gICAgICAgIGlmIChhcnIyLmxlbmd0aCA9PT0gMCB8fCBhcnIxLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiAxMDAwMDtcbiAgICAgICAgcmV0dXJuIE1hdGgubWluKGFycjEubGVuZ3RoLCBhcnIyLmxlbmd0aCkgLyAoZihhcnIxLCBhcnIyKSArIDAuMDAwMSk7XG4gICAgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVpHbHpkR0Z1WTJVdGJXVjBjbWxqY3kxdFpYUm9iMlJ6TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2laR2x6ZEdGdVkyVXRiV1YwY21samN5MXRaWFJvYjJSekxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNVVUZCVVN4TlFVRk5MSGxEUVVGNVF5eERRVUZETzBGQlF5OUVMRTlCUVU4c1JVRkJReXh2UWtGQmIwSXNSVUZCUXl4TlFVRk5MSGRDUVVGM1FpeERRVUZETzBGQlF6VkVMRTlCUVU4c1JVRkJReXgzUWtGQmQwSXNSVUZCUXl4TlFVRk5MRzlEUVVGdlF5eERRVUZETzBGQlJUVkZMRTFCUVUwc1EwRkJReXhOUVVGTkxHZENRVUZuUWl4SFFVRTJSRHRKUVVONFJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTEd0Q1FVRnJRanRKUVVOdVJDeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEdOQlFXTTdTVUZETTBNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1JVRkJSU3h2UWtGQmIwSTdTVUZEZGtRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1JVRkJSU3gxUWtGQmRVSTdTVUZETjBRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3huUWtGQlowSTdTVUZETDBNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1JVRkJSU3h2UWtGQmIwSTdTVUZEZGtRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4WlFVRlpMRU5CUVVNc1JVRkJSU3h6UWtGQmMwSTdTVUZETTBRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1JVRkJSU3gxUWtGQmRVSTdTVUZETjBRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3huUWtGQlowSTdTVUZETDBNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hsUVVGbE8wbEJRemRETEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVDBGQlR5eERRVUZETEVWQlFVVXNhVUpCUVdsQ08wbEJRMnBFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVTBGQlV5eERRVUZETEVWQlFVVXNiVUpCUVcxQ08wTkJRM1JFTEVOQlFVTTdRVUZGUml4TlFVRk5MRU5CUVVNc1RVRkJUU3hsUVVGbExFZEJRVFpFTzBsQlEzWkdMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRVZCUVVVc1owSkJRV2RDTzBsQlEycEVMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1dVRkJXVHRKUVVONlF5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTEd0Q1FVRnJRanRKUVVOeVJDeERRVUZETEc5Q1FVRnZRaXhEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTEhGQ1FVRnhRanRKUVVNelJDeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEdOQlFXTTdTVUZETjBNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1JVRkJSU3hyUWtGQmEwSTdTVUZEY2tRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4WlFVRlpMRU5CUVVNc1JVRkJSU3h2UWtGQmIwSTdTVUZEZWtRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1JVRkJSU3h4UWtGQmNVSTdTVUZETTBRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hqUVVGak8wbEJRemRETEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVXNZVUZCWVR0SlFVTXpReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRkxHVkJRV1U3U1VGREwwTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFRRVUZUTEVOQlFVTXNSVUZCUlN4cFFrRkJhVUk3UTBGRGNFUXNRMEZCUXp0QlFVVkdMRTFCUVUwc1EwRkJReXhOUVVGTkxIVkNRVUYxUWl4SFFVRkhPMGxCUTNKRExHOUNRVUZ2UWl4RFFVRkRMRkZCUVZFN1NVRkROMElzYjBKQlFXOUNMRU5CUVVNc1NVRkJTVHRKUVVONlFpeHZRa0ZCYjBJc1EwRkJReXhOUVVGTk8wTkJRVU1zUTBGQlF6dEJRVU12UWl4TlFVRk5MRU5CUVVNc1RVRkJUU3cwUWtGQk5FSXNSMEZCUnp0SlFVTXhReXh2UWtGQmIwSXNRMEZCUXl4UlFVRlJPMGxCUXpkQ0xHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVN1NVRkRMMElzYjBKQlFXOUNMRU5CUVVNc1RVRkJUVHRKUVVNelFpeHZRa0ZCYjBJc1EwRkJReXhMUVVGTE8wTkJRVU1zUTBGQlF6dEJRVU01UWl4TlFVRk5MRU5CUVVNc1RVRkJUU3huUTBGQlowTXNSMEZCUnp0SlFVTTVReXgzUWtGQmQwSXNRMEZCUXl4UFFVRlBPMGxCUTJoRExIZENRVUYzUWl4RFFVRkRMRmRCUVZjN1NVRkRjRU1zZDBKQlFYZENMRU5CUVVNc2VVSkJRWGxDTzBsQlEyeEVMSGRDUVVGM1FpeERRVUZETEdsQ1FVRnBRanREUVVNelF5eERRVUZETzBGQlIwWXNUVUZCVFN4VlFVRlZMR3RDUVVGclFpeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUTNwRUxFMUJRVTBzUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdTVUZETlVNc1NVRkJTU3hMUVVGTExFbEJRVWtzUTBGQlF6dFJRVUZGTEU5QlFVOHNSMEZCUnl4RFFVRkRPMGxCUXpOQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRNME1zVDBGQlR5eE5RVUZOTEVkQlFVY3NRMEZCUXl4TFFVRkxMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU03UVVGRGJrTXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3huUWtGQlowSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVOMlJDeFBRVUZQTEVOQlFVTXNSMEZCUnl4clFrRkJhMElzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRkRU1zUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4M1FrRkJkMElzUTBGQlF5eERRVUZqTEVWQlFVVXNRMEZCWXp0SlFVTnlSU3hOUVVGTkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEZGQlFWRXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFMUJRVTBzUjBGQlJ5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTXhReXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEZGQlFWRXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFMUJRVTBzUjBGQlJ5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTXhReXhQUVVGUExIbENRVUY1UWl4RFFVRkRMR3RDUVVGclFpeERRVUZETEVWQlFVVXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJReTlFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1kwRkJZeXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzSkVMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRE5VTXNTVUZCU1N4TFFVRkxMRWxCUVVrc1EwRkJRenRSUVVGRkxFOUJRVThzUjBGQlJ5eERRVUZETzBsQlF6TkNMRTFCUVUwc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdTVUZETTBNc1QwRkJUeXhEUVVGRExFZEJRVWNzVFVGQlRTeEhRVUZITEV0QlFVc3NRMEZCUXp0QlFVTTFRaXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEZsQlFWa3NRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVOdVJDeFBRVUZQTEVOQlFVTXNSMEZCUnl4alFVRmpMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEyeERMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWjBKQlFXZENMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRGRrUXNUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVNMVF5eEpRVUZKTEV0QlFVc3NTVUZCU1N4RFFVRkRPMUZCUVVVc1QwRkJUeXhIUVVGSExFTkJRVU03U1VGRE0wSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UXl4UFFVRlBMRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTI1RExFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNZMEZCWXl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRM0pFTEU5QlFVOHNRMEZCUXl4SFFVRkhMR2RDUVVGblFpeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOd1F5eERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMRzFDUVVGdFFpeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUXpGRUxFOUJRVThzZVVKQlFYbENMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRE5VUXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hwUWtGQmFVSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVONFJDeFBRVUZQTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNCR0xFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNhVUpCUVdsQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZEZUVRc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETVVRc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeGxRVUZsTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRkRVFzVDBGQlR5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wRkJRM3BGTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1pVRkJaU3hEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzUkVMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRE5VTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UXl4UFFVRlBMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eExRVUZMTEVkQlFVY3NRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRek5ETEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1lVRkJZU3hEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzQkVMRTlCUVU4c1EwRkJReXhIUVVGSExHVkJRV1VzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRia01zUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4dlFrRkJiMElzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTXpSQ3hOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzBsQlF6VkRMRTFCUVUwc1UwRkJVeXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRGFFUXNTVUZCU1N4VFFVRlRMRWxCUVVrc1EwRkJRenRSUVVGRkxFOUJRVThzUjBGQlJ5eERRVUZETzBsQlF5OUNMRTFCUVUwc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdTVUZETTBNc1QwRkJUeXhEUVVGRExFMUJRVTBzUjBGQlJ5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU1zUTBGQlF6dEJRVU0xUXl4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHdENRVUZyUWl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRM3BFTEU5QlFVOHNlVUpCUVhsQ0xFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETDBRc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeHpRa0ZCYzBJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU0zUkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRelZETEUxQlFVMHNVMEZCVXl4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN1NVRkRhRVFzU1VGQlNTeFRRVUZUTEVsQlFVa3NRMEZCUXp0UlFVRkZMRTlCUVU4c1IwRkJSeXhEUVVGRE8wbEJReTlDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRE0wTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1IwRkJSeXhMUVVGTExFZEJRVWNzVTBGQlV5eERRVUZETEVkQlFVY3NVMEZCVXl4RFFVRkRPMEZCUTJ4RUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNiMEpCUVc5Q0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZETTBRc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4elFrRkJjMElzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOcVJTeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMRzlDUVVGdlFpeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUXpORUxFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJReXhEUVVGRE8wbEJRMjVFTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkJSU3hQUVVGUExFZEJRVWNzUTBGQlF6dEpRVU42UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6TkRMRTlCUVU4c1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF6dEJRVU4wUWl4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHdENRVUZyUWl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRM3BFTEU5QlFVOHNRMEZCUXl4SFFVRkhMRzlDUVVGdlFpeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVONFF5eERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMSFZDUVVGMVFpeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUXpsRUxFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJReXhEUVVGRE8wbEJRMjVFTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkJSU3hQUVVGUExFZEJRVWNzUTBGQlF6dEpRVU42UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6TkRMRTlCUVU4c1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF6dEJRVU4wUWl4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxIRkNRVUZ4UWl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRelZFTEU5QlFVOHNlVUpCUVhsQ0xFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEYkVVc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeG5Ra0ZCWjBJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU4yUkN4SlFVRkpMRU5CUVVNc1EwRkJReXhOUVVGTkxFbEJRVWtzUTBGQlF6dFJRVUZGTEU5QlFVOHNSMEZCUnl4RFFVRkRPMGxCUXpsQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRNME1zVDBGQlR5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRCUVVNelFpeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR05CUVdNc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU55UkN4UFFVRlBMSGxDUVVGNVFpeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUXpORUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZET1VRc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTXpReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRjRVFzVFVGQlRTeEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVOeVFpeE5RVUZOTEVsQlFVa3NSMEZCUnl4SFFVRkhMRWRCUVVjc1MwRkJTeXhIUVVGSExFMUJRVTBzUTBGQlF6dEpRVU5zUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hKUVVGSkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4SlFVRkpMRWRCUVVjc1EwRkJRenRSUVVGRkxFOUJRVThzUjBGQlJ5eERRVUZET3p0UlFVTTFReXhQUVVGUExFMUJRVTBzUjBGQlJ5eExRVUZMTEVkQlFVY3NTVUZCU1N4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTjRSQ3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEhGQ1FVRnhRaXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlF6VkVMRTlCUVU4c2VVSkJRWGxDTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRiRVVzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4NVFrRkJlVUlzUTBGQlF5eFJRVUZuUWp0SlFVTjRSQ3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4UlFVRlJMRU5CUVVNc1EwRkJRenRCUVVNMVFpeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMSGxDUVVGNVFpeERRVUZETEZWQlFXdENPMGxCUXpGRUxFOUJRVThzVlVGQlZTeExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4VlFVRlZMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03UVVGRGFFVXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hsUVVGbExFTkJRVU1zU1VGQmRVSTdTVUZEY2tRc1NVRkJTU3hKUVVGSkxFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NTVUZCU1N4VFFVRlRMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eERRVUZETEVWQlFVVTdVVUZEY2tRc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXp0UlFVTjZRaXhQUVVGUExFTkJRVU1zUTBGQlV5eEZRVUZGTEVOQlFWTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRE8wdEJRekZFTzBsQlJVUXNUMEZCVHl4RFFVRkRMRU5CUVZNc1JVRkJSU3hEUVVGVExFVkJRVVVzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEyNUVMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWjBKQlFXZENMRU5CUVVNc1NVRkJhVU03U1VGRGFFVXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hGUVVGRkxGVkJRVlVzU1VGQlNTeEpRVUZKTEVkQlFVY3NSVUZCVlN4RFFVRkRPMGxCUTNwRUxFOUJRVThzUTBGQlF5eEpRVUYxUWl4RlFVRkZMRWxCUVhWQ0xFVkJRVVVzUlVGQlJUdFJRVU14UkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzFGQlEzcENMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZEZWtJc1NVRkJTU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEyUXNTVUZCU1N4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRMWdzU1VGQlNTeEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUlZnc1QwRkJUeXhEUVVGRExFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUlVGQlJUdFpRVU5xUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhGUVVGRkxFTkJRVU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVN1owSkJRM3BDTEVsQlFVa3NRMEZCUXl4VlFVRlZMRVZCUVVVc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0dlFrRkROVUlzUlVGQlJTeExRVUZMTEVOQlFVTTdaMEpCUTFZc1JVRkJSU3hGUVVGRkxFTkJRVU03WjBKQlEwd3NSVUZCUlN4RlFVRkZMRU5CUVVNN1lVRkRUanRwUWtGQlRTeEpRVUZKTEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVTdaMEpCUVVVc1JVRkJSU3hGUVVGRkxFTkJRVU03WVVGQlJUdHBRa0ZCVFR0blFrRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF6dGhRVUZGTzFOQlEzcEVPMUZCUlVRc1QwRkJUeXhMUVVGTExFTkJRVU03U1VGRFppeERRVUZETEVOQlFVTTdRVUZEU2l4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxIVkNRVUYxUWl4RFFVRkRMRWxCUVdsRE8wbEJRM1pGTEUxQlFVMHNRMEZCUXl4SFFVRkhMR2RDUVVGblFpeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUTJwRExFOUJRVThzUTBGQlF5eEpRVUYxUWl4RlFVRkZMRWxCUVhWQ0xFVkJRVVVzUlVGQlJUdFJRVU14UkN4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRXRCUVVzc1EwRkJRenRaUVVONFF5eFBRVUZQTEV0QlFVc3NRMEZCUXp0UlFVVm1MRTlCUVU4c1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTTdTVUZEZGtVc1EwRkJReXhEUVVGRE8wRkJRMG9zUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQkNhWFJCY25KaGVTQm1jbTl0SUNkQVpHRjBZV2R5YjJzdGJHbGljbUZ5YVdWekwzVjBhV3h6TDNOeVl5OWlhWFF0WVhKeVlYa25PMXh1YVcxd2IzSjBJSHRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsYzMwZ1puSnZiU0FuTGk5MGVYQmxaQzF0WlhSeWFXTnpMMk52Ym5OMGN5YzdYRzVwYlhCdmNuUWdlMDF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGMzMGdabkp2YlNBbkxpOXRZV055YjIxdmJHVmpkV3hsTFdScGMzUmhibU5sTFdaMWJtTjBhVzl1Y3ljN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCemFXMXBiR0Z5YVhSNVRXVjBjbWxqT2lCN0lGdHVZVzFsT2lCemRISnBibWRkT2lBb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1NBOVBpQnVkVzFpWlhJZ2ZTQTlJSHRjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbFJoYm1sdGIzUnZYVG9nZEdGdWFXMXZkRzlUYVcxcGJHRnlhWFI1TEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UkdsalpWMDZJR1JwWTJWVGFXMXBiR0Z5YVhSNUxGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVFYTjViVzFsZEhKcFkxMDZJR0Z6ZVcxdFpYUnlhV05UYVcxcGJHRnlhWFI1TEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UW5KaGRXNUNiR0Z1Y1hWbGRGMDZJR0p5WVhWdVFteGhibkYxWlhSVGFXMXBiR0Z5YVhSNUxGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVEyOXphVzVsWFRvZ1kyOXphVzVsVTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGt0MWJHTjZlVzV6YTJsZE9pQnJkV3hqZW5sdWMydHBVMmx0YVd4aGNtbDBlU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMazFqUTI5dWJtRjFaMmhsZVYwNklHMWpRMjl1Ym1GMVoyaGxlVk5wYldsc1lYSnBkSGtzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVTYjJkdmRFZHZiR1JpWlhKblhUb2djbTluYjNSSGIyeGtZbVZ5WjFOcGJXbHNZWEpwZEhrc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1U2RYTnpaV3hkT2lCeWRYTnpaV3hUYVcxcGJHRnlhWFI1TEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VTI5cllXeGRPaUJ6YjJ0aGJGTnBiV2xzWVhKcGRIa3NYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUlZVzF0YVc1blhUb2dhR0Z0YldsdVoxTnBiV2xzWVhKcGRIa3NYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUZkV05zYVdSbFlXNWRPaUJsZFdOc2FXUmxZVzVUYVcxcGJHRnlhWFI1TEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElHUnBjM1JoYm1ObFRXVjBjbWxqY3pvZ2V5QmJibUZ0WlRvZ2MzUnlhVzVuWFRvZ0tIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrZ1BUNGdiblZ0WW1WeUlIMGdQU0I3WEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVVWVc1cGJXOTBiMTA2SUhSaGJtbHRiM1J2UkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVFYVdObFhUb2daR2xqWlVScGMzUmhibU5sTEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UVhONWJXMWxkSEpwWTEwNklHRnplVzF0WlhSeWFXTkVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrSnlZWFZ1UW14aGJuRjFaWFJkT2lCaWNtRjFia0pzWVc1eGRXVjBSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NURiM05wYm1WZE9pQmpiM05wYm1WRWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGt0MWJHTjZlVzV6YTJsZE9pQnJkV3hqZW5sdWMydHBSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NU5ZME52Ym01aGRXZG9aWGxkT2lCdFkwTnZibTVoZFdkb1pYbEVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsSnZaMjkwUjI5c1pHSmxjbWRkT2lCeWIyZHZkRWR2YkdSaVpYSm5SR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVNkWE56Wld4ZE9pQnlkWE56Wld4RWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxOdmEyRnNYVG9nYzI5cllXeEVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxraGhiVzFwYm1kZE9pQm9ZVzF0YVc1blJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RmRXTnNhV1JsWVc1ZE9pQmxkV05zYVdSbFlXNUVhWE4wWVc1alpTeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JEU0VWTlgxTkpUVWxNUVZKSlZGbGZUVVZVVWtsRFV5QTlJRnRjYmlBZ1FtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVWR0Z1YVcxdmRHOHNYRzRnSUVKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrUnBZMlVzWEc0Z0lFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa052YzJsdVpWMDdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UwVlJYMU5RUVVORlgxTkpUVWxNUVZKSlZGbGZUVVZVVWtsRFV5QTlJRnRjYmlBZ1FtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVWR0Z1YVcxdmRHOHNYRzRnSUVKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrRnplVzF0WlhSeWFXTXNYRzRnSUVKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrTnZjMmx1WlN4Y2JpQWdRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VTI5cllXeGRPMXh1Wlhod2IzSjBJR052Ym5OMElFMUJRMUpQVFU5TVJVTlZURVZmVTBsTlNVeEJVa2xVV1Y5TlJWUlNTVU5USUQwZ1cxeHVJQ0JOYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVTRUZOVFVsT1J5eGNiaUFnVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMa3hGVmtWT1UwaFVSVWxPTEZ4dUlDQk5iVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpUbUZ0WlhNdVRVOU9UMDFGVWw5RFNFVk5TVU5CVEY5RVNWTlVRVTVEUlN4Y2JpQWdUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWekxrNUZSVVJNUlUxQlRrNWZWMVZPVTBOSVhHNWRPMXh1WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMFlXNXBiVzkwYjFOcGJXbHNZWEpwZEhrb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdZMjl1YzNRZ2RHOTBZV3dnUFNCNExuUnlkV1ZEYjNWdWRDZ3BJQ3NnZVM1MGNuVmxRMjkxYm5Rb0tUdGNiaUFnYVdZZ0tIUnZkR0ZzSUQwOUlEQXBJSEpsZEhWeWJpQXhMakE3WEc0Z0lHTnZibk4wSUdOdmJXMXZiaUE5SUhndVlXNWtWMmwwYUVOdmRXNTBRbWwwY3loNUxDQjBjblZsS1R0Y2JpQWdjbVYwZFhKdUlHTnZiVzF2YmlBdklDaDBiM1JoYkNBdElHTnZiVzF2YmlrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIwWVc1cGJXOTBiMFJwYzNSaGJtTmxLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUF4SUMwZ2RHRnVhVzF2ZEc5VGFXMXBiR0Z5YVhSNUtIZ3NJSGtwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkR0Z1YVcxdmRHOUVhWE4wWVc1alpVbHVkRUZ5Y21GNUtIZzZJRlZwYm5Rek1rRnljbUY1TENCNU9pQlZhVzUwTXpKQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lHTnZibk4wSUhoaUlEMGdibVYzSUVKcGRFRnljbUY1S0hnc0lIZ3ViR1Z1WjNSb0lDb2dNeklwTzF4dUlDQmpiMjV6ZENCNVlpQTlJRzVsZHlCQ2FYUkJjbkpoZVNoNUxDQjVMbXhsYm1kMGFDQXFJRE15S1R0Y2JpQWdjbVYwZFhKdUlHZGxkRVJwYzNSaGJtTmxSbkp2YlZOcGJXbHNZWEpwZEhrb2RHRnVhVzF2ZEc5VGFXMXBiR0Z5YVhSNUtIaGlMQ0I1WWlrcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWkdsalpWTnBiV2xzWVhKcGRIa29lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnWTI5dWMzUWdkRzkwWVd3Z1BTQjRMblJ5ZFdWRGIzVnVkQ2dwSUNzZ2VTNTBjblZsUTI5MWJuUW9LVHRjYmlBZ2FXWWdLSFJ2ZEdGc0lEMDlJREFwSUhKbGRIVnliaUF3TGpBN1hHNGdJR052Ym5OMElHTnZiVzF2YmlBOUlIZ3VZVzVrVjJsMGFFTnZkVzUwUW1sMGN5aDVMQ0IwY25WbEtUdGNiaUFnY21WMGRYSnVJRElnS2lCamIyMXRiMjRnTHlCMGIzUmhiRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHUnBZMlZFYVhOMFlXNWpaU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCeVpYUjFjbTRnTVNBdElHUnBZMlZUYVcxcGJHRnlhWFI1S0hnc0lIa3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1kyOXphVzVsVTJsdGFXeGhjbWwwZVNoNE9pQkNhWFJCY25KaGVTd2dlVG9nUW1sMFFYSnlZWGtwT2lCdWRXMWlaWElnZTF4dUlDQmpiMjV6ZENCMGIzUmhiQ0E5SUhndWRISjFaVU52ZFc1MEtDa2dLaUI1TG5SeWRXVkRiM1Z1ZENncE8xeHVJQ0JwWmlBb2RHOTBZV3dnUFQwZ01Da2djbVYwZFhKdUlEQXVNRHRjYmlBZ1kyOXVjM1FnWTI5dGJXOXVJRDBnZUM1aGJtUlhhWFJvUTI5MWJuUkNhWFJ6S0hrc0lIUnlkV1VwTzF4dUlDQnlaWFIxY200Z1kyOXRiVzl1SUM4Z1RXRjBhQzV6Y1hKMEtIUnZkR0ZzS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR052YzJsdVpVUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQXhJQzBnWTI5emFXNWxVMmx0YVd4aGNtbDBlU2g0TENCNUtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdWMVkyeHBaR1ZoYmxOcGJXbHNZWEpwZEhrb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdjbVYwZFhKdUlHZGxkRk5wYldsc1lYSnBkSGxHY205dFJHbHpkR0Z1WTJVb1pYVmpiR2xrWldGdVJHbHpkR0Z1WTJVb2VDd2dlU2twTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVW9lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJRTFoZEdndWMzRnlkQ2g0TG5SeWRXVkRiM1Z1ZENncElDc2dlUzUwY25WbFEyOTFiblFvS1NBdElESWdLaUI0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2twTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhR0Z0YldsdVoxTnBiV2xzWVhKcGRIa29lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJR2RsZEZOcGJXbHNZWEpwZEhsR2NtOXRSR2x6ZEdGdVkyVW9hR0Z0YldsdVowUnBjM1JoYm1ObEtIZ3NJSGtwS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2hoYlcxcGJtZEVhWE4wWVc1alpTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0J5WlhSMWNtNGdlQzUwY25WbFEyOTFiblFvS1NBcklIa3VkSEoxWlVOdmRXNTBLQ2tnTFNBeUlDb2dlQzVoYm1SWGFYUm9RMjkxYm5SQ2FYUnpLSGtzSUhSeWRXVXBPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2MyOXJZV3hUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnZUM1MGNuVmxRMjkxYm5Rb0tTQXJJSGt1ZEhKMVpVTnZkVzUwS0NrN1hHNGdJR052Ym5OMElHTnZiVzF2YmlBOUlIZ3VZVzVrVjJsMGFFTnZkVzUwUW1sMGN5aDVMQ0IwY25WbEtUdGNiaUFnY21WMGRYSnVJR052YlcxdmJpQXZJQ2d5SUNvZ2RHOTBZV3dnTFNBeklDb2dZMjl0Ylc5dUtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhOdmEyRnNSR2x6ZEdGdVkyVW9lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJREVnTFNCemIydGhiRk5wYldsc1lYSnBkSGtvZUN3Z2VTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcmRXeGplbmx1YzJ0cFUybHRhV3hoY21sMGVTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0JqYjI1emRDQjBiM1JoYkNBOUlIZ3VkSEoxWlVOdmRXNTBLQ2tnS3lCNUxuUnlkV1ZEYjNWdWRDZ3BPMXh1SUNCamIyNXpkQ0IwYjNSaGJGQnliMlFnUFNCNExuUnlkV1ZEYjNWdWRDZ3BJQ29nZVM1MGNuVmxRMjkxYm5Rb0tUdGNiaUFnYVdZZ0tIUnZkR0ZzVUhKdlpDQTlQU0F3S1NCeVpYUjFjbTRnTUM0d08xeHVJQ0JqYjI1emRDQmpiMjF0YjI0Z1BTQjRMbUZ1WkZkcGRHaERiM1Z1ZEVKcGRITW9lU3dnZEhKMVpTazdYRzRnSUhKbGRIVnliaUFvWTI5dGJXOXVJQ29nZEc5MFlXd3BJQzhnS0RJZ0tpQjBiM1JoYkZCeWIyUXBPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2EzVnNZM3A1Ym5OcmFVUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtHdDFiR042ZVc1emEybFRhVzFwYkdGeWFYUjVLSGdzSUhrcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUcxalEyOXVibUYxWjJobGVWTnBiV2xzWVhKcGRIa29lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnWTI5dWMzUWdkRzkwWVd3Z1BTQjRMblJ5ZFdWRGIzVnVkQ2dwSUNzZ2VTNTBjblZsUTI5MWJuUW9LVHRjYmlBZ1kyOXVjM1FnZEc5MFlXeFFjbTlrSUQwZ2VDNTBjblZsUTI5MWJuUW9LU0FxSUhrdWRISjFaVU52ZFc1MEtDazdYRzRnSUdsbUlDaDBiM1JoYkZCeWIyUWdQVDBnTUNrZ2NtVjBkWEp1SURBdU1EdGNiaUFnWTI5dWMzUWdZMjl0Ylc5dUlEMGdlQzVoYm1SWGFYUm9RMjkxYm5SQ2FYUnpLSGtzSUhSeWRXVXBPMXh1SUNCeVpYUjFjbTRnS0dOdmJXMXZiaUFxSUhSdmRHRnNJQzBnZEc5MFlXeFFjbTlrS1NBdklIUnZkR0ZzVUhKdlpEdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUcxalEyOXVibUYxWjJobGVVUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtHMWpRMjl1Ym1GMVoyaGxlVk5wYldsc1lYSnBkSGtvZUN3Z2VTa3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1lYTjViVzFsZEhKcFkxTnBiV2xzWVhKcGRIa29lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnWTI5dWMzUWdiV2x1SUQwZ1RXRjBhQzV0YVc0b2VDNTBjblZsUTI5MWJuUW9LU3dnZVM1MGNuVmxRMjkxYm5Rb0tTazdYRzRnSUdsbUlDaHRhVzRnUFQwZ01Da2djbVYwZFhKdUlEQXVNRHRjYmlBZ1kyOXVjM1FnWTI5dGJXOXVJRDBnZUM1aGJtUlhhWFJvUTI5MWJuUkNhWFJ6S0hrc0lIUnlkV1VwTzF4dUlDQnlaWFIxY200Z1kyOXRiVzl1SUM4Z2JXbHVPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1lYTjViVzFsZEhKcFkwUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQXhJQzBnWVhONWJXMWxkSEpwWTFOcGJXbHNZWEpwZEhrb2VDd2dlU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmljbUYxYmtKc1lXNXhkV1YwVTJsdGFXeGhjbWwwZVNoNE9pQkNhWFJCY25KaGVTd2dlVG9nUW1sMFFYSnlZWGtwT2lCdWRXMWlaWElnZTF4dUlDQmpiMjV6ZENCdFlYZ2dQU0JOWVhSb0xtMWhlQ2g0TG5SeWRXVkRiM1Z1ZENncExDQjVMblJ5ZFdWRGIzVnVkQ2dwS1R0Y2JpQWdhV1lnS0cxaGVDQTlQU0F3S1NCeVpYUjFjbTRnTUM0d08xeHVJQ0JqYjI1emRDQmpiMjF0YjI0Z1BTQjRMbUZ1WkZkcGRHaERiM1Z1ZEVKcGRITW9lU3dnZEhKMVpTazdYRzRnSUhKbGRIVnliaUJqYjIxdGIyNGdMeUJ0WVhnN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJpY21GMWJrSnNZVzV4ZFdWMFJHbHpkR0Z1WTJVb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdjbVYwZFhKdUlHZGxkRVJwYzNSaGJtTmxSbkp2YlZOcGJXbHNZWEpwZEhrb1luSmhkVzVDYkdGdWNYVmxkRk5wYldsc1lYSnBkSGtvZUN3Z2VTa3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NuVnpjMlZzVTJsdGFXeGhjbWwwZVNoNE9pQkNhWFJCY25KaGVTd2dlVG9nUW1sMFFYSnlZWGtwT2lCdWRXMWlaWElnZTF4dUlDQnBaaUFvZUM1c1pXNW5kR2dnUFQwZ01Da2djbVYwZFhKdUlEQXVNRHRjYmlBZ1kyOXVjM1FnWTI5dGJXOXVJRDBnZUM1aGJtUlhhWFJvUTI5MWJuUkNhWFJ6S0hrc0lIUnlkV1VwTzF4dUlDQnlaWFIxY200Z1kyOXRiVzl1SUM4Z2VDNXNaVzVuZEdnN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ5ZFhOelpXeEVhWE4wWVc1alpTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0J5WlhSMWNtNGdaMlYwUkdsemRHRnVZMlZHY205dFUybHRhV3hoY21sMGVTaHlkWE56Wld4VGFXMXBiR0Z5YVhSNUtIZ3NJSGtwS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSEp2WjI5MFIyOXNaR0psY21kVGFXMXBiR0Z5YVhSNUtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJR052Ym5OMElHTnZiVzF2YmlBOUlIZ3VZVzVrVjJsMGFFTnZkVzUwUW1sMGN5aDVMQ0IwY25WbEtUdGNiaUFnWTI5dWMzUWdkRzkwWVd3Z1BTQjRMbU52ZFc1MFFtbDBjeWgwY25WbEtTQXJJSGt1WTI5MWJuUkNhWFJ6S0hSeWRXVXBPMXh1SUNCamIyNXpkQ0JzWlc0Z1BTQjRMbXhsYm1kMGFEdGNiaUFnWTI5dWMzUWdaR2xtWmlBOUlHeGxiaUF0SUhSdmRHRnNJQ3NnWTI5dGJXOXVPMXh1SUNCcFppQW9LR052YlcxdmJpQTlQU0JzWlc0cElIeDhJQ2hrYVdabUlEMDlJR3hsYmlrcElISmxkSFZ5YmlBeExqQTdYRzRnSUdWc2MyVWdjbVYwZFhKdUlHTnZiVzF2YmlBdklIUnZkR0ZzSUNzZ1pHbG1aaUF2SUNneUlDb2diR1Z1SUMwZ2RHOTBZV3dwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbTluYjNSSGIyeGtZbVZ5WjBScGMzUmhibU5sS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCblpYUkVhWE4wWVc1alpVWnliMjFUYVcxcGJHRnlhWFI1S0hKdloyOTBSMjlzWkdKbGNtZFRhVzFwYkdGeWFYUjVLSGdzSUhrcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdkbGRGTnBiV2xzWVhKcGRIbEdjbTl0UkdsemRHRnVZMlVvWkdsemRHRnVZMlU2SUc1MWJXSmxjaWtnZTF4dUlDQnlaWFIxY200Z01TQXZJQ2d4SUNzZ1pHbHpkR0Z1WTJVcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjJWMFJHbHpkR0Z1WTJWR2NtOXRVMmx0YVd4aGNtbDBlU2h6YVcxcGJHRnlhWFI1T2lCdWRXMWlaWElwSUhzZ0x5OXBiaUJqWVhObElITnBiV2xzWVhKcGRIa2dhWE1nTUN3Z2RYTmxJRzFoZUNCdWRXMWlaWElnWm05eUlHWnNiMkYwTXpKY2JpQWdjbVYwZFhKdUlITnBiV2xzWVhKcGRIa2dQVDA5SURBZ1B5QXpMalF3TWpneU0wVXJNemdnT2lBb01TQXZJSE5wYldsc1lYSnBkSGtwSUMwZ01UdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUc1MWJXVnlhV05FYVhOMFlXNWpaU2hoY21kelB6b2dlM0poYm1kbFB6b2diblZ0WW1WeWZTa2dlMXh1SUNCcFppQW9ZWEpuY3lBbUppQmhjbWR6TG5KaGJtZGxJQ0U5SUhWdVpHVm1hVzVsWkNBbUppQmhjbWR6TG5KaGJtZGxJRDRnTUNrZ2UxeHVJQ0FnSUdOdmJuTjBJSEpoYm1kbElEMGdZWEpuY3k1eVlXNW5aVHRjYmlBZ0lDQnlaWFIxY200Z0tHRTZJRzUxYldKbGNpd2dZam9nYm5WdFltVnlLU0E5UGlCTllYUm9MbUZpY3loaElDMGdZaWtnTHlCeVlXNW5aVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUFvWVRvZ2JuVnRZbVZ5TENCaU9pQnVkVzFpWlhJcElEMCtJRTFoZEdndVlXSnpLR0VnTFNCaUtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdOdmJXMXZia2wwWlcxelEyOTFiblFvWVhKbmN6ODZJSHR0YjNOMFEyOXRiVzl1UHpvZ1UyVjBQRzUxYldKbGNqNTlLU0I3WEc0Z0lHTnZibk4wSUcxdmMzUkRiMjF0YjI0Z1BTQmhjbWR6UHk1dGIzTjBRMjl0Ylc5dUlEOC9JRzVsZHlCVFpYUThiblZ0WW1WeVBpZ3BPMXh1SUNCeVpYUjFjbTRnS0dGeWNqRTZJRUZ5Y21GNVRHbHJaVHh1ZFcxaVpYSStMQ0JoY25JeU9pQkJjbkpoZVV4cGEyVThiblZ0WW1WeVBpa2dQVDRnZTF4dUlDQWdJR052Ym5OMElHeGxiakVnUFNCaGNuSXhMbXhsYm1kMGFEdGNiaUFnSUNCamIyNXpkQ0JzWlc0eUlEMGdZWEp5TWk1c1pXNW5kR2c3WEc0Z0lDQWdiR1YwSUdOdmRXNTBJRDBnTUR0Y2JpQWdJQ0JzWlhRZ2FURWdQU0F3TzF4dUlDQWdJR3hsZENCcE1pQTlJREE3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9LR2t4SUR3Z2JHVnVNU2tnSmlZZ0tHa3lJRHdnYkdWdU1pa3BJSHRjYmlBZ0lDQWdJR2xtSUNoaGNuSXhXMmt4WFNBOVBUMGdZWEp5TWx0cE1sMHBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRnRiM04wUTI5dGJXOXVQeTVvWVhNb1lYSnlNVnRwTVYwcEtWeHVJQ0FnSUNBZ0lDQWdJQ3NyWTI5MWJuUTdYRzRnSUNBZ0lDQWdJQ3NyYVRFN1hHNGdJQ0FnSUNBZ0lDc3JhVEk3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dGeWNqRmJhVEZkSUR3Z1lYSnlNbHRwTWwwcElIc2dLeXRwTVRzZ2ZTQmxiSE5sSUhzZ0t5dHBNanNnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQmpiM1Z1ZER0Y2JpQWdmVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHVkbVZ5YzJWRGIyMXRiMjVKZEdWdGMwTnZkVzUwS0dGeVozTS9PaUI3Ylc5emRFTnZiVzF2Ymo4NklGTmxkRHh1ZFcxaVpYSStmU2tnZTF4dUlDQmpiMjV6ZENCbUlEMGdZMjl0Ylc5dVNYUmxiWE5EYjNWdWRDaGhjbWR6S1R0Y2JpQWdjbVYwZFhKdUlDaGhjbkl4T2lCQmNuSmhlVXhwYTJVOGJuVnRZbVZ5UGl3Z1lYSnlNam9nUVhKeVlYbE1hV3RsUEc1MWJXSmxjajRwSUQwK0lIdGNiaUFnSUNCcFppQW9ZWEp5TWk1c1pXNW5kR2dnUFQwOUlEQWdmSHdnWVhKeU1TNXNaVzVuZEdnZ1BUMDlJREFwWEc0Z0lDQWdJQ0J5WlhSMWNtNGdNVEF3TURBN1hHNWNiaUFnSUNCeVpYUjFjbTRnVFdGMGFDNXRhVzRvWVhKeU1TNXNaVzVuZEdnc0lHRnljakl1YkdWdVozUm9LU0F2SUNobUtHRnljakVzSUdGeWNqSXBJQ3NnTUM0d01EQXhLVHRjYmlBZ2ZUdGNibjFjYmlKZGZRPT0iLCIvKipcbiAqIERlbm90ZXMgYSB2ZWN0b3Igb2YgZmxvYXRpbmcgcG9pdCB2YWx1ZXMuXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIFZlY3RvclxuICogQGV4dGVuZHMge0Zsb2F0MzJBcnJheX1cbiAqL1xuZXhwb3J0IGNsYXNzIFZlY3RvciBleHRlbmRzIEZsb2F0MzJBcnJheSB7XG59XG4vKipcbiAqIERlbm90ZXMgYSB0d28tZGltZW5zaW9uYWwgbWF0cml4LlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBNYXRyaXhcbiAqIEBleHRlbmRzIHtBcnJheTxWZWN0b3I+fVxuICovXG5leHBvcnQgY2xhc3MgTWF0cml4IGV4dGVuZHMgQXJyYXkge1xufVxuLyoqXG4gKiBEZW5vdGVzIGNhcnRlc2lhbiBjb29yZGluYXRlcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgQ29vcmRpbmF0ZXNcbiAqIEBleHRlbmRzIHtNYXRyaXh9XG4gKi9cbmV4cG9ydCBjbGFzcyBDb29yZGluYXRlcyBleHRlbmRzIE1hdHJpeCB7XG59XG4vKipcbiAqIERlbm90ZXMgYW4gYXJyYXkgb2YgYXJiaXRyYXJ5LXR5cGVkIHZlY3RvcnMuXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIFZlY3RvcnNcbiAqIEBleHRlbmRzIHtBcnJheTxhbnk+fVxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9ycyBleHRlbmRzIEFycmF5IHtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRIbHdaUzFrWldOc1lYSmhkR2x2Ym5NdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUowZVhCbExXUmxZMnhoY21GMGFXOXVjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFUczdPenM3TzBkQlRVYzdRVUZEU0N4TlFVRk5MRTlCUVU4c1RVRkJUeXhUUVVGUkxGbEJRVms3UTBGQlJ6dEJRVVV6UXpzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxFOUJRVThzVFVGQlR5eFRRVUZSTEV0QlFXRTdRMEZCUnp0QlFVVTFRenM3T3pzN08wZEJUVWM3UVVGRFNDeE5RVUZOTEU5QlFVOHNWMEZCV1N4VFFVRlJMRTFCUVUwN1EwRkJSenRCUVVVeFF6czdPenM3TzBkQlRVYzdRVUZEU0N4TlFVRk5MRTlCUVU4c1QwRkJVU3hUUVVGUkxFdEJRVlU3UTBGQlJ5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQXFJR0Z6SUVSSElHWnliMjBnSjJSaGRHRm5jbTlyTFdGd2FTOWtaeWM3WEc1Y2JpOHFLbHh1SUNvZ1JHVnViM1JsY3lCaElIWmxZM1J2Y2lCdlppQm1iRzloZEdsdVp5QndiMmwwSUhaaGJIVmxjeTVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQVkyeGhjM01nVm1WamRHOXlYRzRnS2lCQVpYaDBaVzVrY3lCN1JteHZZWFF6TWtGeWNtRjVmVnh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVm1WamRHOXlJR1Y0ZEdWdVpITWdSbXh2WVhRek1rRnljbUY1SUh0OVhHNWNiaThxS2x4dUlDb2dSR1Z1YjNSbGN5QmhJSFIzYnkxa2FXMWxibk5wYjI1aGJDQnRZWFJ5YVhndVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRR05zWVhOeklFMWhkSEpwZUZ4dUlDb2dRR1Y0ZEdWdVpITWdlMEZ5Y21GNVBGWmxZM1J2Y2o1OVhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5Qk5ZWFJ5YVhnZ1pYaDBaVzVrY3lCQmNuSmhlVHhXWldOMGIzSStJSHQ5WEc1Y2JpOHFLbHh1SUNvZ1JHVnViM1JsY3lCallYSjBaWE5wWVc0Z1kyOXZjbVJwYm1GMFpYTXVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUdOc1lYTnpJRU52YjNKa2FXNWhkR1Z6WEc0Z0tpQkFaWGgwWlc1a2N5QjdUV0YwY21sNGZWeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdRMjl2Y21ScGJtRjBaWE1nWlhoMFpXNWtjeUJOWVhSeWFYZ2dlMzFjYmx4dUx5b3FYRzRnS2lCRVpXNXZkR1Z6SUdGdUlHRnljbUY1SUc5bUlHRnlZbWwwY21GeWVTMTBlWEJsWkNCMlpXTjBiM0p6TGx4dUlDcGNiaUFxSUVCbGVIQnZjblJjYmlBcUlFQmpiR0Z6Y3lCV1pXTjBiM0p6WEc0Z0tpQkFaWGgwWlc1a2N5QjdRWEp5WVhrOFlXNTVQbjFjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUZabFkzUnZjbk1nWlhoMFpXNWtjeUJCY25KaGVUeGhibmsrSUh0OVhHNWNiaThxS2x4dUlDb2dSR1Z1YjNSbGN5QmhJR1JwWTNScGIyNWhjbmtnWTI5dWRHRnBibWx1WnlCbWRXNWpkR2x2YmlCdmNIUnBiMjV6TGx4dUlDcGNiaUFxSUVCbGVIQnZjblJjYmlBcUlFQjBlWEJsSUU5d2RHbHZibk5jYmlBcUwxeHVaWGh3YjNKMElIUjVjR1VnVDNCMGFXOXVjeUE5SUh0YmJtRnRaVG9nYzNSeWFXNW5YVG9nWVc1NWZUdGNibHh1THlvcVhHNGdLaUJFWlc1dmRHVnpJR04xYzNSdmJTQmthWE4wWVc1alpTQnRaWFJ5YVdNZ1ltVjBkMlZsYmlCMGFHVWdkSGR2SUdkcGRtVnVJSFpsWTNSdmNuTXVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhSNWNHVWdSR2x6ZEdGdVkyVk5aWFJ5YVdOY2JpQXFJRUJ3WVhKaGJTQjdZVzU1ZlNCMk1TQlVhR1VnWm1seWMzUWdkbVZqZEc5eUxseHVJQ29nUUhCaGNtRnRJSHRoYm5sOUlIWXlJRlJvWlNCelpXTnZibVFnZG1WamRHOXlMbHh1SUNvZ1FISmxkSFZ5YmlCN2JuVnRZbVZ5ZlNCRWFYTjBZVzVqWlNCaVpYUjNaV1Z1SUhSb1pYTmxJSFIzYnlCMlpXTjBiM0p6TGx4dUlDb3ZYRzVsZUhCdmNuUWdkSGx3WlNCRWFYTjBZVzVqWlUxbGRISnBZeUE5SUNoMk1Ub2dZVzU1TENCMk1qb2dZVzU1S1NBOVBpQW9iblZ0WW1WeUtUdGNibHh1THlvcVhHNGdLaUJFWlc1dmRHVnpJR0VnYzJsdGNHeGxJSE4wY21sdVp5QjBieUJ6ZEhKcGJtY2daR2xqZEdsdmJtRnllUzVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQWRIbHdaU0JUZEhKcGJtZEVhV04wYVc5dVlYSjVYRzRnS2k5Y2JtVjRjRzl5ZENCMGVYQmxJRk4wY21sdVowUnBZM1JwYjI1aGNua2dQU0I3VzJ0bGVUb2djM1J5YVc1blhUb2djM1J5YVc1bmZUdGNibHh1WEc1bGVIQnZjblFnZEhsd1pTQkRiMngxYlc1SmJuQjFkRTl3ZEdsdmJuTWdQU0I3WEc0Z0lDQWdabWxzZEdWeVB6b2dLR052YkRvZ1JFY3VRMjlzZFcxdUtTQTlQaUJpYjI5c1pXRnVJSHdnYm5Wc2JEdGNibjA3WEc0aVhYMD0iLCJpbXBvcnQgKiBhcyBmbCBmcm9tICdmYXN0ZXN0LWxldmVuc2h0ZWluJztcbmltcG9ydCB7IGphcm9XaW5rbGVyIH0gZnJvbSAnamFyby13aW5rbGVyLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgYXN5bW1ldHJpY0Rpc3RhbmNlLCBicmF1bkJsYW5xdWV0RGlzdGFuY2UsIGNvc2luZURpc3RhbmNlLCBkaWNlRGlzdGFuY2UsIGV1Y2xpZGVhbkRpc3RhbmNlLCBoYW1taW5nRGlzdGFuY2UsIGt1bGN6eW5za2lEaXN0YW5jZSwgbWNDb25uYXVnaGV5RGlzdGFuY2UsIHJvZ290R29sZGJlcmdEaXN0YW5jZSwgcnVzc2VsRGlzdGFuY2UsIHNva2FsRGlzdGFuY2UsIHRhbmltb3RvRGlzdGFuY2UsIG51bWVyaWNEaXN0YW5jZSwgdGFuaW1vdG9EaXN0YW5jZUludEFycmF5LCBpbnZlcnNlQ29tbW9uSXRlbXNDb3VudCwgfSBmcm9tICcuLi9kaXN0YW5jZS1tZXRyaWNzLW1ldGhvZHMnO1xuaW1wb3J0IHsgY2FsY3VsYXRlRXVjbGlkZWFuRGlzdGFuY2UgfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy92ZWN0b3Itb3BlcmF0aW9ucyc7XG5pbXBvcnQgeyBtbURpc3RhbmNlRnVuY3Rpb25zLCBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMgfSBmcm9tICcuLi9tYWNyb21vbGVjdWxlLWRpc3RhbmNlLWZ1bmN0aW9ucyc7XG5pbXBvcnQgeyBEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cywgQml0QXJyYXlNZXRyaWNzTmFtZXMsIFN0cmluZ01ldHJpY3NOYW1lcywgVmVjdG9yTWV0cmljc05hbWVzLCBOdW1iZXJNZXRyaWNzTmFtZXMsIEludEFycmF5TWV0cmljc05hbWVzLCBOdW1iZXJBcnJheU1ldHJpY3NOYW1lcyB9IGZyb20gJy4vY29uc3RzJztcbmV4cG9ydCBjb25zdCB2ZWN0b3JEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogY2FsY3VsYXRlRXVjbGlkZWFuRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IHN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHMgPSB7XG4gICAgW1N0cmluZ01ldHJpY3NOYW1lcy5MZXZlbnNodGVpbl06IGZsLmRpc3RhbmNlLFxuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuSmFyb1dpbmtsZXJdOiBqYXJvV2lua2xlcixcbiAgICBbU3RyaW5nTWV0cmljc05hbWVzLk1hbmhhdHRhbl06IG1hbmhhdHRhbkRpc3RhbmNlLFxuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuT25laG90XTogY2F0ZWdvcmljYWxEaXN0YW5jZSxcbn07XG5leHBvcnQgY29uc3QgYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IHRhbmltb3RvRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdOiBkaWNlRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdOiBhc3ltbWV0cmljRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBicmF1bkJsYW5xdWV0RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV06IGNvc2luZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXToga3VsY3p5bnNraURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBtY0Nvbm5hdWdoZXlEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ106IHJvZ290R29sZGJlcmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXTogcnVzc2VsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogc29rYWxEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuSGFtbWluZ106IGhhbW1pbmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogZXVjbGlkZWFuRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IGludEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbSW50QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9JbnRBcnJheV06IHRhbmltb3RvRGlzdGFuY2VJbnRBcnJheSxcbn07XG5leHBvcnQgY29uc3QgbnVtYmVyRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbTnVtYmVyTWV0cmljc05hbWVzLkRpZmZlcmVuY2VdOiBudW1lcmljRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IG51bWJlckFycmF5RGlzdGFuY2VNZXRyaWNzID0ge1xuICAgIFtOdW1iZXJBcnJheU1ldHJpY3NOYW1lcy5Db21tb25JdGVtc106IGludmVyc2VDb21tb25JdGVtc0NvdW50LFxufTtcbmV4cG9ydCBjb25zdCBBdmFpbGFibGVNZXRyaWNzID0ge1xuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5WZWN0b3JdOiB7XG4gICAgICAgIFtWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogdmVjdG9yRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5TdHJpbmddOiB7XG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTGV2ZW5zaHRlaW5dOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5MZXZlbnNodGVpbl0sXG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuSmFyb1dpbmtsZXJdOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5KYXJvV2lua2xlcl0sXG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXTogc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXSxcbiAgICAgICAgW1N0cmluZ01ldHJpY3NOYW1lcy5PbmVob3RdOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5PbmVob3RdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLkJpdEFycmF5XToge1xuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuQXN5bW1ldHJpY10sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkt1bGN6eW5za2ldLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLk1jQ29ubmF1Z2hleV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Sb2dvdEdvbGRiZXJnXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuTWFjcm9Nb2xlY3VsZV06IHtcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5IQU1NSU5HXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuSEFNTUlOR10sXG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTEVWRU5TSFRFSU5dOiBtbURpc3RhbmNlRnVuY3Rpb25zW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5MRVZFTlNIVEVJTl0sXG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTkVFRExFTUFOTl9XVU5TQ0hdOiBtbURpc3RhbmNlRnVuY3Rpb25zW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5ORUVETEVNQU5OX1dVTlNDSF0sXG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRV06IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk1PTk9NRVJfQ0hFTUlDQUxfRElTVEFOQ0VdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLk51bWJlcl06IHtcbiAgICAgICAgW051bWJlck1ldHJpY3NOYW1lcy5EaWZmZXJlbmNlXTogbnVtYmVyRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tOdW1iZXJNZXRyaWNzTmFtZXMuRGlmZmVyZW5jZV0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuSW50QXJyYXldOiB7XG4gICAgICAgIFtJbnRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b0ludEFycmF5XTogaW50QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0ludEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvSW50QXJyYXldLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLk51bWJlckFycmF5XToge1xuICAgICAgICBbTnVtYmVyQXJyYXlNZXRyaWNzTmFtZXMuQ29tbW9uSXRlbXNdOiBudW1iZXJBcnJheURpc3RhbmNlTWV0cmljc1tOdW1iZXJBcnJheU1ldHJpY3NOYW1lcy5Db21tb25JdGVtc10sXG4gICAgfSxcbn07XG5leHBvcnQgY29uc3QgTWV0cmljVG9EYXRhVHlwZSA9IE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3MpXG4gICAgLnJlZHVjZSgocmV0LCBrZXkpID0+IHtcbiAgICBmb3IgKGNvbnN0IHZhbCBvZiBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzW2tleV0pKVxuICAgICAgICByZXRbdmFsXSA9IGtleTtcbiAgICByZXR1cm4gcmV0O1xufSwge30pO1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnU3RyaW5nJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0JpdEFycmF5TWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnQml0QXJyYXknO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmVjdG9yTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnVmVjdG9yJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc01hY3JvTW9sZWN1bGVNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09IERpc3RhbmNlTWV0cmljc1N1YmplY3RzLk1hY3JvTW9sZWN1bGUudG9TdHJpbmcoKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bWVyaWNNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09IERpc3RhbmNlTWV0cmljc1N1YmplY3RzLk51bWJlci50b1N0cmluZygpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyQXJyYXlNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09IERpc3RhbmNlTWV0cmljc1N1YmplY3RzLk51bWJlckFycmF5LnRvU3RyaW5nKCk7XG59XG4vKiogTWFuaGF0dGFuIGRpc3RhbmNlIGJldHdlZW4gdHdvIHNlcXVlbmNlcyAobWF0Y2ggLSAwLCBtaXNtYXRjaCAtIDEpIG5vcm1hbGl6ZWQgZm9yIGxlbmd0aC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYW5oYXR0YW5EaXN0YW5jZShzMSwgczIpIHtcbiAgICBpZiAoczEubGVuZ3RoICE9PSBzMi5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBsZXQgZGlzdCA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgczEubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICBkaXN0ICs9IHMxW2ldID09IHMyW2ldID8gMCA6IDE7XG4gICAgICAgIHJldHVybiBkaXN0IC8gczEubGVuZ3RoO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBjYXRlZ29yaWNhbERpc3RhbmNlKHMxLCBzMikge1xuICAgIHJldHVybiBzMSA9PT0gczIgPyAwIDogMTtcbn1cbi8qKiBVbmlmaWVkIGNsYXNzIGltcGxlbWVudGluZyBkaWZmZXJlbnQgc3RyaW5nIG1lYXN1cmVzLiAqL1xuZXhwb3J0IGNsYXNzIE1lYXN1cmUge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTWVhc3VyZSB3aXRoIC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kIE1ldGhvZCB0byBjYWxjdWxhdGUgZGlzdGFuY2UgYmV0d2VlbiBzdHJpbmdzLlxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKG1ldGhvZCkge1xuICAgICAgICB0aGlzLm1ldGhvZCA9IG1ldGhvZDtcbiAgICAgICAgdGhpcy5kYXRhVHlwZSA9IE1ldHJpY1RvRGF0YVR5cGVbbWV0aG9kXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBtZXRyaWMgbmVlZHMgYXJndW1lbnRzIHRvIGJlIGNhbGN1bGF0ZWQuXG4gICAgICogQHBhcmFtIHtLbm93bk1ldHJpY3N9IG1ldGhvZCBNZXRyaWMgdG8gY2hlY2sgaWYgaXQgbmVlZHMgYXJndW1lbnRzLlxuICAgICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIG1ldHJpYyBuZWVkcyBhcmd1bWVudHMuXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVcbiAgICAgKi9cbiAgICBtZXRyaWNOZWVkc0FyZ3MobWV0aG9kKSB7XG4gICAgICAgIHJldHVybiBpc01hY3JvTW9sZWN1bGVNZXRyaWMobWV0aG9kKSB8fCBpc051bWVyaWNNZXRyaWMobWV0aG9kKSB8fCBpc051bWJlckFycmF5TWV0cmljKG1ldGhvZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgY3VzdG9tIHN0cmluZyBkaXN0YW5jZSBmdW5jdGlvbiBzcGVjaWZpZWQuXG4gICAgICogQHBhcmFtIHtvcHRzfSBvcHRzIE9wdGlvbnMgZm9yIHRoZSBtZWFzdXJlLiB1c2VkIGZvciBtYWNyb21vbGVjdWxlIGRpc3RhbmNlc1xuICAgICAqIEByZXR1cm4ge0Rpc3RhbmNlTWV0cmljfSBDYWxsYmFjayBvZiB0aGUgbWVhc3VyZSBjaG9zZW4uXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgZ2V0TWVhc3VyZShvcHRzKSB7XG4gICAgICAgIGNvbnN0IGRpY3QgPSBBdmFpbGFibGVNZXRyaWNzO1xuICAgICAgICBpZiAoIWRpY3QuaGFzT3duUHJvcGVydHkodGhpcy5kYXRhVHlwZSkgfHwgIWRpY3RbdGhpcy5kYXRhVHlwZV0uaGFzT3duUHJvcGVydHkodGhpcy5tZXRob2QpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIG1lYXN1cmUgJHt0aGlzLm1ldGhvZH0gZm9yIGRhdGEgdHlwZSAke3RoaXMuZGF0YVR5cGV9YCk7XG4gICAgICAgIHJldHVybiB0aGlzLm1ldHJpY05lZWRzQXJncyh0aGlzLm1ldGhvZCkgP1xuICAgICAgICAgICAgZGljdFt0aGlzLmRhdGFUeXBlXVt0aGlzLm1ldGhvZF0ob3B0cykgOlxuICAgICAgICAgICAgZGljdFt0aGlzLmRhdGFUeXBlXVt0aGlzLm1ldGhvZF07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgY3VzdG9tIHN0cmluZyBkaXN0YW5jZSBieSB0aGUgZ2l2ZW4gZGF0YSB0eXBlLlxuICAgICAqIEBwYXJhbSB7QXZhaWxhYmxlRGF0YVR5cGVzfSBkYXRhVHlwZSBNZXRyaWMncyBkYXRhIHR5cGVcbiAgICAgKiBAcmV0dXJuIHtzdHJpbmdbXX0gTWV0cmljIG5hbWVzIHdoaWNoIGV4cGVjdHMgdGhlIGdpdmVuIGRhdGEgdHlwZVxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRNZXRyaWNCeURhdGFUeXBlKGRhdGFUeXBlKSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzW2RhdGFUeXBlXSk7XG4gICAgfVxuICAgIC8qKiBSZXR1cm5zIG1ldHJpYyBuYW1lcyBhdmFpbGFibGUuXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgc3RhdGljIGdldCBhdmFpbGFibGVNZWFzdXJlcygpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3MpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRIbHdaV1F0YldWMGNtbGpjeTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkluUjVjR1ZrTFcxbGRISnBZM011ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNUMEZCVHl4TFFVRkxMRVZCUVVVc1RVRkJUU3h4UWtGQmNVSXNRMEZCUXp0QlFVTXhReXhQUVVGUExFVkJRVU1zVjBGQlZ5eEZRVUZETEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRmNFUXNUMEZCVHl4RlFVTk1MR3RDUVVGclFpeEZRVU5zUWl4eFFrRkJjVUlzUlVGRGNrSXNZMEZCWXl4RlFVTmtMRmxCUVZrc1JVRkRXaXhwUWtGQmFVSXNSVUZEYWtJc1pVRkJaU3hGUVVObUxHdENRVUZyUWl4RlFVTnNRaXh2UWtGQmIwSXNSVUZEY0VJc2NVSkJRWEZDTEVWQlEzSkNMR05CUVdNc1JVRkRaQ3hoUVVGaExFVkJRMklzWjBKQlFXZENMRVZCUTJoQ0xHVkJRV1VzUlVGRFppeDNRa0ZCZDBJc1JVRkRlRUlzZFVKQlFYVkNMRWRCUTNoQ0xFMUJRVTBzTmtKQlFUWkNMRU5CUVVNN1FVRkZja01zVDBGQlR5eEZRVUZETERCQ1FVRXdRaXhGUVVGRExFMUJRVTBzYVVSQlFXbEVMRU5CUVVNN1FVRkhNMFlzVDBGQlR5eEZRVUZETEcxQ1FVRnRRaXhGUVVGRkxIZENRVUYzUWl4RlFVRkRMRTFCUVUwc2NVTkJRWEZETEVOQlFVTTdRVUZEYkVjc1QwRkJUeXhGUVVGRExIVkNRVUYxUWl4RlFVRkZMRzlDUVVGdlFpeEZRVU51UkN4clFrRkJhMElzUlVGQlJTeHJRa0ZCYTBJc1JVRkJSU3hyUWtGQmEwSXNSVUZCUlN4dlFrRkJiMElzUlVGRGFFWXNkVUpCUVhWQ0xFVkJRVU1zVFVGQlRTeFZRVUZWTEVOQlFVTTdRVUZITTBNc1RVRkJUU3hEUVVGRExFMUJRVTBzTkVKQlFUUkNMRWRCUVhsRU8wbEJRMmhITEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVTBGQlV5eERRVUZETEVWQlFVVXNNRUpCUVRCQ08wTkJRek5FTEVOQlFVTTdRVUZGUml4TlFVRk5MRU5CUVVNc1RVRkJUU3cwUWtGQk5FSXNSMEZCZVVRN1NVRkRhRWNzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNVVUZCVVR0SlFVTTNReXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRmRCUVZjc1EwRkJReXhGUVVGRkxGZEJRVmM3U1VGRE4wTXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eFRRVUZUTEVOQlFVTXNSVUZCUlN4cFFrRkJhVUk3U1VGRGFrUXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4dFFrRkJiVUk3UTBGRGFrUXNRMEZCUXp0QlFVVkdMRTFCUVUwc1EwRkJReXhOUVVGTkxEaENRVUU0UWl4SFFVRTJSRHRKUVVOMFJ5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTEdkQ1FVRm5RanRKUVVOcVJDeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEZsQlFWazdTVUZEZWtNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1JVRkJSU3hyUWtGQmEwSTdTVUZEY2tRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1JVRkJSU3h4UWtGQmNVSTdTVUZETTBRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hqUVVGak8wbEJRemRETEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNhMEpCUVd0Q08wbEJRM0pFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zV1VGQldTeERRVUZETEVWQlFVVXNiMEpCUVc5Q08wbEJRM3BFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWVVGQllTeERRVUZETEVWQlFVVXNjVUpCUVhGQ08wbEJRek5FTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNZMEZCWXp0SlFVTTNReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxHRkJRV0U3U1VGRE0wTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFBRVUZQTEVOQlFVTXNSVUZCUlN4bFFVRmxPMGxCUXk5RExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1UwRkJVeXhEUVVGRExFVkJRVVVzYVVKQlFXbENPME5CUTNCRUxFTkJRVU03UVVGRlJpeE5RVUZOTEVOQlFVTXNUVUZCVFN3NFFrRkJPRUlzUjBGQmJVVTdTVUZETlVjc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eEZRVUZGTEhkQ1FVRjNRanREUVVOc1JTeERRVUZETzBGQlJVWXNUVUZCVFN4RFFVRkRMRTFCUVUwc05FSkJRVFJDTEVkQlFYZEZPMGxCUXk5SExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hEUVVGRExFVkJRVVVzWlVGQlpUdERRVU5xUkN4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzTUVKQlFUQkNMRWRCUTNGRU8wbEJRekZHTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVXNkVUpCUVhWQ08wTkJReTlFTEVOQlFVTTdRVUZGUml4TlFVRk5MRU5CUVVNc1RVRkJUU3huUWtGQlowSXNSMEZCUnp0SlFVTTVRaXhEUVVGRExIVkNRVUYxUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRk8xRkJRMmhETEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVTBGQlV5eERRVUZETEVWQlFVVXNORUpCUVRSQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1UwRkJVeXhEUVVGRE8wdEJRek5HTzBsQlEwUXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlR0UlFVTm9ReXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRmRCUVZjc1EwRkJReXhGUVVGRkxEUkNRVUUwUWl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZkQlFWY3NRMEZCUXp0UlFVTTVSaXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRmRCUVZjc1EwRkJReXhGUVVGRkxEUkNRVUUwUWl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZkQlFWY3NRMEZCUXp0UlFVTTVSaXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRk5CUVZNc1EwRkJReXhGUVVGRkxEUkNRVUUwUWl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZOQlFWTXNRMEZCUXp0UlFVTXhSaXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxEUkNRVUUwUWl4RFFVRkRMR3RDUVVGclFpeERRVUZETEUxQlFVMHNRMEZCUXp0TFFVTnlSanRKUVVORUxFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1VVRkJVU3hEUVVGRExFVkJRVVU3VVVGRGJFTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlN3NFFrRkJPRUlzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhSUVVGUkxFTkJRVU03VVVGRE9VWXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN3NFFrRkJPRUlzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGRFWXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlN3NFFrRkJPRUlzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhWUVVGVkxFTkJRVU03VVVGRGJFY3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eGhRVUZoTEVOQlFVTXNSVUZCUlN3NFFrRkJPRUlzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhoUVVGaExFTkJRVU03VVVGRGVFY3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN3NFFrRkJPRUlzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRE1VWXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlN3NFFrRkJPRUlzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhWUVVGVkxFTkJRVU03VVVGRGJFY3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFpRVUZaTEVOQlFVTXNSVUZCUlN3NFFrRkJPRUlzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhaUVVGWkxFTkJRVU03VVVGRGRFY3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eGhRVUZoTEVOQlFVTXNSVUZCUlN3NFFrRkJPRUlzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhoUVVGaExFTkJRVU03VVVGRGVFY3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN3NFFrRkJPRUlzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRE1VWXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN3NFFrRkJPRUlzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhMUVVGTExFTkJRVU03UzBGRGVrWTdTVUZEUkN4RFFVRkRMSFZDUVVGMVFpeERRVUZETEdGQlFXRXNRMEZCUXl4RlFVRkZPMUZCUTNaRExFTkJRVU1zZDBKQlFYZENMRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRVVVzYlVKQlFXMUNMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNUMEZCVHl4RFFVRkRPMUZCUTNwR0xFTkJRVU1zZDBKQlFYZENMRU5CUVVNc1YwRkJWeXhEUVVGRExFVkJRVVVzYlVKQlFXMUNMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNWMEZCVnl4RFFVRkRPMUZCUTJwSExFTkJRVU1zZDBKQlFYZENMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNSVUZCUlN4dFFrRkJiVUlzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhwUWtGQmFVSXNRMEZCUXp0UlFVTTNSeXhEUVVGRExIZENRVUYzUWl4RFFVRkRMSGxDUVVGNVFpeERRVUZETEVWQlEyeEVMRzFDUVVGdFFpeERRVUZETEhkQ1FVRjNRaXhEUVVGRExIbENRVUY1UWl4RFFVRkRPMHRCUXpGRk8wbEJRMFFzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJUdFJRVU5vUXl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMRFJDUVVFMFFpeERRVUZETEd0Q1FVRnJRaXhEUVVGRExGVkJRVlVzUTBGQlF6dExRVU0zUmp0SlFVTkVMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRVZCUVVVN1VVRkRiRU1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExHZENRVUZuUWl4RFFVRkRPMHRCUXk5SE8wbEJRMFFzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJUdFJRVU55UXl4RFFVRkRMSFZDUVVGMVFpeERRVUZETEZkQlFWY3NRMEZCUXl4RlFVRkZMREJDUVVFd1FpeERRVUZETEhWQ1FVRjFRaXhEUVVGRExGZEJRVmNzUTBGQlF6dExRVU4yUnp0RFFVTkdMRU5CUVVNN1FVRkZSaXhOUVVGTkxFTkJRVU1zVFVGQlRTeG5Ra0ZCWjBJc1IwRkJjVUlzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF6dExRVU0xUlN4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGeFFpeEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZPMGxCUTNKRExFdEJRVXNzVFVGQlRTeEhRVUZITEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4SFFVRjVRaXhEUVVGRExFTkJRVU03VVVGRGVFVXNSMEZCUnl4RFFVRkRMRWRCUVhsQ0xFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZGZGtNc1QwRkJUeXhIUVVGSExFTkJRVU03UVVGRFlpeERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRnJRbFFzVFVGQlRTeFZRVUZWTEdOQlFXTXNRMEZCUXl4SlFVRnJRanRKUVVNdlF5eFBRVUZQTEdkQ1FVRm5RaXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEZGQlFWRXNRMEZCUXp0QlFVTTFReXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdkQ1FVRm5RaXhEUVVGRExFbEJRV3RDTzBsQlEycEVMRTlCUVU4c1owSkJRV2RDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1ZVRkJWU3hEUVVGRE8wRkJRemxETEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1kwRkJZeXhEUVVGRExFbEJRV3RDTzBsQlF5OURMRTlCUVU4c1owSkJRV2RDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1VVRkJVU3hEUVVGRE8wRkJRelZETEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2NVSkJRWEZDTEVOQlFVTXNTVUZCYTBJN1NVRkRkRVFzVDBGQlR5eG5Ra0ZCWjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeDFRa0ZCZFVJc1EwRkJReXhoUVVGaExFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTTdRVUZEY0VZc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeGxRVUZsTEVOQlFVTXNTVUZCYTBJN1NVRkRhRVFzVDBGQlR5eG5Ra0ZCWjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeDFRa0ZCZFVJc1EwRkJReXhOUVVGTkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTTdRVUZETjBVc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeHRRa0ZCYlVJc1EwRkJReXhKUVVGclFqdEpRVU53UkN4UFFVRlBMR2RDUVVGblFpeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMSFZDUVVGMVFpeERRVUZETEZkQlFWY3NRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJRenRCUVVOc1JpeERRVUZETzBGQlJVUXNaMGRCUVdkSE8wRkJRMmhITEUxQlFVMHNWVUZCVlN4cFFrRkJhVUlzUTBGQlF5eEZRVUZWTEVWQlFVVXNSVUZCVlR0SlFVTjBSQ3hKUVVGSkxFVkJRVVVzUTBGQlF5eE5RVUZOTEV0QlFVc3NSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSVHRSUVVNelFpeFBRVUZQTEVOQlFVTXNRMEZCUXp0TFFVTldPMU5CUVUwN1VVRkRUQ3hKUVVGSkxFbEJRVWtzUjBGQlZ5eERRVUZETEVOQlFVTTdVVUZEY2tJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTzFsQlEyaERMRWxCUVVrc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOcVF5eFBRVUZQTEVsQlFVa3NSMEZCUnl4RlFVRkZMRU5CUVVNc1RVRkJUU3hEUVVGRE8wdEJRM3BDTzBGQlEwZ3NRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3h0UWtGQmJVSXNRMEZCUXl4RlFVRlZMRVZCUVVVc1JVRkJWVHRKUVVONFJDeFBRVUZQTEVWQlFVVXNTMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUXpOQ0xFTkJRVU03UVVGRlJDdzBSRUZCTkVRN1FVRkROVVFzVFVGQlRTeFBRVUZQTEU5QlFVODdTVUZKYkVJN096czdUMEZKUnp0SlFVTklMRmxCUVZrc1RVRkJiMEk3VVVGRE9VSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhOUVVGTkxFTkJRVU03VVVGRGNrSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1IwRkJSeXhuUWtGQlowSXNRMEZCUXl4TlFVRk5MRU5CUVhWQ0xFTkJRVU03U1VGRGFrVXNRMEZCUXp0SlFVVkVPenM3T3p0UFFVdEhPMGxCUTBrc1pVRkJaU3hEUVVGRExFMUJRVzlDTzFGQlEzcERMRTlCUVU4c2NVSkJRWEZDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1pVRkJaU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEcxQ1FVRnRRaXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBsQlEycEhMRU5CUVVNN1NVRkRSRHM3T3pzN1QwRkxSenRKUVVOSkxGVkJRVlVzUTBGQlF5eEpRVUZWTzFGQlF6RkNMRTFCUVUwc1NVRkJTU3hIUVVWT0xHZENRVUZuUWl4RFFVRkRPMUZCUTNKQ0xFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zWTBGQll5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNN1dVRkRla1lzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4dFFrRkJiVUlzU1VGQlNTeERRVUZETEUxQlFVMHNhMEpCUVd0Q0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTI1R0xFOUJRVThzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU4yUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVhGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTTNSU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVzFDTEVOQlFVTTdTVUZEZGtRc1EwRkJRenRKUVVWRU96czdPenRQUVV0SE8wbEJRMGtzVFVGQlRTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExGRkJRVFJDTzFGQlF6VkVMRTlCUVU4c1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEycEVMRU5CUVVNN1NVRkZSRHM3VDBGRlJ6dEpRVU5JTEUxQlFVMHNTMEZCU3l4cFFrRkJhVUk3VVVGRE1VSXNUMEZCVHl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNN1NVRkRka01zUTBGQlF6dERRVU5HSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUNvZ1lYTWdabXdnWm5KdmJTQW5abUZ6ZEdWemRDMXNaWFpsYm5Ob2RHVnBiaWM3WEc1cGJYQnZjblFnZTJwaGNtOVhhVzVyYkdWeWZTQm1jbTl0SUNkcVlYSnZMWGRwYm10c1pYSXRkSGx3WlhOamNtbHdkQ2M3WEc1cGJYQnZjblFnZTBScGMzUmhibU5sVFdWMGNtbGpmU0JtY205dElDZEFaR0YwWVdkeWIyc3RiR2xpY21GeWFXVnpMM1YwYVd4ekwzTnlZeTkwZVhCbExXUmxZMnhoY21GMGFXOXVjeWM3WEc1cGJYQnZjblFnZTF4dUlDQmhjM2x0YldWMGNtbGpSR2x6ZEdGdVkyVXNYRzRnSUdKeVlYVnVRbXhoYm5GMVpYUkVhWE4wWVc1alpTeGNiaUFnWTI5emFXNWxSR2x6ZEdGdVkyVXNYRzRnSUdScFkyVkVhWE4wWVc1alpTeGNiaUFnWlhWamJHbGtaV0Z1UkdsemRHRnVZMlVzWEc0Z0lHaGhiVzFwYm1kRWFYTjBZVzVqWlN4Y2JpQWdhM1ZzWTNwNWJuTnJhVVJwYzNSaGJtTmxMRnh1SUNCdFkwTnZibTVoZFdkb1pYbEVhWE4wWVc1alpTeGNiaUFnY205bmIzUkhiMnhrWW1WeVowUnBjM1JoYm1ObExGeHVJQ0J5ZFhOelpXeEVhWE4wWVc1alpTeGNiaUFnYzI5cllXeEVhWE4wWVc1alpTeGNiaUFnZEdGdWFXMXZkRzlFYVhOMFlXNWpaU3hjYmlBZ2JuVnRaWEpwWTBScGMzUmhibU5sTEZ4dUlDQjBZVzVwYlc5MGIwUnBjM1JoYm1ObFNXNTBRWEp5WVhrc1hHNGdJR2x1ZG1WeWMyVkRiMjF0YjI1SmRHVnRjME52ZFc1MExGeHVmU0JtY205dElDY3VMaTlrYVhOMFlXNWpaUzF0WlhSeWFXTnpMVzFsZEdodlpITW5PMXh1WEc1cGJYQnZjblFnZTJOaGJHTjFiR0YwWlVWMVkyeHBaR1ZoYmtScGMzUmhibU5sZlNCbWNtOXRJQ2RBWkdGMFlXZHliMnN0YkdsaWNtRnlhV1Z6TDNWMGFXeHpMM055WXk5MlpXTjBiM0l0YjNCbGNtRjBhVzl1Y3ljN1hHNXBiWEJ2Y25RZ1FtbDBRWEp5WVhrZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdlltbDBMV0Z5Y21GNUp6dGNibWx0Y0c5eWRDQjdWbVZqZEc5eUxDQlRkSEpwYm1kRWFXTjBhVzl1WVhKNWZTQm1jbTl0SUNkQVpHRjBZV2R5YjJzdGJHbGljbUZ5YVdWekwzVjBhV3h6TDNOeVl5OTBlWEJsTFdSbFkyeGhjbUYwYVc5dWN5YzdYRzVwYlhCdmNuUWdlMjF0UkdsemRHRnVZMlZHZFc1amRHbHZibk1zSUUxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjMzBnWm5KdmJTQW5MaTR2YldGamNtOXRiMnhsWTNWc1pTMWthWE4wWVc1alpTMW1kVzVqZEdsdmJuTW5PMXh1YVcxd2IzSjBJSHRFYVhOMFlXNWpaVTFsZEhKcFkzTlRkV0pxWldOMGN5d2dRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE1zWEc0Z0lGTjBjbWx1WjAxbGRISnBZM05PWVcxbGN5d2dWbVZqZEc5eVRXVjBjbWxqYzA1aGJXVnpMQ0JPZFcxaVpYSk5aWFJ5YVdOelRtRnRaWE1zSUVsdWRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxGeHVJQ0JPZFcxaVpYSkJjbkpoZVUxbGRISnBZM05PWVcxbGMzMGdabkp2YlNBbkxpOWpiMjV6ZEhNbk8xeHVYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQjJaV04wYjNKRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpPaUI3SUZ0dVlXMWxPaUJ6ZEhKcGJtZGRPaUFvZURvZ1ZtVmpkRzl5TENCNU9pQldaV04wYjNJcElEMCtJRzUxYldKbGNpQjlJRDBnZTF4dUlDQmJWbVZqZEc5eVRXVjBjbWxqYzA1aGJXVnpMa1YxWTJ4cFpHVmhibDA2SUdOaGJHTjFiR0YwWlVWMVkyeHBaR1ZoYmtScGMzUmhibU5sTEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElITjBjbWx1WjBScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITTZJSHNnVzI1aGJXVTZJSE4wY21sdVoxMDZJQ2g0T2lCemRISnBibWNzSUhrNklITjBjbWx1WnlrZ1BUNGdiblZ0WW1WeUlIMGdQU0I3WEc0Z0lGdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVUR1YyWlc1emFIUmxhVzVkT2lCbWJDNWthWE4wWVc1alpTeGNiaUFnVzFOMGNtbHVaMDFsZEhKcFkzTk9ZVzFsY3k1S1lYSnZWMmx1YTJ4bGNsMDZJR3BoY205WGFXNXJiR1Z5TEZ4dUlDQmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMazFoYm1oaGRIUmhibDA2SUcxaGJtaGhkSFJoYmtScGMzUmhibU5sTEZ4dUlDQmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMazl1WldodmRGMDZJR05oZEdWbmIzSnBZMkZzUkdsemRHRnVZMlVzWEc1OU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpPaUI3SUZ0dVlXMWxPaUJ6ZEhKcGJtZGRPaUFvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLU0E5UGlCdWRXMWlaWElnZlNBOUlIdGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsUmhibWx0YjNSdlhUb2dkR0Z1YVcxdmRHOUVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrUnBZMlZkT2lCa2FXTmxSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUJjM2x0YldWMGNtbGpYVG9nWVhONWJXMWxkSEpwWTBScGMzUmhibU5sTEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UW5KaGRXNUNiR0Z1Y1hWbGRGMDZJR0p5WVhWdVFteGhibkYxWlhSRWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtOdmMybHVaVjA2SUdOdmMybHVaVVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVTM1ZzWTNwNWJuTnJhVjA2SUd0MWJHTjZlVzV6YTJsRWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGsxalEyOXVibUYxWjJobGVWMDZJRzFqUTI5dWJtRjFaMmhsZVVScGMzUmhibU5sTEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VW05bmIzUkhiMnhrWW1WeVoxMDZJSEp2WjI5MFIyOXNaR0psY21kRWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxKMWMzTmxiRjA2SUhKMWMzTmxiRVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVMjlyWVd4ZE9pQnpiMnRoYkVScGMzUmhibU5sTEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11U0dGdGJXbHVaMTA2SUdoaGJXMXBibWRFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa1YxWTJ4cFpHVmhibDA2SUdWMVkyeHBaR1ZoYmtScGMzUmhibU5sTEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElHbHVkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjem9nZXlCYmJtRnRaVG9nYzNSeWFXNW5YVG9nS0hnNklGVnBiblF6TWtGeWNtRjVMQ0I1T2lCVmFXNTBNekpCY25KaGVTa2dQVDRnYm5WdFltVnlJSDBnUFNCN1hHNGdJRnRKYm5SQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VVlXNXBiVzkwYjBsdWRFRnljbUY1WFRvZ2RHRnVhVzF2ZEc5RWFYTjBZVzVqWlVsdWRFRnljbUY1TEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElHNTFiV0psY2tScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITTZJSHNnVzI1aGJXVTZJSE4wY21sdVoxMDZJQ2hoY21kek9pQmhibmtwSUQwK0lDaDRPaUJ1ZFcxaVpYSXNJSGs2SUc1MWJXSmxjaWtnUFQ0Z2JuVnRZbVZ5SUgwZ1BTQjdYRzRnSUZ0T2RXMWlaWEpOWlhSeWFXTnpUbUZ0WlhNdVJHbG1abVZ5Wlc1alpWMDZJRzUxYldWeWFXTkVhWE4wWVc1alpTeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0J1ZFcxaVpYSkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjenBjYm5zZ1cyNWhiV1U2SUhOMGNtbHVaMTA2SUNoaGNtZHpPaUJoYm5rcElEMCtJQ2g0T2lCQmNuSmhlVXhwYTJVOGJuVnRZbVZ5UGl3Z2VUb2dRWEp5WVhsTWFXdGxQRzUxYldKbGNqNHBJRDArSUc1MWJXSmxjaUI5SUQwZ2UxeHVJQ0JiVG5WdFltVnlRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRMjl0Ylc5dVNYUmxiWE5kT2lCcGJuWmxjbk5sUTI5dGJXOXVTWFJsYlhORGIzVnVkQ3hjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCQmRtRnBiR0ZpYkdWTlpYUnlhV056SUQwZ2UxeHVJQ0JiUkdsemRHRnVZMlZOWlhSeWFXTnpVM1ZpYW1WamRITXVWbVZqZEc5eVhUb2dlMXh1SUNBZ0lGdFdaV04wYjNKTlpYUnlhV056VG1GdFpYTXVSWFZqYkdsa1pXRnVYVG9nZG1WamRHOXlSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0V1pXTjBiM0pOWlhSeWFXTnpUbUZ0WlhNdVJYVmpiR2xrWldGdVhTeGNiaUFnZlN4Y2JpQWdXMFJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxsTjBjbWx1WjEwNklIdGNiaUFnSUNCYlUzUnlhVzVuVFdWMGNtbGpjMDVoYldWekxreGxkbVZ1YzJoMFpXbHVYVG9nYzNSeWFXNW5SR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0VGRISnBibWROWlhSeWFXTnpUbUZ0WlhNdVRHVjJaVzV6YUhSbGFXNWRMRnh1SUNBZ0lGdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVTbUZ5YjFkcGJtdHNaWEpkT2lCemRISnBibWRFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcxTjBjbWx1WjAxbGRISnBZM05PWVcxbGN5NUtZWEp2VjJsdWEyeGxjbDBzWEc0Z0lDQWdXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVOWVc1b1lYUjBZVzVkT2lCemRISnBibWRFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcxTjBjbWx1WjAxbGRISnBZM05PWVcxbGN5NU5ZVzVvWVhSMFlXNWRMRnh1SUNBZ0lGdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVUMjVsYUc5MFhUb2djM1J5YVc1blJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRUZEhKcGJtZE5aWFJ5YVdOelRtRnRaWE11VDI1bGFHOTBYU3hjYmlBZ2ZTeGNiaUFnVzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMa0pwZEVGeWNtRjVYVG9nZTF4dUlDQWdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VVlXNXBiVzkwYjEwNklHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VVlXNXBiVzkwYjEwc1hHNGdJQ0FnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrUnBZMlZkT2lCaWFYUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UkdsalpWMHNYRzRnSUNBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa0Z6ZVcxdFpYUnlhV05kT2lCaWFYUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UVhONWJXMWxkSEpwWTEwc1hHNGdJQ0FnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrSnlZWFZ1UW14aGJuRjFaWFJkT2lCaWFYUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UW5KaGRXNUNiR0Z1Y1hWbGRGMHNYRzRnSUNBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa052YzJsdVpWMDZJR0pwZEVGeWNtRjVSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NURiM05wYm1WZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUxkV3hqZW5sdWMydHBYVG9nWW1sMFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa3QxYkdONmVXNXphMmxkTEZ4dUlDQWdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1TlkwTnZibTVoZFdkb1pYbGRPaUJpYVhSQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVUV05EYjI1dVlYVm5hR1Y1WFN4Y2JpQWdJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVVtOW5iM1JIYjJ4a1ltVnlaMTA2SUdKcGRFRnljbUY1UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVTYjJkdmRFZHZiR1JpWlhKblhTeGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVblZ6YzJWc1hUb2dZbWwwUVhKeVlYbEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsSjFjM05sYkYwc1hHNGdJQ0FnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsTnZhMkZzWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxOdmEyRnNYU3hjYmlBZ2ZTeGNiaUFnVzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMazFoWTNKdlRXOXNaV04xYkdWZE9pQjdJQzh2SUc5d2RHbHZibUZzSUdGeVozTWdibVZsWkdWa0lHWnZjaUJ0WVdOeWIyMXZiR1ZqZFd4bElHWjFibU4wYVc5dWN5QjNhR2xqYUNCcGJtbDBhV0ZzYVhwbElIUm9aVzFjYmlBZ0lDQmJUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWekxraEJUVTFKVGtkZE9pQnRiVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpXMDF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NUlRVTFOU1U1SFhTeGNiaUFnSUNCYlRXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6TGt4RlZrVk9VMGhVUlVsT1hUb2diVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMXROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVURVZXUlU1VFNGUkZTVTVkTEZ4dUlDQWdJRnROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVUa1ZGUkV4RlRVRk9UbDlYVlU1VFEwaGRPaUJ0YlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VzAxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVPUlVWRVRFVk5RVTVPWDFkVlRsTkRTRjBzWEc0Z0lDQWdXMDF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NU5UMDVQVFVWU1gwTklSVTFKUTBGTVgwUkpVMVJCVGtORlhUcGNiaUFnSUNBZ0lHMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTmJUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWekxrMVBUazlOUlZKZlEwaEZUVWxEUVV4ZlJFbFRWRUZPUTBWZExGeHVJQ0I5TEZ4dUlDQmJSR2x6ZEdGdVkyVk5aWFJ5YVdOelUzVmlhbVZqZEhNdVRuVnRZbVZ5WFRvZ2UxeHVJQ0FnSUZ0T2RXMWlaWEpOWlhSeWFXTnpUbUZ0WlhNdVJHbG1abVZ5Wlc1alpWMDZJRzUxYldKbGNrUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iVG5WdFltVnlUV1YwY21samMwNWhiV1Z6TGtScFptWmxjbVZ1WTJWZExGeHVJQ0I5TEZ4dUlDQmJSR2x6ZEdGdVkyVk5aWFJ5YVdOelUzVmlhbVZqZEhNdVNXNTBRWEp5WVhsZE9pQjdYRzRnSUNBZ1cwbHVkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbFJoYm1sdGIzUnZTVzUwUVhKeVlYbGRPaUJwYm5SQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlNXNTBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVWR0Z1YVcxdmRHOUpiblJCY25KaGVWMHNYRzRnSUgwc1hHNGdJRnRFYVhOMFlXNWpaVTFsZEhKcFkzTlRkV0pxWldOMGN5NU9kVzFpWlhKQmNuSmhlVjA2SUh0Y2JpQWdJQ0JiVG5WdFltVnlRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRMjl0Ylc5dVNYUmxiWE5kT2lCdWRXMWlaWEpCY25KaGVVUnBjM1JoYm1ObFRXVjBjbWxqYzF0T2RXMWlaWEpCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVEYjIxdGIyNUpkR1Z0YzEwc1hHNGdJSDBzWEc1OU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1RXVjBjbWxqVkc5RVlYUmhWSGx3WlRvZ1UzUnlhVzVuUkdsamRHbHZibUZ5ZVNBOUlFOWlhbVZqZEM1clpYbHpLRUYyWVdsc1lXSnNaVTFsZEhKcFkzTXBYRzRnSUM1eVpXUjFZMlVvS0hKbGREb2dVM1J5YVc1blJHbGpkR2x2Ym1GeWVTd2dhMlY1S1NBOVBpQjdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQjJZV3dnYjJZZ1QySnFaV04wTG10bGVYTW9RWFpoYVd4aFlteGxUV1YwY21samMxdHJaWGtnWVhNZ1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWelhTa3BYRzRnSUNBZ0lDQnlaWFJiZG1Gc0lHRnpJRUYyWVdsc1lXSnNaVVJoZEdGVWVYQmxjMTBnUFNCclpYazdYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVjBPMXh1SUNCOUxDQjdmU2s3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRUYyWVdsc1lXSnNaVVJoZEdGVWVYQmxjeUE5SUd0bGVXOW1JSFI1Y0dWdlppQkJkbUZwYkdGaWJHVk5aWFJ5YVdOek8xeHVaWGh3YjNKMElIUjVjR1VnVm1WamRHOXlUV1YwY21samN5QTlJR3RsZVc5bUlIUjVjR1Z2WmlCQmRtRnBiR0ZpYkdWTlpYUnlhV056VzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMbFpsWTNSdmNsMDdYRzVsZUhCdmNuUWdkSGx3WlNCVGRISnBibWROWlhSeWFXTnpJRDBnYTJWNWIyWWdkSGx3Wlc5bUlFRjJZV2xzWVdKc1pVMWxkSEpwWTNOYlJHbHpkR0Z1WTJWTlpYUnlhV056VTNWaWFtVmpkSE11VTNSeWFXNW5YVHRjYm1WNGNHOXlkQ0IwZVhCbElFSnBkRUZ5Y21GNVRXVjBjbWxqY3lBOUlHdGxlVzltSUhSNWNHVnZaaUJCZG1GcGJHRmliR1ZOWlhSeWFXTnpXMFJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxrSnBkRUZ5Y21GNVhUdGNibVY0Y0c5eWRDQjBlWEJsSUU1MWJXSmxjazFsZEhKcFkzTWdQU0JyWlhsdlppQjBlWEJsYjJZZ1FYWmhhV3hoWW14bFRXVjBjbWxqYzF0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVPZFcxaVpYSmRPMXh1Wlhod2IzSjBJSFI1Y0dVZ1NXNTBRWEp5WVhsTlpYUnlhV056SUQwZ2EyVjViMllnZEhsd1pXOW1JRUYyWVdsc1lXSnNaVTFsZEhKcFkzTmJSR2x6ZEdGdVkyVk5aWFJ5YVdOelUzVmlhbVZqZEhNdVNXNTBRWEp5WVhsZE8xeHVaWGh3YjNKMElIUjVjR1VnVG5WdFltVnlRWEp5WVhsTlpYUnlhV056SUQwZ2EyVjViMllnZEhsd1pXOW1JRUYyWVdsc1lXSnNaVTFsZEhKcFkzTmJSR2x6ZEdGdVkyVk5aWFJ5YVdOelUzVmlhbVZqZEhNdVRuVnRZbVZ5UVhKeVlYbGRPMXh1Wlhod2IzSjBJSFI1Y0dVZ1MyNXZkMjVOWlhSeWFXTnpJRDBnVTNSeWFXNW5UV1YwY21samN5QjhJRUpwZEVGeWNtRjVUV1YwY21samN5QjhJRlpsWTNSdmNrMWxkSEpwWTNNZ2ZGeHVJQ0JOYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTWdmQ0JPZFcxaVpYSk5aWFJ5YVdOelRtRnRaWE1nZkNCSmJuUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5QjhJRTUxYldKbGNrRnljbUY1VFdWMGNtbGpjMDVoYldWek8xeHVYRzVsZUhCdmNuUWdkSGx3WlNCV1lXeHBaRlI1Y0dWeklEMWNiaUFnZXlCa1lYUmhPaUJ6ZEhKcGJtZGJYU3dnYldWMGNtbGpPaUJUZEhKcGJtZE5aWFJ5YVdOeklId2dUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWeklIMGdmRnh1SUNCN0lHUmhkR0U2SUZabFkzUnZjbHRkTENCdFpYUnlhV002SUZabFkzUnZjazFsZEhKcFkzTWdmU0I4WEc0Z0lIc2daR0YwWVRvZ1FtbDBRWEp5WVhsYlhTd2diV1YwY21sak9pQkNhWFJCY25KaGVVMWxkSEpwWTNNZ2ZTQjhYRzRnSUhzZ1pHRjBZVG9nYm5WdFltVnlXMTBzSUcxbGRISnBZem9nVG5WdFltVnlUV1YwY21samMwNWhiV1Z6SUgwN1hHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMU4wY21sdVowMWxkSEpwWXlodVlXMWxPaUJMYm05M2JrMWxkSEpwWTNNcElIdGNiaUFnY21WMGRYSnVJRTFsZEhKcFkxUnZSR0YwWVZSNWNHVmJibUZ0WlYwZ1BUMGdKMU4wY21sdVp5YzdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcGMwSnBkRUZ5Y21GNVRXVjBjbWxqS0c1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3lrZ2UxeHVJQ0J5WlhSMWNtNGdUV1YwY21salZHOUVZWFJoVkhsd1pWdHVZVzFsWFNBOVBTQW5RbWwwUVhKeVlYa25PMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FYTldaV04wYjNKTlpYUnlhV01vYm1GdFpUb2dTMjV2ZDI1TlpYUnlhV056S1NCN1hHNGdJSEpsZEhWeWJpQk5aWFJ5YVdOVWIwUmhkR0ZVZVhCbFcyNWhiV1ZkSUQwOUlDZFdaV04wYjNJbk8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYVhOTllXTnliMDF2YkdWamRXeGxUV1YwY21saktHNWhiV1U2SUV0dWIzZHVUV1YwY21samN5a2dlMXh1SUNCeVpYUjFjbTRnVFdWMGNtbGpWRzlFWVhSaFZIbHdaVnR1WVcxbFhTQTlQU0JFYVhOMFlXNWpaVTFsZEhKcFkzTlRkV0pxWldOMGN5NU5ZV055YjAxdmJHVmpkV3hsTG5SdlUzUnlhVzVuS0NrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJwYzA1MWJXVnlhV05OWlhSeWFXTW9ibUZ0WlRvZ1MyNXZkMjVOWlhSeWFXTnpLU0I3WEc0Z0lISmxkSFZ5YmlCTlpYUnlhV05VYjBSaGRHRlVlWEJsVzI1aGJXVmRJRDA5SUVScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMazUxYldKbGNpNTBiMU4wY21sdVp5Z3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FYTk9kVzFpWlhKQmNuSmhlVTFsZEhKcFl5aHVZVzFsT2lCTGJtOTNiazFsZEhKcFkzTXBJSHRjYmlBZ2NtVjBkWEp1SUUxbGRISnBZMVJ2UkdGMFlWUjVjR1ZiYm1GdFpWMGdQVDBnUkdsemRHRnVZMlZOWlhSeWFXTnpVM1ZpYW1WamRITXVUblZ0WW1WeVFYSnlZWGt1ZEc5VGRISnBibWNvS1R0Y2JuMWNibHh1THlvcUlFMWhibWhoZEhSaGJpQmthWE4wWVc1alpTQmlaWFIzWldWdUlIUjNieUJ6WlhGMVpXNWpaWE1nS0cxaGRHTm9JQzBnTUN3Z2JXbHpiV0YwWTJnZ0xTQXhLU0J1YjNKdFlXeHBlbVZrSUdadmNpQnNaVzVuZEdndUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiV0Z1YUdGMGRHRnVSR2x6ZEdGdVkyVW9jekU2SUhOMGNtbHVaeXdnY3pJNklITjBjbWx1WnlrNklHNTFiV0psY2lCN1hHNGdJR2xtSUNoek1TNXNaVzVuZEdnZ0lUMDlJSE15TG14bGJtZDBhQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQXhPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR3hsZENCa2FYTjBPaUJ1ZFcxaVpYSWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBeE95QnBJRHdnY3pFdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ0lDQmthWE4wSUNzOUlITXhXMmxkSUQwOUlITXlXMmxkSUQ4Z01DQTZJREU3WEc0Z0lDQWdjbVYwZFhKdUlHUnBjM1FnTHlCek1TNXNaVzVuZEdnN1hHNGdJSDFjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHTmhkR1ZuYjNKcFkyRnNSR2x6ZEdGdVkyVW9jekU2SUhOMGNtbHVaeXdnY3pJNklITjBjbWx1WnlrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQnpNU0E5UFQwZ2N6SWdQeUF3SURvZ01UdGNibjFjYmx4dUx5b3FJRlZ1YVdacFpXUWdZMnhoYzNNZ2FXMXdiR1Z0Wlc1MGFXNW5JR1JwWm1abGNtVnVkQ0J6ZEhKcGJtY2diV1ZoYzNWeVpYTXVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdUV1ZoYzNWeVpTQjdYRzRnSUhCeWIzUmxZM1JsWkNCdFpYUm9iMlE2SUV0dWIzZHVUV1YwY21samN6dGNiaUFnY0hKdmRHVmpkR1ZrSUdSaGRHRlVlWEJsT2lCQmRtRnBiR0ZpYkdWRVlYUmhWSGx3WlhNN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOeVpXRjBaWE1nWVc0Z2FXNXpkR0Z1WTJVZ2IyWWdUV1ZoYzNWeVpTQjNhWFJvSUM1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRzFsZEdodlpDQk5aWFJvYjJRZ2RHOGdZMkZzWTNWc1lYUmxJR1JwYzNSaGJtTmxJR0psZEhkbFpXNGdjM1J5YVc1bmN5NWNiaUFnSUNvZ1FHMWxiV0psY205bUlFMWxZWE4xY21WeVhHNGdJQ0FxTDF4dUlDQmpiMjV6ZEhKMVkzUnZjaWh0WlhSb2IyUTZJRXR1YjNkdVRXVjBjbWxqY3lrZ2UxeHVJQ0FnSUhSb2FYTXViV1YwYUc5a0lEMGdiV1YwYUc5a08xeHVJQ0FnSUhSb2FYTXVaR0YwWVZSNWNHVWdQU0JOWlhSeWFXTlViMFJoZEdGVWVYQmxXMjFsZEdodlpGMGdZWE1nUVhaaGFXeGhZbXhsUkdGMFlWUjVjR1Z6TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ2RISjFaU0JwWmlCMGFHVWdiV1YwY21saklHNWxaV1J6SUdGeVozVnRaVzUwY3lCMGJ5QmlaU0JqWVd4amRXeGhkR1ZrTGx4dUlDQWdLaUJBY0dGeVlXMGdlMHR1YjNkdVRXVjBjbWxqYzMwZ2JXVjBhRzlrSUUxbGRISnBZeUIwYnlCamFHVmpheUJwWmlCcGRDQnVaV1ZrY3lCaGNtZDFiV1Z1ZEhNdVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJKdmIyeGxZVzU5SUZSeWRXVWdhV1lnZEdobElHMWxkSEpwWXlCdVpXVmtjeUJoY21kMWJXVnVkSE11WEc0Z0lDQXFJRUJ0WlcxaVpYSnZaaUJOWldGemRYSmxYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdiV1YwY21salRtVmxaSE5CY21kektHMWxkR2h2WkRvZ1MyNXZkMjVOWlhSeWFXTnpLVG9nWW05dmJHVmhiaUI3WEc0Z0lDQWdjbVYwZFhKdUlHbHpUV0ZqY205TmIyeGxZM1ZzWlUxbGRISnBZeWh0WlhSb2IyUXBJSHg4SUdselRuVnRaWEpwWTAxbGRISnBZeWh0WlhSb2IyUXBJSHg4SUdselRuVnRZbVZ5UVhKeVlYbE5aWFJ5YVdNb2JXVjBhRzlrS1R0Y2JpQWdmVnh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCamRYTjBiMjBnYzNSeWFXNW5JR1JwYzNSaGJtTmxJR1oxYm1OMGFXOXVJSE53WldOcFptbGxaQzVjYmlBZ0lDb2dRSEJoY21GdElIdHZjSFJ6ZlNCdmNIUnpJRTl3ZEdsdmJuTWdabTl5SUhSb1pTQnRaV0Z6ZFhKbExpQjFjMlZrSUdadmNpQnRZV055YjIxdmJHVmpkV3hsSUdScGMzUmhibU5sYzF4dUlDQWdLaUJBY21WMGRYSnVJSHRFYVhOMFlXNWpaVTFsZEhKcFkzMGdRMkZzYkdKaFkyc2diMllnZEdobElHMWxZWE4xY21VZ1kyaHZjMlZ1TGx4dUlDQWdLaUJBYldWdFltVnliMllnVFdWaGMzVnlaWEpjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhSTlpXRnpkWEpsS0c5d2RITS9PaUJoYm5rcE9pQkVhWE4wWVc1alpVMWxkSEpwWXlCN1hHNGdJQ0FnWTI5dWMzUWdaR2xqZERvZ2V5QmJhMlY1T2lCemRISnBibWRkT2x4dUlDQWdJQ0FnZTF0clpYa3lPaUJ6ZEhKcGJtZGRPaUJFYVhOMFlXNWpaVTFsZEhKcFl5QjhJQ2dvYjNCMGN6b2dZVzU1S1NBOVBpQkVhWE4wWVc1alpVMWxkSEpwWXlsOVhHNGdJQ0FnZlNBOUlFRjJZV2xzWVdKc1pVMWxkSEpwWTNNN1hHNGdJQ0FnYVdZZ0tDRmthV04wTG1oaGMwOTNibEJ5YjNCbGNuUjVLSFJvYVhNdVpHRjBZVlI1Y0dVcElIeDhJQ0ZrYVdOMFczUm9hWE11WkdGMFlWUjVjR1ZkTG1oaGMwOTNibEJ5YjNCbGNuUjVLSFJvYVhNdWJXVjBhRzlrS1NsY2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhnVlc1cmJtOTNiaUJ0WldGemRYSmxJQ1I3ZEdocGN5NXRaWFJvYjJSOUlHWnZjaUJrWVhSaElIUjVjR1VnSkh0MGFHbHpMbVJoZEdGVWVYQmxmV0FwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG0xbGRISnBZMDVsWldSelFYSm5jeWgwYUdsekxtMWxkR2h2WkNrZ1AxeHVJQ0FnSUNBZ0tHUnBZM1JiZEdocGN5NWtZWFJoVkhsd1pWMWJkR2hwY3k1dFpYUm9iMlJkSUdGeklDZ29iM0IwY3pvZ1lXNTVLU0E5UGlCRWFYTjBZVzVqWlUxbGRISnBZeWtwS0c5d2RITXBJRHBjYmlBZ0lDQWdJR1JwWTNSYmRHaHBjeTVrWVhSaFZIbHdaVjFiZEdocGN5NXRaWFJvYjJSZElHRnpJRVJwYzNSaGJtTmxUV1YwY21sak8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZM1Z6ZEc5dElITjBjbWx1WnlCa2FYTjBZVzVqWlNCaWVTQjBhR1VnWjJsMlpXNGdaR0YwWVNCMGVYQmxMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwRjJZV2xzWVdKc1pVUmhkR0ZVZVhCbGMzMGdaR0YwWVZSNWNHVWdUV1YwY21sakozTWdaR0YwWVNCMGVYQmxYRzRnSUNBcUlFQnlaWFIxY200Z2UzTjBjbWx1WjF0ZGZTQk5aWFJ5YVdNZ2JtRnRaWE1nZDJocFkyZ2daWGh3WldOMGN5QjBhR1VnWjJsMlpXNGdaR0YwWVNCMGVYQmxYRzRnSUNBcUlFQnRaVzFpWlhKdlppQk5aV0Z6ZFhKbGNseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklITjBZWFJwWXlCblpYUk5aWFJ5YVdOQ2VVUmhkR0ZVZVhCbEtHUmhkR0ZVZVhCbE9pQkJkbUZwYkdGaWJHVkVZWFJoVkhsd1pYTXBPaUJ6ZEhKcGJtZGJYU0I3WEc0Z0lDQWdjbVYwZFhKdUlFOWlhbVZqZEM1clpYbHpLRUYyWVdsc1lXSnNaVTFsZEhKcFkzTmJaR0YwWVZSNWNHVmRLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQlNaWFIxY201eklHMWxkSEpwWXlCdVlXMWxjeUJoZG1GcGJHRmliR1V1WEc0Z0lDQXFJRUJ0WlcxaVpYSnZaaUJOWldGemRYSmxjbHh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2RsZENCaGRtRnBiR0ZpYkdWTlpXRnpkWEpsY3lncE9pQnpkSEpwYm1kYlhTQjdYRzRnSUNBZ2NtVjBkWEp1SUU5aWFtVmpkQzVyWlhsektFRjJZV2xzWVdKc1pVMWxkSEpwWTNNcE8xeHVJQ0I5WEc1OVhHNGlYWDA9IiwiaW1wb3J0IHsgVmVjdG9yIH0gZnJvbSAnLi90eXBlLWRlY2xhcmF0aW9ucyc7XG5pbXBvcnQgeyByYW5kb21GbG9hdCwgcmFuZG9tSW50IH0gZnJvbSAnLi9yYW5kb20nO1xuLyoqXG4gKiBBc3NlcnRzIGEgY29uZGl0aW9uIGJ5IHRocm93aW5nIGFuIEVycm9yLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2NvbmRpdGlvbj1mYWxzZV0gQ29uZGl0aW9uIHRvIGFzc2VydC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZT0nQXNzZXJ0aW9uIGVycm9yLiddIE1lc3NhZ2UgdG8gb3V0cHV0LlxuICogQHRocm93cyB7RXJyb3J9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uID0gZmFsc2UsIG1lc3NhZ2UgPSAnQXNzZXJ0aW9uIGVycm9yLicpIHtcbiAgICBpZiAoIWNvbmRpdGlvbilcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xufVxuLyoqXG4gKiBDcmVhdGVzIG5ldyB0d28tZGltZW5zaW9uYWwgYXJyYXkgYW5kIGZpbGxzIGl0IHdpdGggdGhlIHZhbHVlIGdpdmVuLlxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBkaW1lbnNpb24xIFRoZSBmaXJzdCBkaW1lbnNpb24gb2YgdGhlIGNvb3JkaW5hdGVzIChudW1iZXIgb2Ygcm93cykuXG4gKiBAcGFyYW0ge251bWJlcn0gZGltZW5zaW9uMiBUaGUgc2Vjb25kIGRpbWVuc2lvbiBvZiB0aGUgY29vcmRpbmF0ZXMgKG51bWJlciBvZiBjb2x1bW5zKS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbZmlsbD0wXSBBIHZhbHVlIHRvIGZpbGwgdGhlIGNvb3JkaW5hdGVzIHdpdGguXG4gKiBAcmV0dXJuIHtDb29yZGluYXRlc30gQSB0d28tZGltZW5zaW9uYWwgZmlsbGVkIHdpdGggdGhlIHZhbHVlIGdpdmVuLlxuICogQHRvZG8gTWlnaHQgYmUgc2xvdyBzaW5jZSB1c2VkIEFycmF5Lm1hcC4gUHJvYmFibHkgbmVlZHMgcGVyZm9ybWFuY2UgcmV2aXNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0Q29vcmRpbmF0ZXMoZGltZW5zaW9uMSwgZGltZW5zaW9uMiwgZmlsbCA9IDApIHtcbiAgICByZXR1cm4gbmV3IEFycmF5KGRpbWVuc2lvbjEpLmZpbGwoZmlsbCkubWFwKCgpID0+IChuZXcgVmVjdG9yKGRpbWVuc2lvbjIpLmZpbGwoZmlsbCkpKTtcbn1cbi8qKlxuICogVHJhbnNwb3NlIG1hdHJpeC5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge01hdHJpeH0gbWF0cml4IFRoZSBtYXRyaXggdG8gYmUgdHJhbnNwb3NlZC5cbiAqIEByZXR1cm4ge01hdHJpeH0gVHJhbnNwb3NlZCBtYXRyaXguXG4gKiBAdG9kbyBNaWdodCBiZSBzbG93IHNpbmNlIHVzZWQgQXJyYXkubWFwLiBQcm9iYWJseSBuZWVkcyBwZXJmb3JtYW5jZSByZXZpc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zcG9zZU1hdHJpeChtYXRyaXgpIHtcbiAgICByZXR1cm4gbmV3IEFycmF5KG1hdHJpeFswXS5sZW5ndGgpLmZpbGwoMClcbiAgICAgICAgLm1hcCgoXywgaSkgPT4gKG5ldyBWZWN0b3IobWF0cml4Lmxlbmd0aCkuZmlsbCgwKS5tYXAoKF8sIGopID0+IChtYXRyaXhbal1baV0pKSkpO1xufVxuLyoqXG4gKiBBZGRzIHR3byB2ZWN0b3JzIHdpdGggdGhlIHNlY29uZCBvbmUgdG8gYmUgbXVsdGlwbGllZCBieSB0aGUgZ2l2ZW4gcmF0aW8uXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3J9IHAgVGhlIGZpcnN0IHZlY3RvciB0byBhZGQuXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gcSBUaGUgc2Vjb25kIHZlY3RvciB0byBhZGQuXG4gKiBAcGFyYW0ge251bWJlcn0gW211bHRpcGxpZXI9MV0gQSBtdWx0aXBsaWVyIHRvIGJlIHVzZWQgYmVmb3JlIHRoZSBzZWNvbmQgdmVjdG9yIGlzIGFkZGVkLlxuICogQHJldHVybiB7VmVjdG9yfSBOZXcgdmVjdG9yIGNvbnRhaW5lZCB0aGUgcmVzdWx0IG9mIG9wZXJhdGlvbiBwK211bHRpcGxpZXIqcS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlY3RvckFkZChwLCBxLCBtdWx0aXBsaWVyID0gMSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IHAubGVuZ3RoO1xuICAgIGFzc2VydChuSXRlbXMgPT0gcS5sZW5ndGgsICdWZWN0b3IgbGVuZ3RocyBkbyBub3QgbWF0Y2guJyk7XG4gICAgY29uc3QgdG90YWwgPSBuZXcgVmVjdG9yKG5JdGVtcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwLmxlbmd0aDsgKytpKVxuICAgICAgICB0b3RhbFtpXSA9IHBbaV0gKyBtdWx0aXBsaWVyICogcVtpXTtcbiAgICByZXR1cm4gdG90YWw7XG59XG4vKipcbiAqIFN1bXMgdGhlIHZlY3RvcidzIGl0ZW1zLlxuICpcbiAqIEBwYXJhbSB7VmVjdG9yfSB2IFRoZSB2ZWN0b3IgdG8gYmUgc3VtbWVkLlxuICogQHJldHVybiB7bnVtYmVyfSBUaGUgdmVjdG9yJ3MgaXRlbXMgc3VtLlxuICovXG5mdW5jdGlvbiBpdGVtc1N1bSh2KSB7XG4gICAgbGV0IHRvdGFsID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHYubGVuZ3RoOyArK2kpXG4gICAgICAgIHRvdGFsICs9IHZbaV07XG4gICAgcmV0dXJuIHRvdGFsO1xufVxuLyoqXG4gKiBTdXFhcmVzIHRoZSB2ZWN0b3IncyBpdGVtcy5cbiAqXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gdiBUaGUgdmVjdG9yIHRvIHNxdWFyZS5cbiAqIEByZXR1cm4ge1ZlY3Rvcn0gQSBuZXcgdmVjdG9yIGNvbnRhaW5pbmcgdGhlIG9yaWdpbmFsJ3MgaXRlbXMgc3F1YXJlZC5cbiAqL1xuZnVuY3Rpb24gdmVjdG9yU3F1YXJlKHYpIHtcbiAgICBjb25zdCBuSXRlbXMgPSB2Lmxlbmd0aDtcbiAgICBjb25zdCB0b3RhbCA9IG5ldyBWZWN0b3Iobkl0ZW1zKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHYubGVuZ3RoOyArK2kpXG4gICAgICAgIHRvdGFsW2ldID0gdltpXSAqIHZbaV07XG4gICAgcmV0dXJuIHRvdGFsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHZlY3Rvckxlbmd0aCh2KSB7XG4gICAgbGV0IHNxclN1bSA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgaSsrKVxuICAgICAgICBzcXJTdW0gKz0gdltpXSAqIHZbaV07XG4gICAgcmV0dXJuIE1hdGguc3FydChzcXJTdW0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHZlY3RvckRvdFByb2R1Y3QodjEsIHYyKSB7XG4gICAgaWYgKHYxLmxlbmd0aCAhPSB2Mi5sZW5ndGgpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRpbWVuc2lvbmFsaXR5IG9mIHRoZSB2ZWN0b3JzIG11c3QgbWF0Y2gnKTtcbiAgICBsZXQgcHJvZCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2MS5sZW5ndGg7IGkrKylcbiAgICAgICAgcHJvZCArPSB2MVtpXSAqIHYyW2ldO1xuICAgIHJldHVybiBwcm9kO1xufVxuLyoqXG4gKiBDcmVhdGVzIGEgbWF0cml4IGZpbGxlZCB3aXRoIHJhbmRvbSBmbG9hdGluZyBwb2ludCB2YWx1ZXMuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbjEgVGhlIGZpcnN0IGRpbWVuc2lvbiBvZiB0aGUgbWF0cml4LlxuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbjIgVGhlIHNlY29uZCBkaW1lbnNpb24gb2YgdGhlIG1hdHJpeC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbc2NhbGU9MS5dIE1heCB2YWx1ZSBnaXZlbiBieSByYW5kb20gZ2VuZXJhdG9yLlxuICogQHJldHVybiB7TWF0cml4fSBBIG5ldyBtYXRyaXggZmlsbGVkIHdpdGggcmFuZG9tIGZsb2F0aW5nIHBvaW50ICB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWxsUmFuZG9tTWF0cml4KGRpbWVuc2lvbjEsIGRpbWVuc2lvbjIsIHNjYWxlID0gMS4pIHtcbiAgICBjb25zdCBtYXRyaXggPSBpbml0Q29vcmRpbmF0ZXMoZGltZW5zaW9uMSwgZGltZW5zaW9uMik7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaW1lbnNpb24xOyArK2kpIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBkaW1lbnNpb24yOyArK2opXG4gICAgICAgICAgICBtYXRyaXhbaV1bal0gPSByYW5kb21GbG9hdChzY2FsZSk7XG4gICAgfVxuICAgIHJldHVybiBtYXRyaXg7XG59XG4vKipcbiAqIENhbGN1bGF0ZXMgRXVjbGlkZWFuIGRpc3RhbmNlIGJldHdlZW4gdHdvIHZlY3RvcnMuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3J9IHAgVGhlIGZpcnN0IHZlY3Rvci5cbiAqIEBwYXJhbSB7VmVjdG9yfSBxIFRoZSBzZWNvbmQgdmVjdG9yLlxuICogQHJldHVybiB7bnVtYmVyfSBFdWNsaWRlYW4gZGlzdGFuY2UgYmV0d2VlbiB0aGUgZ2l2ZW4gdmVjdG9ycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUV1Y2xpZGVhbkRpc3RhbmNlKHAsIHEpIHtcbiAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICBjb25zdCBsZW4gPSBwLmxlbmd0aDtcbiAgICBpZiAobGVuICE9PSBxLmxlbmd0aClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZGltZW5zaW9uYWxpdHkgb2YgdGhlIHZlY3RvcnMgbXVzdCBtYXRjaCcpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyArK2kpXG4gICAgICAgIHJlc3VsdCArPSBNYXRoLnBvdygocFtpXSAtIHFbaV0pLCAyKTtcbiAgICByZXR1cm4gTWF0aC5zcXJ0KHJlc3VsdCk7XG59XG4vKipcbiAqIENyZWF0ZXMgYSBkaXN0YW5jZSBtYXRyaXggdXNpbmcgYSBjdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3JzfSBkYXRhIElucHV0IHZlY3RvcnMgdG8gY2FsY3VsYXRlIGRpc3RhbmNlcy5cbiAqIEBwYXJhbSB7RGlzdGFuY2VNZXRyaWN9IGRpc3RhbmNlIEN1c3RvbSBkaXN0YW5jZSBmdW5jdGlvbi5cbiAqIEByZXR1cm4ge01hdHJpeH0gQ2FsY3VsYXRlZCBjdXN0b20gZGlzdGFuY2UgbWF0cml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY0Rpc3RhbmNlTWF0cml4KGRhdGEsIGRpc3RhbmNlKSB7XG4gICAgY29uc3Qgbkl0ZW1zID0gZGF0YS5sZW5ndGg7XG4gICAgY29uc3QgbWF0cml4ID0gaW5pdENvb3JkaW5hdGVzKG5JdGVtcywgbkl0ZW1zLCAwKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5JdGVtczsgKytpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IG5JdGVtczsgKytqKSB7XG4gICAgICAgICAgICBjb25zdCBkID0gKGRhdGFbaV0gPT0gbnVsbCkgfHwgKGRhdGFbal0gPT0gbnVsbCkgPyAwIDogZGlzdGFuY2UoZGF0YVtpXSwgZGF0YVtqXSk7XG4gICAgICAgICAgICBtYXRyaXhbaV1bal0gPSBtYXRyaXhbal1baV0gPSBkO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXRyaXg7XG59XG4vKipcbiAqIENyZWF0ZXMgYSBkaXN0YW5jZSBtYXRyaXggdXNpbmcgYSBjdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3JzfSBkYXRhIElucHV0IHZlY3RvcnMgdG8gY2FsY3VsYXRlIGRpc3RhbmNlcy5cbiAqIEBwYXJhbSB7RGlzdGFuY2VNZXRyaWN9IGRpc3RhbmNlIEN1c3RvbSBkaXN0YW5jZSBmdW5jdGlvbi5cbiAqIEByZXR1cm4ge01hdHJpeH0gQ2FsY3VsYXRlZCBjdXN0b20gZGlzdGFuY2UgbWF0cml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY05vcm1hbGl6ZWREaXN0YW5jZU1hdHJpeChkYXRhLCBkaXN0YW5jZSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IGRhdGEubGVuZ3RoO1xuICAgIGNvbnN0IG1hdHJpeCA9IGluaXRDb29yZGluYXRlcyhuSXRlbXMsIG5JdGVtcywgMCk7XG4gICAgbGV0IG1heCA9IE51bWJlci5NSU5fVkFMVUU7XG4gICAgbGV0IG1pbiA9IE51bWJlci5NQVhfVkFMVUU7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuSXRlbXM7ICsraSkge1xuICAgICAgICBmb3IgKGxldCBqID0gaTsgaiA8IG5JdGVtczsgKytqKSB7XG4gICAgICAgICAgICBjb25zdCBkID0gKGRhdGFbaV0gPT0gbnVsbCkgfHwgKGRhdGFbal0gPT0gbnVsbCB8fCBpID09PSBqKSA/IDAgOiBkaXN0YW5jZShkYXRhW2ldLCBkYXRhW2pdKTtcbiAgICAgICAgICAgIG1hdHJpeFtpXVtqXSA9IG1hdHJpeFtqXVtpXSA9IGQ7XG4gICAgICAgICAgICBpZiAoZCA+IG1heClcbiAgICAgICAgICAgICAgICBtYXggPSBkO1xuICAgICAgICAgICAgaWYgKGQgPCBtaW4pXG4gICAgICAgICAgICAgICAgbWluID0gZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5JdGVtczsgKytpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IG5JdGVtczsgKytqKVxuICAgICAgICAgICAgbWF0cml4W2ldW2pdID0gbWF0cml4W2pdW2ldID0gKG1hdHJpeFtpXVtqXSAtIG1pbikgLyAobWF4IC0gbWluKTtcbiAgICB9XG4gICAgcmV0dXJuIG1hdHJpeDtcbn1cbi8qKiBHZW5lcmF0ZXMgYXJyYXkgZnJvbSBhIHJhbmdlIFtiZWdpbjsgZW5kXSBvciBbYmVnaW47IGVuZCkgaWYgZW5kRXhjbHVzaXZlLiAqKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5SYW5nZShiZWdpbiwgZW5kLCBlbmRFeGNsdXNpdmUgPSBmYWxzZSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IGVuZCAtIGJlZ2luICsgKGVuZEV4Y2x1c2l2ZSA/IDAgOiAxKTtcbiAgICBjb25zdCBzZXJpZXMgPSBuZXcgSW50MzJBcnJheShuSXRlbXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbkl0ZW1zOyArK2kpXG4gICAgICAgIHNlcmllc1tpXSA9IGJlZ2luICsgaTtcbiAgICByZXR1cm4gc2VyaWVzO1xufVxuLyoqXG4gKiBSZXR1cm5zIG9yZGVyIG9mIHZhbHVlcyBhcyBpZiB0aGV5IGFyZSBzb3J0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHthbnlbXX0gdmFsdWVzIElucHV0IGFycmF5LlxuICogQHBhcmFtIHtib29sZWFufSBbcmV2ZXJzZT1mYWxzZV0gV2hldGhlciB0byByZXR1cm4gcmV2ZXJzZWQgb3JkZXIuXG4gKiBAcmV0dXJuIHtudW1iZXJbXX0gVGhlIG9yZGVyIGNvbXB1dGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXJnU29ydCh2YWx1ZXMsIHJldmVyc2UgPSBmYWxzZSkge1xuICAgIGNvbnN0IHNvcnRmbiA9IHJldmVyc2UgPyAoYSwgYikgPT4gKGJbMF0gLSBhWzBdKSA6IChhLCBiKSA9PiAoYVswXSAtIGJbMF0pO1xuICAgIGNvbnN0IGRlY29yID0gKHYsIGkpID0+IFt2LCBpXTsgLy8gc2V0IGluZGV4IHRvIHZhbHVlXG4gICAgY29uc3QgdW5kZWNvciA9IChhKSA9PiBhWzFdOyAvLyBsZWF2ZSBvbmx5IGluZGV4XG4gICAgY29uc3QgX2FyZ3NvcnQgPSAoYXJyKSA9PiBhcnIubWFwKGRlY29yKS5zb3J0KHNvcnRmbikubWFwKHVuZGVjb3IpO1xuICAgIHJldHVybiBfYXJnc29ydCh2YWx1ZXMpO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBpbmRleGVzIG9mIHRoZSBtb3N0IGRpdmVyc2Ugb2JqZWN0cyBhY2NvcmRpbmcgdG8gdGhlIGRpc3QgZnVuY3Rpb25cbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGggdG90YWwgbnVtYmVyIG9mIG9iamVjdHNcbiAqIEBwYXJhbSB7bnVtYmVyfSBuIG51bWJlciBvZiBkaXZlcnNlIGVsZW1lbnRzIHRvIGZpbmRcbiAqIEBwYXJhbSB7KGkxOiBudW1iZXIsIGkyOiBudW1iZXIpID0+IG51bWJlcn0gZGlzdCBhIGZ1bmN0aW9uIHdoaWNoIGNhbGN1bGF0ZXMgZGlzdGFuY2UgYmV0d2VlblxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR3byBvYmplY3RzIHVzaW5nIHRoZWlyIGluZGV4ZXNcbiAqIEByZXR1cm5zIHtudW1iZXJbXX0gVGhlIGluZGV4ZXMgb2YgdGhlIG1vc3QgZGl2ZXJzZSBvYmplY3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXZlcnNlU3Vic2V0KGxlbmd0aCwgbiwgZGlzdCkge1xuICAgIGZ1bmN0aW9uIG1heEJ5KHZhbHVlcywgb3JkZXJCeSkge1xuICAgICAgICBsZXQgbWF4VmFsdWUgPSBudWxsO1xuICAgICAgICBsZXQgbWF4T3JkZXJCeSA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB2YWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRPcmRlckJ5ID0gb3JkZXJCeShlbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChtYXhPcmRlckJ5ID09IG51bGwgfHwgZWxlbWVudE9yZGVyQnkgPiBtYXhPcmRlckJ5KSB7XG4gICAgICAgICAgICAgICAgbWF4VmFsdWUgPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIG1heE9yZGVyQnkgPSBlbGVtZW50T3JkZXJCeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWF4VmFsdWU7XG4gICAgfVxuICAgIGNvbnN0IHN1YnNldCA9IFtyYW5kb21JbnQobGVuZ3RoIC0gMSldO1xuICAgIGNvbnN0IGNvbXBsZW1lbnQgPSBuZXcgU2V0KCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgICAgICBpZiAoIXN1YnNldC5pbmNsdWRlcyhpKSlcbiAgICAgICAgICAgIGNvbXBsZW1lbnQuYWRkKGkpO1xuICAgIH1cbiAgICB3aGlsZSAoc3Vic2V0Lmxlbmd0aCA8IG4pIHtcbiAgICAgICAgY29uc3QgaWR4ID0gbWF4QnkoY29tcGxlbWVudC52YWx1ZXMoKSwgKGkpID0+IE1hdGgubWluLmFwcGx5KE1hdGgsIHN1YnNldC5tYXAoZnVuY3Rpb24gKHZhbCwgaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiBkaXN0KGksIHZhbCk7XG4gICAgICAgIH0pKSk7XG4gICAgICAgIGlmIChpZHgpIHtcbiAgICAgICAgICAgIHN1YnNldC5wdXNoKGlkeCk7XG4gICAgICAgICAgICBjb21wbGVtZW50LmRlbGV0ZShpZHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdWJzZXQ7XG59XG4vKipcbiAqIFJldHVybnMgbm9ybWFsaXplZCB2ZWN0b3IuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3J9IGRhdGEgbnVtZXJpY2FsIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUoZGF0YSkge1xuICAgIGNvbnN0IGxlbiA9IGRhdGEubGVuZ3RoO1xuICAgIGxldCBzdW0gPSAwO1xuICAgIGxldCBzdW1PZlNxdWFyZXMgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgICAgc3VtICs9IGRhdGFbaV07XG4gICAgICAgIHN1bU9mU3F1YXJlcyArPSBNYXRoLnBvdyhkYXRhW2ldLCAyKTtcbiAgICB9XG4gICAgY29uc3QgbWVhbiA9IHN1bSAvIGxlbjtcbiAgICBjb25zdCBzdGREZXZJbnZlcnNlID0gMS4wIC8gTWF0aC5zcXJ0KHN1bU9mU3F1YXJlcyAvIGxlbiAtIE1hdGgucG93KG1lYW4sIDIpKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgKytpKVxuICAgICAgICBkYXRhW2ldID0gKGRhdGFbaV0gLSBtZWFuKSAqIHN0ZERldkludmVyc2U7XG4gICAgcmV0dXJuIGRhdGE7XG59XG4vKipcbiAqIEZpbmRzIHNldCBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIGxpc3RzLlxuICogQHBhcmFtIHthbnlbXX0gYSBUaGUgZmlyc3QgbGlzdC5cbiAqIEBwYXJhbSB7YW55W119IGIgVGhlIHNlY29uZCBsaXN0LlxuICogQHJldHVybiB7YW55W119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXREaWZmZXJlbmNlKGEsIGIpIHtcbiAgICBjb25zdCBiU2V0ID0gbmV3IFNldChiKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KGEuZmlsdGVyKCh4KSA9PiAhYlNldC5oYXMoeCkpKS52YWx1ZXMoKSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkbVZqZEc5eUxXOXdaWEpoZEdsdmJuTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMlpXTjBiM0l0YjNCbGNtRjBhVzl1Y3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hQUVVGUExFVkJRVk1zVFVGQlRTeEZRVUYxUXl4TlFVRk5MSEZDUVVGeFFpeERRVUZETzBGQlEzcEdMRTlCUVU4c1JVRkJReXhYUVVGWExFVkJRVVVzVTBGQlV5eEZRVUZETEUxQlFVMHNWVUZCVlN4RFFVRkRPMEZCUldoRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1RVRkJUU3hEUVVGRExGbEJRWEZDTEV0QlFVc3NSVUZCUlN4VlFVRnJRaXhyUWtGQmEwSTdTVUZEY2tZc1NVRkJTU3hEUVVGRExGTkJRVk03VVVGRFdpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8wRkJRemRDTEVOQlFVTTdRVUZGUkRzN096czdPenM3UjBGUlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4bFFVRmxMRU5CUVVNc1ZVRkJhMElzUlVGQlJTeFZRVUZyUWl4RlFVRkZMRTlCUVdVc1EwRkJRenRKUVVOMFJpeFBRVUZQTEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUTBGQlF5eEpRVUZKTEUxQlFVMHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNwR0xFTkJRVU03UVVGRlJEczdPenM3T3p0SFFVOUhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHVkJRV1VzUTBGQlF5eE5RVUZqTzBsQlF6VkRMRTlCUVU4c1NVRkJTU3hMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTTdVMEZEZGtNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRkRVlzUTBGQlF6dEJRVVZFT3pzN096czdPenRIUVZGSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEZOQlFWTXNRMEZCUXl4RFFVRlRMRVZCUVVVc1EwRkJVeXhGUVVGRkxHRkJRWEZDTEVOQlFVTTdTVUZEY0VVc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXp0SlFVVjRRaXhOUVVGTkxFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNRMEZCUXp0SlFVVXpSQ3hOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVVWcVF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRMMElzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFZRVUZWTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSWFJETEU5QlFVOHNTMEZCU3l4RFFVRkRPMEZCUTJZc1EwRkJRenRCUVVWRU96czdPenRIUVV0SE8wRkJRMGdzVTBGQlV5eFJRVUZSTEVOQlFVTXNRMEZCVXp0SlFVTjZRaXhKUVVGSkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGWkN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGREwwSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVVZvUWl4UFFVRlBMRXRCUVVzc1EwRkJRenRCUVVObUxFTkJRVU03UVVGRlJEczdPenM3UjBGTFJ6dEJRVU5JTEZOQlFWTXNXVUZCV1N4RFFVRkRMRU5CUVZNN1NVRkROMElzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVONFFpeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVVZxUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGREwwSXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRmVrSXNUMEZCVHl4TFFVRkxMRU5CUVVNN1FVRkRaaXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEZsQlFWa3NRMEZCUXl4RFFVRlRPMGxCUTNCRExFbEJRVWtzVFVGQlRTeEhRVUZYTEVOQlFVTXNRMEZCUXp0SlFVTjJRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZYTEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVTdVVUZEZGtNc1RVRkJUU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGVFSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlF6TkNMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWjBKQlFXZENMRU5CUVVNc1JVRkJWU3hGUVVGRkxFVkJRVlU3U1VGRGNrUXNTVUZCU1N4RlFVRkZMRU5CUVVNc1RVRkJUU3hKUVVGSkxFVkJRVVVzUTBGQlF5eE5RVUZOTzFGQlEzaENMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zT0VOQlFUaERMRU5CUVVNc1EwRkJRenRKUVVOc1JTeEpRVUZKTEVsQlFVa3NSMEZCVnl4RFFVRkRMRU5CUVVNN1NVRkRja0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCVnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZPMUZCUTNoRExFbEJRVWtzU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzaENMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMlFzUTBGQlF6dEJRVVZFT3pzN096czdPenRIUVZGSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdkQ1FVRm5RaXhEUVVGRExGVkJRV3RDTEVWQlFVVXNWVUZCYTBJc1JVRkJSU3hSUVVGblFpeEZRVUZGTzBsQlEzcEdMRTFCUVUwc1RVRkJUU3hIUVVGSExHVkJRV1VzUTBGQlF5eFZRVUZWTEVWQlFVVXNWVUZCVlN4RFFVRkRMRU5CUVVNN1NVRkZka1FzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExGVkJRVlVzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0UlFVTnVReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1ZVRkJWU3hGUVVGRkxFVkJRVVVzUTBGQlF6dFpRVU5xUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NWMEZCVnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8wdEJRM0pETzBsQlEwUXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzTUVKQlFUQkNMRU5CUVVNc1EwRkJVeXhGUVVGRkxFTkJRVk03U1VGRE4wUXNTVUZCU1N4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMllzVFVGQlRTeEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVWeVFpeEpRVUZKTEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1RVRkJUVHRSUVVOc1FpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRGhEUVVFNFF5eERRVUZETEVOQlFVTTdTVUZGYkVVc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGRE1VSXNUVUZCVFN4SlFVRkpMRk5CUVVFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVWtzUTBGQlF5eERRVUZCTEVOQlFVTTdTVUZGTDBJc1QwRkJUeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUXpOQ0xFTkJRVU03UVVGRlJEczdPenM3T3p0SFFVOUhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHdENRVUZyUWl4RFFVRkRMRWxCUVdFc1JVRkJSU3hSUVVGM1FqdEpRVU40UlN4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzBsQlF6TkNMRTFCUVUwc1RVRkJUU3hIUVVGSExHVkJRV1VzUTBGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSV3hFTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVN1VVRkRMMElzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVN1dVRkRia01zVFVGQlRTeERRVUZETEVkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTXhSaXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRUUVVOcVF6dExRVU5HTzBsQlEwUXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzTkVKQlFUUkNMRU5CUVVNc1NVRkJZU3hGUVVGRkxGRkJRWGRDTzBsQlEyeEdMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZETTBJc1RVRkJUU3hOUVVGTkxFZEJRVWNzWlVGQlpTeERRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGJFUXNTVUZCU1N4SFFVRkhMRWRCUVVjc1RVRkJUU3hEUVVGRExGTkJRVk1zUTBGQlF6dEpRVU16UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhOUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZETzBsQlF6TkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4TlFVRk5MRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVU3VVVGREwwSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHRaUVVNdlFpeE5RVUZOTEVOQlFVTXNSMEZCVnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGNrY3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZEYUVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUjBGQlJ6dG5Ra0ZCUlN4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM0pDTEVsQlFVa3NRMEZCUXl4SFFVRkhMRWRCUVVjN1owSkJRVVVzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXp0VFFVTjBRanRMUVVOR08wbEJRMFFzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0UlFVTXZRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdXVUZEYWtNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXp0TFFVTndSVHRKUVVORUxFOUJRVThzVFVGQlRTeERRVUZETzBGQlEyaENMRU5CUVVNN1FVRkZSQ3hyUmtGQmEwWTdRVUZEYkVZc1RVRkJUU3hWUVVGVkxGRkJRVkVzUTBGQlF5eExRVUZoTEVWQlFVVXNSMEZCVnl4RlFVRkZMRmxCUVZrc1IwRkJSeXhMUVVGTE8wbEJRM1pGTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWRCUVVjc1IwRkJSeXhMUVVGTExFZEJRVWNzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEY0VRc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkZkRU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETjBJc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkZlRUlzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1QwRkJUeXhEUVVGRExFMUJRV0VzUlVGQlJTeFBRVUZQTEVkQlFVY3NTMEZCU3p0SlFVTndSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJVU3hGUVVGRkxFTkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlVTeEZRVUZGTEVOQlFWRXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGRrY3NUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGTkxFVkJRVVVzUTBGQlV5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEhGQ1FVRnhRanRKUVVOc1JTeE5RVUZOTEU5QlFVOHNSMEZCUnl4RFFVRkRMRU5CUVZFc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc2JVSkJRVzFDTzBsQlEzWkVMRTFCUVUwc1VVRkJVU3hIUVVGSExFTkJRVU1zUjBGQlZTeEZRVUZGTEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdTVUZETVVVc1QwRkJUeXhSUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdRVUZETVVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1owSkJRV2RDTEVOQlFVTXNUVUZCWXl4RlFVRkZMRU5CUVZNc1JVRkJSU3hKUVVGM1F6dEpRVU5zUnl4VFFVRlRMRXRCUVVzc1EwRkJReXhOUVVGblF5eEZRVUZGTEU5QlFUaENPMUZCUXpkRkxFbEJRVWtzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXp0UlFVTndRaXhKUVVGSkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZGZEVJc1MwRkJTeXhOUVVGTkxFOUJRVThzU1VGQlNTeE5RVUZOTEVWQlFVVTdXVUZETlVJc1RVRkJUU3hqUVVGakxFZEJRVWNzVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMWxCUTNoRExFbEJRVWtzVlVGQlZTeEpRVUZKTEVsQlFVa3NTVUZCU1N4alFVRmpMRWRCUVVjc1ZVRkJWU3hGUVVGRk8yZENRVU55UkN4UlFVRlJMRWRCUVVjc1QwRkJUeXhEUVVGRE8yZENRVU51UWl4VlFVRlZMRWRCUVVjc1kwRkJZeXhEUVVGRE8yRkJRemRDTzFOQlEwWTdVVUZEUkN4UFFVRlBMRkZCUVZFc1EwRkJRenRKUVVOc1FpeERRVUZETzBsQlJVUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhUUVVGVExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRka01zVFVGQlRTeFZRVUZWTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVVM1FpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVFVGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZPMUZCUXk5Q0xFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOeVFpeFZRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wdEJRM0pDTzBsQlJVUXNUMEZCVHl4TlFVRk5MRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUlVGQlJUdFJRVU40UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhMUVVGTExFTkJRMllzVlVGQlZTeERRVUZETEUxQlFVMHNSVUZCT0VJc1JVRkRMME1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NSVUZCUlN4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExGVkJRVk1zUjBGQlJ5eEZRVUZGTEV0QlFVczdXVUZEZUVRc1QwRkJUeXhKUVVGSkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTNSQ0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTlFMRWxCUVVrc1IwRkJSeXhGUVVGRk8xbEJRMUFzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOcVFpeFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xTkJRM2hDTzB0QlEwWTdTVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUTdPenM3TzBkQlMwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1UwRkJVeXhEUVVGRExFbEJRVms3U1VGRGNFTXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVU40UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRFdpeEpRVUZKTEZsQlFWa3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkZja0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0UlFVTTFRaXhIUVVGSExFbEJRVWtzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTJZc1dVRkJXU3hKUVVGSkxGTkJRVUVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkpMRU5CUVVNc1EwRkJRU3hEUVVGRE8wdEJRemxDTzBsQlJVUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF6dEpRVU4yUWl4TlFVRk5MR0ZCUVdFc1IwRkJSeXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc1IwRkJSeXhIUVVGSExGTkJRVUVzU1VGQlNTeEZRVUZKTEVOQlFVTXNRMEZCUVN4RFFVRkRMRU5CUVVNN1NVRkZkRVVzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETVVJc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEdGQlFXRXNRMEZCUXp0SlFVVTNReXhQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5rTEVOQlFVTTdRVUZGUkRzN096czdSMEZMUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3hoUVVGaExFTkJRVU1zUTBGQlVTeEZRVUZGTEVOQlFWRTdTVUZET1VNc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRlRUlzVDBGQlR5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTnlSU3hEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIdE5ZWFJ5YVhnc0lGWmxZM1J2Y2l3Z1EyOXZjbVJwYm1GMFpYTXNJRlpsWTNSdmNuTXNJRVJwYzNSaGJtTmxUV1YwY21samZTQm1jbTl0SUNjdUwzUjVjR1V0WkdWamJHRnlZWFJwYjI1ekp6dGNibWx0Y0c5eWRDQjdjbUZ1Wkc5dFJteHZZWFFzSUhKaGJtUnZiVWx1ZEgwZ1puSnZiU0FuTGk5eVlXNWtiMjBuTzF4dVhHNHZLaXBjYmlBcUlFRnpjMlZ5ZEhNZ1lTQmpiMjVrYVhScGIyNGdZbmtnZEdoeWIzZHBibWNnWVc0Z1JYSnliM0l1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYlkyOXVaR2wwYVc5dVBXWmhiSE5sWFNCRGIyNWthWFJwYjI0Z2RHOGdZWE56WlhKMExseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR0WlhOellXZGxQU2RCYzNObGNuUnBiMjRnWlhKeWIzSXVKMTBnVFdWemMyRm5aU0IwYnlCdmRYUndkWFF1WEc0Z0tpQkFkR2h5YjNkeklIdEZjbkp2Y24xY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0Z6YzJWeWRDaGpiMjVrYVhScGIyNDZJR0p2YjJ4bFlXNGdQU0JtWVd4elpTd2diV1Z6YzJGblpUb2djM1J5YVc1bklEMGdKMEZ6YzJWeWRHbHZiaUJsY25KdmNpNG5LU0I3WEc0Z0lHbG1JQ2doWTI5dVpHbDBhVzl1S1Z4dUlDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaHRaWE56WVdkbEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCRGNtVmhkR1Z6SUc1bGR5QjBkMjh0WkdsdFpXNXphVzl1WVd3Z1lYSnlZWGtnWVc1a0lHWnBiR3h6SUdsMElIZHBkR2dnZEdobElIWmhiSFZsSUdkcGRtVnVMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmthVzFsYm5OcGIyNHhJRlJvWlNCbWFYSnpkQ0JrYVcxbGJuTnBiMjRnYjJZZ2RHaGxJR052YjNKa2FXNWhkR1Z6SUNodWRXMWlaWElnYjJZZ2NtOTNjeWt1WEc0Z0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1pHbHRaVzV6YVc5dU1pQlVhR1VnYzJWamIyNWtJR1JwYldWdWMybHZiaUJ2WmlCMGFHVWdZMjl2Y21ScGJtRjBaWE1nS0c1MWJXSmxjaUJ2WmlCamIyeDFiVzV6S1M1Y2JpQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmJabWxzYkQwd1hTQkJJSFpoYkhWbElIUnZJR1pwYkd3Z2RHaGxJR052YjNKa2FXNWhkR1Z6SUhkcGRHZ3VYRzRnS2lCQWNtVjBkWEp1SUh0RGIyOXlaR2x1WVhSbGMzMGdRU0IwZDI4dFpHbHRaVzV6YVc5dVlXd2dabWxzYkdWa0lIZHBkR2dnZEdobElIWmhiSFZsSUdkcGRtVnVMbHh1SUNvZ1FIUnZaRzhnVFdsbmFIUWdZbVVnYzJ4dmR5QnphVzVqWlNCMWMyVmtJRUZ5Y21GNUxtMWhjQzRnVUhKdlltRmliSGtnYm1WbFpITWdjR1Z5Wm05eWJXRnVZMlVnY21WMmFYTnBiMjR1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBibWwwUTI5dmNtUnBibUYwWlhNb1pHbHRaVzV6YVc5dU1Ub2diblZ0WW1WeUxDQmthVzFsYm5OcGIyNHlPaUJ1ZFcxaVpYSXNJR1pwYkd3NklHNTFiV0psY2lBOUlEQXBPaUJEYjI5eVpHbHVZWFJsY3lCN1hHNGdJSEpsZEhWeWJpQnVaWGNnUVhKeVlYa29aR2x0Wlc1emFXOXVNU2t1Wm1sc2JDaG1hV3hzS1M1dFlYQW9LQ2tnUFQ0Z0tHNWxkeUJXWldOMGIzSW9aR2x0Wlc1emFXOXVNaWt1Wm1sc2JDaG1hV3hzS1NrcE8xeHVmVnh1WEc0dktpcGNiaUFxSUZSeVlXNXpjRzl6WlNCdFlYUnlhWGd1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0TllYUnlhWGg5SUcxaGRISnBlQ0JVYUdVZ2JXRjBjbWw0SUhSdklHSmxJSFJ5WVc1emNHOXpaV1F1WEc0Z0tpQkFjbVYwZFhKdUlIdE5ZWFJ5YVhoOUlGUnlZVzV6Y0c5elpXUWdiV0YwY21sNExseHVJQ29nUUhSdlpHOGdUV2xuYUhRZ1ltVWdjMnh2ZHlCemFXNWpaU0IxYzJWa0lFRnljbUY1TG0xaGNDNGdVSEp2WW1GaWJIa2dibVZsWkhNZ2NHVnlabTl5YldGdVkyVWdjbVYyYVhOcGIyNHVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMGNtRnVjM0J2YzJWTllYUnlhWGdvYldGMGNtbDRPaUJOWVhSeWFYZ3BPaUJOWVhSeWFYZ2dlMXh1SUNCeVpYUjFjbTRnYm1WM0lFRnljbUY1S0cxaGRISnBlRnN3WFM1c1pXNW5kR2dwTG1acGJHd29NQ2xjYmlBZ0lDQXViV0Z3S0NoZkxDQnBLU0E5UGlBb2JtVjNJRlpsWTNSdmNpaHRZWFJ5YVhndWJHVnVaM1JvS1M1bWFXeHNLREFwTG0xaGNDZ29YeXdnYWlrZ1BUNGdLRzFoZEhKcGVGdHFYVnRwWFNrcEtTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FXUmtjeUIwZDI4Z2RtVmpkRzl5Y3lCM2FYUm9JSFJvWlNCelpXTnZibVFnYjI1bElIUnZJR0psSUcxMWJIUnBjR3hwWldRZ1lua2dkR2hsSUdkcGRtVnVJSEpoZEdsdkxseHVJQ3BjYmlBcUlFQmxlSEJ2Y25SY2JpQXFJRUJ3WVhKaGJTQjdWbVZqZEc5eWZTQndJRlJvWlNCbWFYSnpkQ0IyWldOMGIzSWdkRzhnWVdSa0xseHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSjlJSEVnVkdobElITmxZMjl1WkNCMlpXTjBiM0lnZEc4Z1lXUmtMbHh1SUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUZ0dGRXeDBhWEJzYVdWeVBURmRJRUVnYlhWc2RHbHdiR2xsY2lCMGJ5QmlaU0IxYzJWa0lHSmxabTl5WlNCMGFHVWdjMlZqYjI1a0lIWmxZM1J2Y2lCcGN5QmhaR1JsWkM1Y2JpQXFJRUJ5WlhSMWNtNGdlMVpsWTNSdmNuMGdUbVYzSUhabFkzUnZjaUJqYjI1MFlXbHVaV1FnZEdobElISmxjM1ZzZENCdlppQnZjR1Z5WVhScGIyNGdjQ3R0ZFd4MGFYQnNhV1Z5S25FdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIyWldOMGIzSkJaR1FvY0RvZ1ZtVmpkRzl5TENCeE9pQldaV04wYjNJc0lHMTFiSFJwY0d4cFpYSTZJRzUxYldKbGNpQTlJREVwT2lCV1pXTjBiM0lnZTF4dUlDQmpiMjV6ZENCdVNYUmxiWE1nUFNCd0xteGxibWQwYUR0Y2JseHVJQ0JoYzNObGNuUW9ia2wwWlcxeklEMDlJSEV1YkdWdVozUm9MQ0FuVm1WamRHOXlJR3hsYm1kMGFITWdaRzhnYm05MElHMWhkR05vTGljcE8xeHVYRzRnSUdOdmJuTjBJSFJ2ZEdGc0lEMGdibVYzSUZabFkzUnZjaWh1U1hSbGJYTXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2djQzVzWlc1bmRHZzdJQ3NyYVNsY2JpQWdJQ0IwYjNSaGJGdHBYU0E5SUhCYmFWMGdLeUJ0ZFd4MGFYQnNhV1Z5SUNvZ2NWdHBYVHRjYmx4dUlDQnlaWFIxY200Z2RHOTBZV3c3WEc1OVhHNWNiaThxS2x4dUlDb2dVM1Z0Y3lCMGFHVWdkbVZqZEc5eUozTWdhWFJsYlhNdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0o5SUhZZ1ZHaGxJSFpsWTNSdmNpQjBieUJpWlNCemRXMXRaV1F1WEc0Z0tpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOUlGUm9aU0IyWldOMGIzSW5jeUJwZEdWdGN5QnpkVzB1WEc0Z0tpOWNibVoxYm1OMGFXOXVJR2wwWlcxelUzVnRLSFk2SUZabFkzUnZjaWs2SUc1MWJXSmxjaUI3WEc0Z0lHeGxkQ0IwYjNSaGJDQTlJREE3WEc1Y2JpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IyTG14bGJtZDBhRHNnS3l0cEtWeHVJQ0FnSUhSdmRHRnNJQ3M5SUhaYmFWMDdYRzVjYmlBZ2NtVjBkWEp1SUhSdmRHRnNPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGTjFjV0Z5WlhNZ2RHaGxJSFpsWTNSdmNpZHpJR2wwWlcxekxseHVJQ3BjYmlBcUlFQndZWEpoYlNCN1ZtVmpkRzl5ZlNCMklGUm9aU0IyWldOMGIzSWdkRzhnYzNGMVlYSmxMbHh1SUNvZ1FISmxkSFZ5YmlCN1ZtVmpkRzl5ZlNCQklHNWxkeUIyWldOMGIzSWdZMjl1ZEdGcGJtbHVaeUIwYUdVZ2IzSnBaMmx1WVd3bmN5QnBkR1Z0Y3lCemNYVmhjbVZrTGx4dUlDb3ZYRzVtZFc1amRHbHZiaUIyWldOMGIzSlRjWFZoY21Vb2Rqb2dWbVZqZEc5eUtUb2dWbVZqZEc5eUlIdGNiaUFnWTI5dWMzUWdia2wwWlcxeklEMGdkaTVzWlc1bmRHZzdYRzRnSUdOdmJuTjBJSFJ2ZEdGc0lEMGdibVYzSUZabFkzUnZjaWh1U1hSbGJYTXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dkaTVzWlc1bmRHZzdJQ3NyYVNsY2JpQWdJQ0IwYjNSaGJGdHBYU0E5SUhaYmFWMGdLaUIyVzJsZE8xeHVYRzRnSUhKbGRIVnliaUIwYjNSaGJEdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhabFkzUnZja3hsYm1kMGFDaDJPaUJXWldOMGIzSXBPaUJ1ZFcxaVpYSWdlMXh1SUNCc1pYUWdjM0Z5VTNWdE9pQnVkVzFpWlhJZ1BTQXdPMXh1SUNCbWIzSWdLR3hsZENCcE9pQnVkVzFpWlhJZ1BTQXdPeUJwSUR3Z2RpNXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQnpjWEpUZFcwZ0t6MGdkbHRwWFNBcUlIWmJhVjA3WEc0Z0lISmxkSFZ5YmlCTllYUm9Mbk54Y25Rb2MzRnlVM1Z0S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFpsWTNSdmNrUnZkRkJ5YjJSMVkzUW9kakU2SUZabFkzUnZjaXdnZGpJNklGWmxZM1J2Y2lrNklHNTFiV0psY2lCN1hHNGdJR2xtSUNoMk1TNXNaVzVuZEdnZ0lUMGdkakl1YkdWdVozUm9LVnh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblZHaGxJR1JwYldWdWMybHZibUZzYVhSNUlHOW1JSFJvWlNCMlpXTjBiM0p6SUcxMWMzUWdiV0YwWTJnbktUdGNiaUFnYkdWMElIQnliMlE2SUc1MWJXSmxjaUE5SURBN1hHNGdJR1p2Y2lBb2JHVjBJR2s2SUc1MWJXSmxjaUE5SURBN0lHa2dQQ0IyTVM1c1pXNW5kR2c3SUdrckt5bGNiaUFnSUNCd2NtOWtJQ3M5SUhZeFcybGRJQ29nZGpKYmFWMDdYRzRnSUhKbGRIVnliaUJ3Y205a08xeHVmVnh1WEc0dktpcGNiaUFxSUVOeVpXRjBaWE1nWVNCdFlYUnlhWGdnWm1sc2JHVmtJSGRwZEdnZ2NtRnVaRzl0SUdac2IyRjBhVzVuSUhCdmFXNTBJSFpoYkhWbGN5NWNiaUFxWEc0Z0tpQkFaWGh3YjNKMFhHNGdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdaR2x0Wlc1emFXOXVNU0JVYUdVZ1ptbHljM1FnWkdsdFpXNXphVzl1SUc5bUlIUm9aU0J0WVhSeWFYZ3VYRzRnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnWkdsdFpXNXphVzl1TWlCVWFHVWdjMlZqYjI1a0lHUnBiV1Z1YzJsdmJpQnZaaUIwYUdVZ2JXRjBjbWw0TGx4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlGdHpZMkZzWlQweExsMGdUV0Y0SUhaaGJIVmxJR2RwZG1WdUlHSjVJSEpoYm1SdmJTQm5aVzVsY21GMGIzSXVYRzRnS2lCQWNtVjBkWEp1SUh0TllYUnlhWGg5SUVFZ2JtVjNJRzFoZEhKcGVDQm1hV3hzWldRZ2QybDBhQ0J5WVc1a2IyMGdabXh2WVhScGJtY2djRzlwYm5RZ0lIWmhiSFZsY3k1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1pwYkd4U1lXNWtiMjFOWVhSeWFYZ29aR2x0Wlc1emFXOXVNVG9nYm5WdFltVnlMQ0JrYVcxbGJuTnBiMjR5T2lCdWRXMWlaWElzSUhOallXeGxPaUJ1ZFcxaVpYSWdQU0F4TGlrNklFMWhkSEpwZUNCN1hHNGdJR052Ym5OMElHMWhkSEpwZUNBOUlHbHVhWFJEYjI5eVpHbHVZWFJsY3loa2FXMWxibk5wYjI0eExDQmthVzFsYm5OcGIyNHlLVHRjYmx4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR1JwYldWdWMybHZiakU3SUNzcmFTa2dlMXh1SUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2daR2x0Wlc1emFXOXVNanNnS3l0cUtWeHVJQ0FnSUNBZ2JXRjBjbWw0VzJsZFcycGRJRDBnY21GdVpHOXRSbXh2WVhRb2MyTmhiR1VwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ0WVhSeWFYZzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1EyRnNZM1ZzWVhSbGN5QkZkV05zYVdSbFlXNGdaR2x6ZEdGdVkyVWdZbVYwZDJWbGJpQjBkMjhnZG1WamRHOXljeTVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQWNHRnlZVzBnZTFabFkzUnZjbjBnY0NCVWFHVWdabWx5YzNRZ2RtVmpkRzl5TGx4dUlDb2dRSEJoY21GdElIdFdaV04wYjNKOUlIRWdWR2hsSUhObFkyOXVaQ0IyWldOMGIzSXVYRzRnS2lCQWNtVjBkWEp1SUh0dWRXMWlaWEo5SUVWMVkyeHBaR1ZoYmlCa2FYTjBZVzVqWlNCaVpYUjNaV1Z1SUhSb1pTQm5hWFpsYmlCMlpXTjBiM0p6TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZzWTNWc1lYUmxSWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVW9jRG9nVm1WamRHOXlMQ0J4T2lCV1pXTjBiM0lwT2lCdWRXMWlaWElnZTF4dUlDQnNaWFFnY21WemRXeDBJRDBnTUR0Y2JpQWdZMjl1YzNRZ2JHVnVJRDBnY0M1c1pXNW5kR2c3WEc1Y2JpQWdhV1lnS0d4bGJpQWhQVDBnY1M1c1pXNW5kR2dwWEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFVhR1VnWkdsdFpXNXphVzl1WVd4cGRIa2diMllnZEdobElIWmxZM1J2Y25NZ2JYVnpkQ0J0WVhSamFDY3BPMXh1SUNCY2JpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JzWlc0N0lDc3JhU2xjYmlBZ0lDQnlaWE4xYkhRZ0t6MGdLSEJiYVYwZ0xTQnhXMmxkS1NBcUtpQXlPMXh1SUNCY2JpQWdjbVYwZFhKdUlFMWhkR2d1YzNGeWRDaHlaWE4xYkhRcE8xeHVmVnh1WEc0dktpcGNiaUFxSUVOeVpXRjBaWE1nWVNCa2FYTjBZVzVqWlNCdFlYUnlhWGdnZFhOcGJtY2dZU0JqZFhOMGIyMGdaR2x6ZEdGdVkyVWdablZ1WTNScGIyNHVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSnpmU0JrWVhSaElFbHVjSFYwSUhabFkzUnZjbk1nZEc4Z1kyRnNZM1ZzWVhSbElHUnBjM1JoYm1ObGN5NWNiaUFxSUVCd1lYSmhiU0I3UkdsemRHRnVZMlZOWlhSeWFXTjlJR1JwYzNSaGJtTmxJRU4xYzNSdmJTQmthWE4wWVc1alpTQm1kVzVqZEdsdmJpNWNiaUFxSUVCeVpYUjFjbTRnZTAxaGRISnBlSDBnUTJGc1kzVnNZWFJsWkNCamRYTjBiMjBnWkdsemRHRnVZMlVnYldGMGNtbDRMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1kyRnNZMFJwYzNSaGJtTmxUV0YwY21sNEtHUmhkR0U2SUZabFkzUnZjbk1zSUdScGMzUmhibU5sT2lCRWFYTjBZVzVqWlUxbGRISnBZeWs2SUUxaGRISnBlQ0I3WEc0Z0lHTnZibk4wSUc1SmRHVnRjeUE5SUdSaGRHRXViR1Z1WjNSb08xeHVJQ0JqYjI1emRDQnRZWFJ5YVhnZ1BTQnBibWwwUTI5dmNtUnBibUYwWlhNb2JrbDBaVzF6TENCdVNYUmxiWE1zSURBcE8xeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JrbDBaVzF6T3lBcksya3BJSHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnYVNBcklERTdJR29nUENCdVNYUmxiWE03SUNzcmFpa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1pEb2diblZ0WW1WeUlEMGdLR1JoZEdGYmFWMGdQVDBnYm5Wc2JDa2dmSHdnS0dSaGRHRmJhbDBnUFQwZ2JuVnNiQ2tnUHlBd0lEb2daR2x6ZEdGdVkyVW9aR0YwWVZ0cFhTd2daR0YwWVZ0cVhTazdYRzRnSUNBZ0lDQnRZWFJ5YVhoYmFWMWJhbDBnUFNCdFlYUnlhWGhiYWwxYmFWMGdQU0JrTzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdiV0YwY21sNE8xeHVmVnh1WEc0dktpcGNiaUFxSUVOeVpXRjBaWE1nWVNCa2FYTjBZVzVqWlNCdFlYUnlhWGdnZFhOcGJtY2dZU0JqZFhOMGIyMGdaR2x6ZEdGdVkyVWdablZ1WTNScGIyNHVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSnpmU0JrWVhSaElFbHVjSFYwSUhabFkzUnZjbk1nZEc4Z1kyRnNZM1ZzWVhSbElHUnBjM1JoYm1ObGN5NWNiaUFxSUVCd1lYSmhiU0I3UkdsemRHRnVZMlZOWlhSeWFXTjlJR1JwYzNSaGJtTmxJRU4xYzNSdmJTQmthWE4wWVc1alpTQm1kVzVqZEdsdmJpNWNiaUFxSUVCeVpYUjFjbTRnZTAxaGRISnBlSDBnUTJGc1kzVnNZWFJsWkNCamRYTjBiMjBnWkdsemRHRnVZMlVnYldGMGNtbDRMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1kyRnNZMDV2Y20xaGJHbDZaV1JFYVhOMFlXNWpaVTFoZEhKcGVDaGtZWFJoT2lCV1pXTjBiM0p6TENCa2FYTjBZVzVqWlRvZ1JHbHpkR0Z1WTJWTlpYUnlhV01wT2lCTllYUnlhWGdnZTF4dUlDQmpiMjV6ZENCdVNYUmxiWE1nUFNCa1lYUmhMbXhsYm1kMGFEdGNiaUFnWTI5dWMzUWdiV0YwY21sNElEMGdhVzVwZEVOdmIzSmthVzVoZEdWektHNUpkR1Z0Y3l3Z2JrbDBaVzF6TENBd0tUdGNiaUFnYkdWMElHMWhlQ0E5SUU1MWJXSmxjaTVOU1U1ZlZrRk1WVVU3WEc0Z0lHeGxkQ0J0YVc0Z1BTQk9kVzFpWlhJdVRVRllYMVpCVEZWRk8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUc1SmRHVnRjenNnS3l0cEtTQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJR2s3SUdvZ1BDQnVTWFJsYlhNN0lDc3JhaWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaRG9nYm5WdFltVnlJRDBnS0dSaGRHRmJhVjBnUFQwZ2JuVnNiQ2tnZkh3Z0tHUmhkR0ZiYWwwZ1BUMGdiblZzYkNCOGZDQnBJRDA5UFNCcUtTQS9JREFnT2lCa2FYTjBZVzVqWlNoa1lYUmhXMmxkTENCa1lYUmhXMnBkS1R0Y2JpQWdJQ0FnSUcxaGRISnBlRnRwWFZ0cVhTQTlJRzFoZEhKcGVGdHFYVnRwWFNBOUlHUTdYRzRnSUNBZ0lDQnBaaUFvWkNBK0lHMWhlQ2tnYldGNElEMGdaRHRjYmlBZ0lDQWdJR2xtSUNoa0lEd2diV2x1S1NCdGFXNGdQU0JrTzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUc1SmRHVnRjenNnS3l0cEtTQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJR2tnS3lBeE95QnFJRHdnYmtsMFpXMXpPeUFySzJvcFhHNGdJQ0FnSUNCdFlYUnlhWGhiYVYxYmFsMGdQU0J0WVhSeWFYaGJhbDFiYVYwZ1BTQW9iV0YwY21sNFcybGRXMnBkSUMwZ2JXbHVLU0F2SUNodFlYZ2dMU0J0YVc0cE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdFlYUnlhWGc3WEc1OVhHNWNiaThxS2lCSFpXNWxjbUYwWlhNZ1lYSnlZWGtnWm5KdmJTQmhJSEpoYm1kbElGdGlaV2RwYmpzZ1pXNWtYU0J2Y2lCYlltVm5hVzQ3SUdWdVpDa2dhV1lnWlc1a1JYaGpiSFZ6YVhabExpQXFLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJuWlc1U1lXNW5aU2hpWldkcGJqb2diblZ0WW1WeUxDQmxibVE2SUc1MWJXSmxjaXdnWlc1a1JYaGpiSFZ6YVhabElEMGdabUZzYzJVcE9pQkpiblF6TWtGeWNtRjVJSHRjYmlBZ1kyOXVjM1FnYmtsMFpXMXpJRDBnWlc1a0lDMGdZbVZuYVc0Z0t5QW9aVzVrUlhoamJIVnphWFpsSUQ4Z01DQTZJREVwTzF4dUlDQmpiMjV6ZENCelpYSnBaWE1nUFNCdVpYY2dTVzUwTXpKQmNuSmhlU2h1U1hSbGJYTXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dia2wwWlcxek95QXJLMmtwWEc0Z0lDQWdjMlZ5YVdWelcybGRJRDBnWW1WbmFXNGdLeUJwTzF4dVhHNGdJSEpsZEhWeWJpQnpaWEpwWlhNN1hHNTlYRzVjYmk4cUtseHVJQ29nVW1WMGRYSnVjeUJ2Y21SbGNpQnZaaUIyWVd4MVpYTWdZWE1nYVdZZ2RHaGxlU0JoY21VZ2MyOXlkR1ZrTGx4dUlDcGNiaUFxSUVCbGVIQnZjblJjYmlBcUlFQndZWEpoYlNCN1lXNTVXMTE5SUhaaGJIVmxjeUJKYm5CMWRDQmhjbkpoZVM1Y2JpQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXM0psZG1WeWMyVTlabUZzYzJWZElGZG9aWFJvWlhJZ2RHOGdjbVYwZFhKdUlISmxkbVZ5YzJWa0lHOXlaR1Z5TGx4dUlDb2dRSEpsZEhWeWJpQjdiblZ0WW1WeVcxMTlJRlJvWlNCdmNtUmxjaUJqYjIxd2RYUmxaQzVjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHRnlaMU52Y25Rb2RtRnNkV1Z6T2lCaGJubGJYU3dnY21WMlpYSnpaU0E5SUdaaGJITmxLVG9nYm5WdFltVnlXMTBnZTF4dUlDQmpiMjV6ZENCemIzSjBabTRnUFNCeVpYWmxjbk5sSUQ4Z0tHRTZJR0Z1ZVZ0ZExDQmlPaUJoYm5sYlhTa2dQVDRnS0dKYk1GMGdMU0JoV3pCZEtTQTZJQ2hoT2lCaGJubGJYU3dnWWpvZ1lXNTVXMTBwSUQwK0lDaGhXekJkSUMwZ1lsc3dYU2s3WEc0Z0lHTnZibk4wSUdSbFkyOXlJRDBnS0hZNklHRnVlU3dnYVRvZ2JuVnRZbVZ5S1NBOVBpQmJkaXdnYVYwN0lDOHZJSE5sZENCcGJtUmxlQ0IwYnlCMllXeDFaVnh1SUNCamIyNXpkQ0IxYm1SbFkyOXlJRDBnS0dFNklHRnVlVnRkS1NBOVBpQmhXekZkT3lBdkx5QnNaV0YyWlNCdmJteDVJR2x1WkdWNFhHNGdJR052Ym5OMElGOWhjbWR6YjNKMElEMGdLR0Z5Y2pvZ1lXNTVXMTBwSUQwK0lHRnljaTV0WVhBb1pHVmpiM0lwTG5OdmNuUW9jMjl5ZEdadUtTNXRZWEFvZFc1a1pXTnZjaWs3WEc0Z0lISmxkSFZ5YmlCZllYSm5jMjl5ZENoMllXeDFaWE1wTzF4dWZWeHVYRzR2S2lwY2JpQXFJRkpsZEhWeWJuTWdkR2hsSUdsdVpHVjRaWE1nYjJZZ2RHaGxJRzF2YzNRZ1pHbDJaWEp6WlNCdlltcGxZM1J6SUdGalkyOXlaR2x1WnlCMGJ5QjBhR1VnWkdsemRDQm1kVzVqZEdsdmJseHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJR3hsYm1kMGFDQjBiM1JoYkNCdWRXMWlaWElnYjJZZ2IySnFaV04wYzF4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlHNGdiblZ0WW1WeUlHOW1JR1JwZG1WeWMyVWdaV3hsYldWdWRITWdkRzhnWm1sdVpGeHVJQ29nUUhCaGNtRnRJSHNvYVRFNklHNTFiV0psY2l3Z2FUSTZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlmU0JrYVhOMElHRWdablZ1WTNScGIyNGdkMmhwWTJnZ1kyRnNZM1ZzWVhSbGN5QmthWE4wWVc1alpTQmlaWFIzWldWdVhHNGdLaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RIZHZJRzlpYW1WamRITWdkWE5wYm1jZ2RHaGxhWElnYVc1a1pYaGxjMXh1SUNvZ1FISmxkSFZ5Ym5NZ2UyNTFiV0psY2x0ZGZTQlVhR1VnYVc1a1pYaGxjeUJ2WmlCMGFHVWdiVzl6ZENCa2FYWmxjbk5sSUc5aWFtVmpkSE5jYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZGxkRVJwZG1WeWMyVlRkV0p6WlhRb2JHVnVaM1JvT2lCdWRXMWlaWElzSUc0NklHNTFiV0psY2l3Z1pHbHpkRG9nS0dreE9pQnVkVzFpWlhJc0lHa3lPaUJ1ZFcxaVpYSXBJRDArSUc1MWJXSmxjaWs2SUc1MWJXSmxjbHRkSUh0Y2JpQWdablZ1WTNScGIyNGdiV0Y0UW5rb2RtRnNkV1Z6T2lCSmRHVnlZV0pzWlVsMFpYSmhkRzl5UEc1MWJXSmxjajRzSUc5eVpHVnlRbms2SUNocE9pQnVkVzFpWlhJcElEMCtJRzUxYldKbGNpa2dlMXh1SUNBZ0lHeGxkQ0J0WVhoV1lXeDFaU0E5SUc1MWJHdzdYRzRnSUNBZ2JHVjBJRzFoZUU5eVpHVnlRbmtnUFNCdWRXeHNPMXh1WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0JsYkdWdFpXNTBJRzltSUhaaGJIVmxjeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaV3hsYldWdWRFOXlaR1Z5UW5rZ1BTQnZjbVJsY2tKNUtHVnNaVzFsYm5RcE8xeHVJQ0FnSUNBZ2FXWWdLRzFoZUU5eVpHVnlRbmtnUFQwZ2JuVnNiQ0I4ZkNCbGJHVnRaVzUwVDNKa1pYSkNlU0ErSUcxaGVFOXlaR1Z5UW5rcElIdGNiaUFnSUNBZ0lDQWdiV0Y0Vm1Gc2RXVWdQU0JsYkdWdFpXNTBPMXh1SUNBZ0lDQWdJQ0J0WVhoUGNtUmxja0o1SUQwZ1pXeGxiV1Z1ZEU5eVpHVnlRbms3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdFlYaFdZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lHTnZibk4wSUhOMVluTmxkQ0E5SUZ0eVlXNWtiMjFKYm5Rb2JHVnVaM1JvSUMwZ01TbGRPMXh1SUNCamIyNXpkQ0JqYjIxd2JHVnRaVzUwSUQwZ2JtVjNJRk5sZENncE8xeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQnBaaUFvSVhOMVluTmxkQzVwYm1Oc2RXUmxjeWhwS1NsY2JpQWdJQ0FnSUdOdmJYQnNaVzFsYm5RdVlXUmtLR2twTzF4dUlDQjlYRzVjYmlBZ2QyaHBiR1VnS0hOMVluTmxkQzVzWlc1bmRHZ2dQQ0J1S1NCN1hHNGdJQ0FnWTI5dWMzUWdhV1I0SUQwZ2JXRjRRbmtvWEc0Z0lDQWdJQ0JqYjIxd2JHVnRaVzUwTG5aaGJIVmxjeWdwSUdGeklFbDBaWEpoWW14bFNYUmxjbUYwYjNJOGJuVnRZbVZ5UGl4Y2JpQWdJQ0FnSUNocEtTQTlQaUJOWVhSb0xtMXBiaTVoY0hCc2VTaE5ZWFJvTENCemRXSnpaWFF1YldGd0tHWjFibU4wYVc5dUtIWmhiQ3dnYVc1a1pYZ3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JwYzNRb2FTd2dkbUZzS1R0Y2JpQWdJQ0FnSUgwcEtTazdYRzRnSUNBZ2FXWWdLR2xrZUNrZ2UxeHVJQ0FnSUNBZ2MzVmljMlYwTG5CMWMyZ29hV1I0S1R0Y2JpQWdJQ0FnSUdOdmJYQnNaVzFsYm5RdVpHVnNaWFJsS0dsa2VDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCemRXSnpaWFE3WEc1OVhHNWNiaThxS2x4dUlDb2dVbVYwZFhKdWN5QnViM0p0WVd4cGVtVmtJSFpsWTNSdmNpNWNiaUFxSUZ4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSjlJR1JoZEdFZ2JuVnRaWEpwWTJGc0lHRnljbUY1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVW9aR0YwWVRvZ1ZtVmpkRzl5S1RvZ1ZtVmpkRzl5SUh0Y2JpQWdZMjl1YzNRZ2JHVnVJRDBnWkdGMFlTNXNaVzVuZEdnN1hHNGdJR3hsZENCemRXMGdQU0F3TzF4dUlDQnNaWFFnYzNWdFQyWlRjWFZoY21WeklEMGdNRHRjYmx4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR3hsYmpzZ0t5dHBLU0I3WEc0Z0lDQWdjM1Z0SUNzOUlHUmhkR0ZiYVYwN1hHNGdJQ0FnYzNWdFQyWlRjWFZoY21WeklDczlJR1JoZEdGYmFWMGdLaW9nTWp0Y2JpQWdmVnh1WEc0Z0lHTnZibk4wSUcxbFlXNGdQU0J6ZFcwZ0x5QnNaVzQ3WEc0Z0lHTnZibk4wSUhOMFpFUmxka2x1ZG1WeWMyVWdQU0F4TGpBZ0x5Qk5ZWFJvTG5OeGNuUW9jM1Z0VDJaVGNYVmhjbVZ6SUM4Z2JHVnVJQzBnYldWaGJpQXFLaUF5S1R0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUd4bGJqc2dLeXRwS1Z4dUlDQWdJR1JoZEdGYmFWMGdQU0FvWkdGMFlWdHBYU0F0SUcxbFlXNHBJQ29nYzNSa1JHVjJTVzUyWlhKelpUdGNibHh1SUNCeVpYUjFjbTRnWkdGMFlUdGNibjFjYmx4dUx5b3FYRzRnS2lCR2FXNWtjeUJ6WlhRZ1pHbG1abVZ5Wlc1alpTQmlaWFIzWldWdUlIUjNieUJzYVhOMGN5NWNiaUFxSUVCd1lYSmhiU0I3WVc1NVcxMTlJR0VnVkdobElHWnBjbk4wSUd4cGMzUXVYRzRnS2lCQWNHRnlZVzBnZTJGdWVWdGRmU0JpSUZSb1pTQnpaV052Ym1RZ2JHbHpkQzVjYmlBcUlFQnlaWFIxY200Z2UyRnVlVnRkZlZ4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjMlYwUkdsbVptVnlaVzVqWlNoaE9pQmhibmxiWFN3Z1lqb2dZVzU1VzEwcE9pQmhibmxiWFNCN1hHNGdJR052Ym5OMElHSlRaWFFnUFNCdVpYY2dVMlYwS0dJcE8xeHVJQ0J5WlhSMWNtNGdRWEp5WVhrdVpuSnZiU2h1WlhjZ1UyVjBLR0V1Wm1sc2RHVnlLQ2g0S1NBOVBpQWhZbE5sZEM1b1lYTW9lQ2twS1M1MllXeDFaWE1vS1NrN1hHNTlYRzRpWFgwPSIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSB1aTsiLCJleHBvcnQgY29uc3QgRElNX1JFRF9QUkVQUk9DRVNTSU5HX0ZVTkNUSU9OX1RBRyA9ICdkaW0tcmVkLXByZXByb2Nlc3NpbmctZnVuY3Rpb24nO1xuZXhwb3J0IGNvbnN0IERJTV9SRURfUE9TVFBST0NFU1NJTkdfRlVOQ1RJT05fVEFHID0gJ2RpbS1yZWQtcG9zdHByb2Nlc3NpbmctZnVuY3Rpb24nO1xuZXhwb3J0IGNvbnN0IERJTV9SRURfREVGQVVMVF9QT1NUUFJPQ0VTU0lOR19GVU5DVElPTl9NRVRBID0gJ2RlZmF1bHRQb3N0UHJvY2Vzc2luZ0Z1bmN0aW9uJztcbmV4cG9ydCBjb25zdCBTVVBQT1JURURfU0VNVFlQRVNfVEFHID0gJ3N1cHBvcnRlZFNlbVR5cGVzJztcbmV4cG9ydCBjb25zdCBTVVBQT1JURURfVFlQRVNfVEFHID0gJ3N1cHBvcnRlZFR5cGVzJztcbmV4cG9ydCBjb25zdCBTVVBQT1JURURfVU5JVFNfVEFHID0gJ3N1cHBvcnRlZFVuaXRzJztcbmV4cG9ydCBjb25zdCBTVVBQT1JURURfRElTVEFOQ0VfRlVOQ1RJT05TX1RBRyA9ICdzdXBwb3J0ZWREaXN0YW5jZUZ1bmN0aW9ucyc7XG5leHBvcnQgY29uc3QgQllQQVNTX0xBUkdFX0RBVEFfV0FSTklORyA9ICdieXBhc3NMYXJnZURhdGFXYXJuaW5nJztcbmV4cG9ydCBjb25zdCBTSE9XX1NDQVRURVJQTE9UX1BST0dSRVNTID0gJ3Nob3ctc2NhdHRlcnBsb3QtcHJvZ3Jlc3MnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWTI5dWMzUnpMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaVkyOXVjM1J6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTFCUVUwc1EwRkJReXhOUVVGTkxHdERRVUZyUXl4SFFVRkhMR2REUVVGblF5eERRVUZETzBGQlEyNUdMRTFCUVUwc1EwRkJReXhOUVVGTkxHMURRVUZ0UXl4SFFVRkhMR2xEUVVGcFF5eERRVUZETzBGQlEzSkdMRTFCUVUwc1EwRkJReXhOUVVGTkxEUkRRVUUwUXl4SFFVRkhMQ3RDUVVFclFpeERRVUZETzBGQlF6VkdMRTFCUVUwc1EwRkJReXhOUVVGTkxITkNRVUZ6UWl4SFFVRkhMRzFDUVVGdFFpeERRVUZETzBGQlF6RkVMRTFCUVUwc1EwRkJReXhOUVVGTkxHMUNRVUZ0UWl4SFFVRkhMR2RDUVVGblFpeERRVUZETzBGQlEzQkVMRTFCUVUwc1EwRkJReXhOUVVGTkxHMUNRVUZ0UWl4SFFVRkhMR2RDUVVGblFpeERRVUZETzBGQlEzQkVMRTFCUVUwc1EwRkJReXhOUVVGTkxHZERRVUZuUXl4SFFVRkhMRFJDUVVFMFFpeERRVUZETzBGQlF6ZEZMRTFCUVUwc1EwRkJReXhOUVVGTkxIbENRVUY1UWl4SFFVRkhMSGRDUVVGM1FpeERRVUZETzBGQlEyeEZMRTFCUVUwc1EwRkJReXhOUVVGTkxIbENRVUY1UWl4SFFVRkhMREpDUVVFeVFpeERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVpYaHdiM0owSUdOdmJuTjBJRVJKVFY5U1JVUmZVRkpGVUZKUFEwVlRVMGxPUjE5R1ZVNURWRWxQVGw5VVFVY2dQU0FuWkdsdExYSmxaQzF3Y21Wd2NtOWpaWE56YVc1bkxXWjFibU4wYVc5dUp6dGNibVY0Y0c5eWRDQmpiMjV6ZENCRVNVMWZVa1ZFWDFCUFUxUlFVazlEUlZOVFNVNUhYMFpWVGtOVVNVOU9YMVJCUnlBOUlDZGthVzB0Y21Wa0xYQnZjM1J3Y205alpYTnphVzVuTFdaMWJtTjBhVzl1Snp0Y2JtVjRjRzl5ZENCamIyNXpkQ0JFU1UxZlVrVkVYMFJGUmtGVlRGUmZVRTlUVkZCU1QwTkZVMU5KVGtkZlJsVk9RMVJKVDA1ZlRVVlVRU0E5SUNka1pXWmhkV3gwVUc5emRGQnliMk5sYzNOcGJtZEdkVzVqZEdsdmJpYzdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UxVlFVRTlTVkVWRVgxTkZUVlJaVUVWVFgxUkJSeUE5SUNkemRYQndiM0owWldSVFpXMVVlWEJsY3ljN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTFWUVVFOVNWRVZFWDFSWlVFVlRYMVJCUnlBOUlDZHpkWEJ3YjNKMFpXUlVlWEJsY3ljN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTFWUVVFOVNWRVZFWDFWT1NWUlRYMVJCUnlBOUlDZHpkWEJ3YjNKMFpXUlZibWwwY3ljN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnVTFWUVVFOVNWRVZFWDBSSlUxUkJUa05GWDBaVlRrTlVTVTlPVTE5VVFVY2dQU0FuYzNWd2NHOXlkR1ZrUkdsemRHRnVZMlZHZFc1amRHbHZibk1uTzF4dVpYaHdiM0owSUdOdmJuTjBJRUpaVUVGVFUxOU1RVkpIUlY5RVFWUkJYMWRCVWs1SlRrY2dQU0FuWW5sd1lYTnpUR0Z5WjJWRVlYUmhWMkZ5Ym1sdVp5YzdYRzVsZUhCdmNuUWdZMjl1YzNRZ1UwaFBWMTlUUTBGVVZFVlNVRXhQVkY5UVVrOUhVa1ZUVXlBOUlDZHphRzkzTFhOallYUjBaWEp3Ykc5MExYQnliMmR5WlhOekp6dGNiaUpkZlE9PSIsInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuLyoqIENhbGN1bGF0ZXMgQ2x1c3RlcnMgYmFzZWQgb24gZGJzY2FuIGFsZ29yaXRobSBpbiB3YXNtLlxuICogQHBhcmFtIGVtYmVkWCAtIGVtYmVkZGluZ3MgeCBsb2NhdGlvbi5cbiAqIEBwYXJhbSBlbWJlZFkgLSBlbWJlZGRpbmdzIHkgbG9jYXRpb24uXG4gKiBAcGFyYW0gbWluUHRzIC0gbWluaW11bSBudW1iZXIgb2YgcG9pbnRzIGluIGEgY2x1c3Rlci5cbiAqIEBwYXJhbSBlcHNpbG9uIC0gZXBzaWxvbi5cbiAqIEByZXR1cm5zIGFycmF5IHdpdGggY2x1c3RlciBpbmRleGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGJzY2FuV29ya2VyKGVtYmVkWCwgZW1iZWRZLCBlcHNpbG9uLCBtaW5QdHMpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgY29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcihuZXcgVVJMKCcuL2NsdXN0ZXJpbmctd29ya2VyJywgaW1wb3J0Lm1ldGEudXJsKSk7XG4gICAgICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoeyBlbWJlZFgsIGVtYmVkWSwgbWluUHRzLCBlcHNpbG9uIH0pO1xuICAgICAgICAgICAgd29ya2VyLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGNsdXN0ZXJzIH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgIHdvcmtlci50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICBlcnJvciA/IHJlamVjdChlcnJvcikgOiByZXNvbHZlKGNsdXN0ZXJzKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGJzY2FuLXdvcmtlci1jcmVhdG9yLmpzLm1hcCIsImZ1bmN0aW9uIGV1Y2xpZGVhbkFnZ3JlZ2F0aW9uV2dzbChhcnJheVNpemUpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICB2YXIgc3VtID0gMC4wO1xuICAgICAgICBmb3IgKHZhciBpID0gMHU7IGkgPCAke2FycmF5U2l6ZX07IGkgPSBpICsgMXUpIHtcbiAgICAgICAgICAgIHN1bSA9IHN1bSArIGRpc3RhbmNlc1tpXSAqIGRpc3RhbmNlc1tpXSAqIGNvbXB1dGVJbmZvLndlaWdodHNbaV0gKiBjb21wdXRlSW5mby53ZWlnaHRzW2ldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzcXJ0KHN1bSk7XG4gICAgYDtcbn1cbjtcbmZ1bmN0aW9uIG1hbmhhdHRhbkFnZ3JlZ2F0aW9uV2dzbChhcnJheVNpemUpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICB2YXIgc3VtID0gMC4wO1xuICAgICAgICBmb3IgKHZhciBpID0gMHU7IGkgPCAke2FycmF5U2l6ZX07IGkgPSBpICsgMXUpIHtcbiAgICAgICAgICAgIHN1bSA9IHN1bSArIGFicyhkaXN0YW5jZXNbaV0pICogY29tcHV0ZUluZm8ud2VpZ2h0c1tpXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3VtO1xuICAgIGA7XG59XG5leHBvcnQgdmFyIFdFQkdTTEFHR1JFR0FUSU9OO1xuKGZ1bmN0aW9uIChXRUJHU0xBR0dSRUdBVElPTikge1xuICAgIFdFQkdTTEFHR1JFR0FUSU9OW1wiRVVDTElERUFOXCJdID0gXCJFVUNMSURFQU5cIjtcbiAgICBXRUJHU0xBR0dSRUdBVElPTltcIk1BTkhBVFRBTlwiXSA9IFwiTUFOSEFUVEFOXCI7XG59KShXRUJHU0xBR0dSRUdBVElPTiB8fCAoV0VCR1NMQUdHUkVHQVRJT04gPSB7fSkpO1xuZXhwb3J0IGNvbnN0IFdFQkdTTEFHR1JFR0FUSU9ORlVOQ1RJT05TID0ge1xuICAgIFtXRUJHU0xBR0dSRUdBVElPTi5FVUNMSURFQU5dOiBldWNsaWRlYW5BZ2dyZWdhdGlvbldnc2wsXG4gICAgW1dFQkdTTEFHR1JFR0FUSU9OLk1BTkhBVFRBTl06IG1hbmhhdHRhbkFnZ3JlZ2F0aW9uV2dzbFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdlYkdQVS1hZ2dyZWdhdGlvbi5qcy5tYXAiLCIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG4vLyBpbiBhbGwgdGhlIGZ1bmN0aW9ucyBiZWxvdywgdGhlIHZhcmlhYmxlcyBhIGFuZCBiIGFyZSBhc3N1bWVkIHRvIGJlIGFycmF5cyBvZiB1aW50MzIvZjMyXG4vL3ZhbHVlcyB3aGljaCBhcmUgaW5mZXJlZCBmcm9tIHRoZSBjb2RlIHRoaXMgY2h1bmsgaXMgaW5qZWN0ZWQgaW50b1xuLy8gYWxzbywgd2UgaGF2ZSBhY2Nlc3MgdG8gY29tcHV0ZUluZm8gc3RydWN0LCB3aGljaCBjb250YWlucyB0aGUgZm9sbG93aW5nIGZpZWxkczpcbi8vIGNvbXB1dGVJbmZvLmVudHJ5U2l6ZXM6IGFycmF5IG9mIGFycmF5cyBvZiB1MzIgY29udGFpbmluZyB0aGUgc2l6ZXMgb2YgdGhlIGVudHJpZXNcbi8vIG90aGVyIGZpZWxkcyBhcmUgc3BlY2lmaWMgdG8gdGhlIGRpc3RhbmNlIGZ1bmN0aW9uIHNob3VsZCBiZSBpbmplY3RlZCBmcm9tIHRoZSBtYWluIHNjcmlwdCB0aGF0IGNhbGxzIHRoaXMgZnVuY3Rpb24sXG4vLyBhbmQgc2hvdWxkIGJlIGF2YWlsYWJsZSBpbiB0aGUgc3VwcGxlbWVudGFyeUluZm8gc3RydWN0XG4vLyBsaWtlIHRoZSBzaW1pbGFyaXR5IG1hdHJpeCBmb3IgbW9ub21lciBjaGVtaWNhbCBkaXN0YW5jZS5cbi8vIHRoZSBnZXRQcm9jZXNzSW5mbyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGNvcnJlY3QgYnVmZmVyIGFsbG9jYXRpb24gbWVjaGFuaXNtIGZvciB0aGUgc3VwcGxlbWVudGFyeUluZm8sXG4vLyBmb3IgZXZlcnkgZW50cnkgbGlzdFxuLy8gdGhlIG1heERpc3RhbmNlIHZhcmlhYmxlIGlzIGFsc28gYXNzdW1lZCB0byBiZSBhdmFpbGFibGUgaW4gdGhlXG4vLyBzY29wZSBvZiB0aGUgZnVuY3Rpb24sIGluIGNhc2Ugb2Yga25uIGl0IGlzIHRoZSBkaXN0YW5jZSBpbiB0aGUgbGFzdCBwb3N0aW9uIG9mIGtubiBvbiB0aGlzIGluZGV4LFxuLy8gaW4gY2FzZSBvZiBzcGFyc2UgbWF0cml4LCBpdCBjYW4gYmUganVzdCB0aGUgdGhyZXNob2xkIGZvciB0aGUgZGlzdGFuY2UuXG4vLyBoYW1taW5nIGRpc3RhbmNlIGZvciBzZXF1bmVuY2VzIG9mIHVpbnQzMiBhcnJheXMgb2YgbWF4IGxlbmd0aCAke21heEFycmF5U2l6ZX1cbmV4cG9ydCBmdW5jdGlvbiB3ZWJHUFVIYW1taW5nKF9tYXhBcnJheVNpemUsIGVudHJ5SW5kZXgpIHtcbiAgICByZXR1cm4gYFxuICBsZXQgYUxlbmd0aDogdTMyID0gY29tcHV0ZUluZm8uZW50cnlTaXplc1ske2VudHJ5SW5kZXh9XVthSW5kZXhdO1xuICBsZXQgYkxlbmd0aDogdTMyID0gY29tcHV0ZUluZm8uZW50cnlTaXplc1ske2VudHJ5SW5kZXh9XVtiSW5kZXhdO1xuICBsZXQgbWF4TGVuZ3RoOiB1MzIgPSBtYXgoYUxlbmd0aCwgYkxlbmd0aCk7XG4gIGxldCBtaW5MZW5ndGg6IHUzMiA9IG1pbihhTGVuZ3RoLCBiTGVuZ3RoKTtcbiAgbGV0IHNpemVEaWZmOiB1MzIgPSBtYXhMZW5ndGggLSBtaW5MZW5ndGg7XG4gIFxuICBsZXQgbWF4SW50RGlzdGFuY2UgPSBjZWlsKG1heERpc3RhbmNlICogZjMyKG1heExlbmd0aCkpIC0gZjMyKHNpemVEaWZmKTtcblxuICB2YXIgZGlmZjogZjMyID0gMC4wO1xuICBmb3IgKHZhciBpID0gMHU7IGkgPCAke19tYXhBcnJheVNpemV9OyBpID0gaSArIDF1KSB7XG4gICAgICBkaWZmID0gZGlmZiArIGYzMihhW2ldICE9IGJbaV0pO1xuICAgICAgaWYgKGRpZmYgPiBtYXhJbnREaXN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIDEuMDtcbiAgICAgICAgfVxuICB9XG4gIGRpZmYgKz0gZjMyKHNpemVEaWZmKTtcbiAgcmV0dXJuIGRpZmYgLyAke19tYXhBcnJheVNpemV9O1xuICBgO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHdlYkdQVU1vbm9tZXJDaGVtaWNhbERpc3RhbmNlKF9tYXhBcnJheVNpemUsIGVudHJ5SW5kZXgpIHtcbiAgICAvLyBpdCBpcyBhc3N1bWV0IHRoYXQgc3VwcEluZm8gc3RydWN0IGNvbnRhaW5zIGNvcnJlY3QgbWF0cml4IGNhbGxlZCBzaW1pbGFyaXR5TWF0cml4JHtlbnRyeUluZGV4fSwgKHNpbWlsYXJpdHlNYXRyaXgwLCBzaW1pbGFyaXR5TWF0cml4MSwgZXRjKVxuICAgIC8vIHRoaXMgc2hvdWxkIGJlIGd1YXJhbnRlZWQgYnkgdGhlIGdldFByb2Nlc3NJbmZvIGZ1bmN0aW9uLlxuICAgIHJldHVybiBgXG4gIGxldCBhTGVuZ3RoOiB1MzIgPSBjb21wdXRlSW5mby5lbnRyeVNpemVzWyR7ZW50cnlJbmRleH1dW2FJbmRleF07XG4gIGxldCBiTGVuZ3RoOiB1MzIgPSBjb21wdXRlSW5mby5lbnRyeVNpemVzWyR7ZW50cnlJbmRleH1dW2JJbmRleF07XG4gIGxldCBtYXhMZW5ndGg6IHUzMiA9IG1heChhTGVuZ3RoLCBiTGVuZ3RoKTtcbiAgbGV0IG1pbkxlbmd0aDogdTMyID0gbWluKGFMZW5ndGgsIGJMZW5ndGgpO1xuICBsZXQgc2l6ZURpZmY6IHUzMiA9IG1heExlbmd0aCAtIG1pbkxlbmd0aDtcbiAgXG4gIGxldCBtYXhJbnREaXN0YW5jZSA9IGNlaWwobWF4RGlzdGFuY2UgKiBmMzIobWF4TGVuZ3RoKSkgLSBmMzIoc2l6ZURpZmYpO1xuXG4gIGxldCBzaW1NYXRyaXggPSAmKHN1cHBJbmZvLnNpbWlsYXJpdHlNYXRyaXgke2VudHJ5SW5kZXh9KTsgLy8gdXNpbmcgcG9pbnRlcnMgbWFrZSB0aGluZ3MgZmFzdGVyXG4gIHZhciBkaWZmOiBmMzIgPSAwLjA7XG4gIGZvciAodmFyIGkgPSAwdTsgaSA8ICR7X21heEFycmF5U2l6ZX07IGkgPSBpICsgMXUpIHtcbiAgICAgIGRpZmYgPSBkaWZmICsgMS4wIC0gKCpzaW1NYXRyaXgpW3UzMihhW2ldKV1bdTMyKGJbaV0pXTtcbiAgICAgIGlmIChkaWZmID4gbWF4SW50RGlzdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiAxLjA7XG4gICAgICAgIH1cbiAgfVxuICBkaWZmICs9IGYzMihzaXplRGlmZik7XG4gIHJldHVybiBkaWZmIC8gJHtfbWF4QXJyYXlTaXplfTtcbiAgYDtcbn1cbmV4cG9ydCBmdW5jdGlvbiB3ZWJHUFVMZXZlbnN0ZWluKG1heEFycmF5U2l6ZSwgZW50cnlJbmRleCkge1xuICAgIHJldHVybiBgXG4gIGxldCBhTGVuZ3RoOiB1MzIgPSBjb21wdXRlSW5mby5lbnRyeVNpemVzWyR7ZW50cnlJbmRleH1dW2FJbmRleF07XG4gIGxldCBiTGVuZ3RoOiB1MzIgPSBjb21wdXRlSW5mby5lbnRyeVNpemVzWyR7ZW50cnlJbmRleH1dW2JJbmRleF07XG4gIGxldCBtYXhMZW5ndGg6IHUzMiA9IG1heChhTGVuZ3RoLCBiTGVuZ3RoKTtcbiAgbGV0IG1pbkxlbmd0aDogdTMyID0gbWluKGFMZW5ndGgsIGJMZW5ndGgpO1xuXG4gIGxldCBtYXhJbnREaXN0YW5jZSA9IGNlaWwobWF4RGlzdGFuY2UgKiBmMzIobWF4TGVuZ3RoKSk7XG5cbiAgLy8gd2Ugd2lsbCBzdG9yZSB0d28gYXJyYXlzIGFzIG1hdHJpeCBhbmQgc3dhcCB0aGUgd29ya2luZyBpbmRpY2VzIHBlciBwYXNzLlxuICAvLyB0aGlzIHdheSB3ZSBjYW4gcmVkdWNlIG1lbW9yeSB1c2FnZSBwZXIgY29tcHV0YXRpb24gdG8ganVzdCBPKGFMZW5ndGgpXG4gIC8vIHRoZSBncmlkIHdpbGwgaGF2ZSBhTGVuZ3RoICsgMSBjb2x1bW5zIGFuZCBiTGVuZ3RoICsgMSByb3dzXG4gIC8vIHRoaXMgd2lsbCBiZSBndWFyYW50ZWVkIGJ5IGl0ZXJhdGlvbiwgYnV0IHRoZSBhcnJheSBzaXplcyBtdXN0IGJlIGtub3duIGF0IGNvbXBpbGUgdGltZSwgc28gd2Ugd2lsbCB1c2UgYSBmaXhlZCBzaXplIG9mIG1heEFycmF5U2l6ZVxuICB2YXIgZHluYW1pY1Bhc3NNYXQ6IGFycmF5PGFycmF5PGYzMiwgJHttYXhBcnJheVNpemUgKyAxfXU+LCAyPjsgLy8gaW5pdGlhbGl6ZSB0byAwXG4gIFxuICB2YXIgcHJldkluZGV4OiB1MzIgPSAwO1xuICB2YXIgY3VySW5kZXg6IHUzMiA9IDE7IC8vIHdlIHdpbGwgc3dhcCB0aGVzZSBpbmRpY2VzIHBlciBwYXNzXG5cbiAgLy8gaW5pdGlhbGl6ZSB0aGUgZmlyc3Qgcm93XG4gIGZvciAodmFyIGkgPSAwdTsgaSA8PSBhTGVuZ3RoOyBpID0gaSArIDF1KSB7XG4gICAgICBkeW5hbWljUGFzc01hdFtwcmV2SW5kZXhdW2ldID0gZjMyKGkpO1xuICB9XG5cbiAgLy8gaXRlcmF0ZSBvdmVyIHRoZSByb3dzXG4gIGZvciAodmFyIGkgPSAxdTsgaSA8PSBiTGVuZ3RoOyBpID0gaSArIDF1KSB7XG4gICAgICBkeW5hbWljUGFzc01hdFtjdXJJbmRleF1bMF0gPSBmMzIoaSk7XG4gICAgICB2YXIgbWluRW50cnk6IGYzMiA9IGYzMihtYXhMZW5ndGgpO1xuICAgICAgbGV0IHByZXZSb3cgPSAmZHluYW1pY1Bhc3NNYXRbcHJldkluZGV4XTtcbiAgICAgIGxldCBjdXJSb3cgPSAmZHluYW1pY1Bhc3NNYXRbY3VySW5kZXhdO1xuICAgICAgbGV0IGJNb24gPSB1MzIoYltpIC0gMV0pO1xuICAgICAgZm9yICh2YXIgaiA9IDF1OyBqIDw9IGFMZW5ndGg7IGogPSBqICsgMXUpIHtcbiAgICAgICAgICB2YXIgY29zdDogZjMyID0gZjMyKGFbaiAtIDFdICE9IGJNb24pO1xuICAgICAgICAgIHZhciByZXM6IGYzMiA9IG1pbihcbiAgICAgICAgICAgICAgbWluKFxuICAgICAgICAgICAgICAgICgqcHJldlJvdylbal0gKyAxLjAsIC8vIGRlbGV0aW9uXG4gICAgICAgICAgICAgICAgKCpjdXJSb3cpW2ogLSAxXSArIDEuMCwgLy8gaW5zZXJ0aW9uXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICgqcHJldlJvdylbaiAtIDFdICsgY29zdCAvLyBzdWJzdGl0dXRpb25cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgKCpjdXJSb3cpW2pdID0gcmVzO1xuICAgICAgICAgIGlmIChyZXMgPCBtaW5FbnRyeSkge1xuICAgICAgICAgICAgICBtaW5FbnRyeSA9IHJlcztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBzd2FwIHRoZSBpbmRpY2VzXG4gICAgICBsZXQgdGVtcDogdTMyID0gcHJldkluZGV4O1xuICAgICAgcHJldkluZGV4ID0gY3VySW5kZXg7XG4gICAgICBjdXJJbmRleCA9IHRlbXA7XG4gICAgICBpZiAobWluRW50cnkgPiBtYXhJbnREaXN0YW5jZSkge1xuICAgICAgICAgIHJldHVybiAxLjA7XG4gICAgICB9XG4gIH1cblxuICByZXR1cm4gZHluYW1pY1Bhc3NNYXRbcHJldkluZGV4XVthTGVuZ3RoXSAvIGYzMihtYXhMZW5ndGgpO1xuICBgO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHdlYkdQVU5lZWRsZW1hbld1bnNjaChtYXhBcnJheVNpemUsIGVudHJ5SW5kZXgpIHtcbiAgICAvLyB2ZXJzaW9uIG9mIHRoZSBsZXZlbnNodGFpbiB3aGVyZSB0aGUgY29zdCBvZiBzdWJzdGl0dXRpb24gaXMgY3VzdG9taXphYmxlXG4gICAgLy8gaXQgaXMgYXNzdW1ldCB0aGF0IHN1cHBJbmZvIHN0cnVjdCBjb250YWlucyBjb3JyZWN0IG1hdHJpeCBjYWxsZWQgc2ltaWxhcml0eU1hdHJpeCR7ZW50cnlJbmRleH0sIChzaW1pbGFyaXR5TWF0cml4MCwgc2ltaWxhcml0eU1hdHJpeDEsIGV0YylcbiAgICAvLyBhbmQgZ2FwT3BlblBlbmFsdHksIGdhcEV4dGVuc2lvblBlbmFsdHlcbiAgICAvLyB0aGlzIHNob3VsZCBiZSBndWFyYW50ZWVkIGJ5IHRoZSBnZXRQcm9jZXNzSW5mbyBmdW5jdGlvbi5cbiAgICByZXR1cm4gYFxuICAgICAgbGV0IGFMZW5ndGg6IHUzMiA9IGNvbXB1dGVJbmZvLmVudHJ5U2l6ZXNbJHtlbnRyeUluZGV4fV1bYUluZGV4XTtcbiAgICAgIGxldCBiTGVuZ3RoOiB1MzIgPSBjb21wdXRlSW5mby5lbnRyeVNpemVzWyR7ZW50cnlJbmRleH1dW2JJbmRleF07XG4gICAgICBsZXQgbWF4TGVuZ3RoOiB1MzIgPSBtYXgoYUxlbmd0aCwgYkxlbmd0aCk7XG4gICAgICBsZXQgbWluTGVuZ3RoOiB1MzIgPSBtaW4oYUxlbmd0aCwgYkxlbmd0aCk7XG4gIFxuICAgICAgbGV0IG1heEludERpc3RhbmNlID0gY2VpbChtYXhEaXN0YW5jZSAqIGYzMihtYXhMZW5ndGgpKTtcbiAgICAgIC8vIHdlIHdpbGwgc3RvcmUgdHdvIGFycmF5cyBhcyBtYXRyaXggYW5kIHN3YXAgdGhlIHdvcmtpbmcgaW5kaWNlcyBwZXIgcGFzcy5cbiAgICAgIC8vIHRoaXMgd2F5IHdlIGNhbiByZWR1Y2UgbWVtb3J5IHVzYWdlIHBlciBjb21wdXRhdGlvbiB0byBqdXN0IE8oYUxlbmd0aClcbiAgICAgIC8vIHRoZSBncmlkIHdpbGwgaGF2ZSBhTGVuZ3RoICsgMSBjb2x1bW5zIGFuZCBiTGVuZ3RoICsgMSByb3dzXG4gICAgICAvLyB0aGlzIHdpbGwgYmUgZ3VhcmFudGVlZCBieSBpdGVyYXRpb24sIGJ1dCB0aGUgYXJyYXkgc2l6ZXMgbXVzdCBiZSBrbm93biBhdCBjb21waWxlIHRpbWUsIHNvIHdlIHdpbGwgdXNlIGEgZml4ZWQgc2l6ZSBvZiBtYXhBcnJheVNpemVcbiAgICAgIHZhciBkeW5hbWljUGFzc01hdDogYXJyYXk8YXJyYXk8ZjMyLCAke21heEFycmF5U2l6ZSArIDF9dT4sIDI+OyAvLyBpbml0aWFsaXplIHRvIDBcbiAgICAgIFxuICAgICAgLy8gd2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIG9wZXJhdGlvbiBsZWQgdG8gdGhlIGN1cnJlbnQgY2VsbFxuICAgICAgLy8gaS5lLiB3aGV0aGVyIHdlIGNhbWUgZnJvbSB0aGUgbGVmdCwgdG9wIG9yIGRpYWdvbmFsIHRvIGFzc2lnbiBnYXAgb3Blbi9nYXAgZXh0ZW5kIHBlbmFsdHlcbiAgICAgIHZhciB2ZXJ0aWNhbEdhcHM6IGFycmF5PHUzMiwgJHttYXhBcnJheVNpemUgKyAxfXU+O1xuICAgICAgdmFyIGhvcml6b250YWxHYXBzOiBhcnJheTx1MzIsICR7bWF4QXJyYXlTaXplICsgMX11PjtcblxuICAgICAgbGV0IGdhcE9wZW5QZW5hbHR5OiBmMzIgPSBzdXBwSW5mby5nYXBPcGVuUGVuYWx0eSR7ZW50cnlJbmRleH07XG4gICAgICBsZXQgZ2FwRXh0ZW5zaW9uUGVuYWx0eTogZjMyID0gc3VwcEluZm8uZ2FwRXh0ZW5zaW9uUGVuYWx0eSR7ZW50cnlJbmRleH07XG4gICAgICB2YXIgcHJldkluZGV4OiB1MzIgPSAwO1xuICAgICAgdmFyIGN1ckluZGV4OiB1MzIgPSAxOyAvLyB3ZSB3aWxsIHN3YXAgdGhlc2UgaW5kaWNlcyBwZXIgcGFzc1xuICAgICAgLy8gaW5pdGlhbGl6ZSB0aGUgZmlyc3Qgcm93XG4gICAgICBmb3IgKHZhciBpID0gMHU7IGkgPD0gYUxlbmd0aDsgaSA9IGkgKyAxdSkge1xuICAgICAgICAgIGR5bmFtaWNQYXNzTWF0W3ByZXZJbmRleF1baV0gPSBnYXBPcGVuUGVuYWx0eSArIGYzMihpIC0gMSkgKiBnYXBFeHRlbnNpb25QZW5hbHR5O1xuICAgICAgICAgIGR5bmFtaWNQYXNzTWF0W2N1ckluZGV4XVtpXSA9IDAuMDtcbiAgICAgIH1cbiAgICAgIGR5bmFtaWNQYXNzTWF0WzBdWzBdID0gMC4wO1xuXG4gICAgICBsZXQgc2ltTWF0cml4ID0gJnN1cHBJbmZvLnNpbWlsYXJpdHlNYXRyaXgke2VudHJ5SW5kZXh9OyAvLyB1c2luZyBwb2ludGVycyBtYWtlIHRoaW5ncyBmYXN0ZXJcbiAgICAgIC8vIGl0ZXJhdGUgb3ZlciB0aGUgcm93c1xuICAgICAgZm9yICh2YXIgaSA9IDF1OyBpIDw9IGJMZW5ndGg7IGkgPSBpICsgMXUpIHtcbiAgICAgICAgICBsZXQgcHJldlJvdyA9ICZkeW5hbWljUGFzc01hdFtwcmV2SW5kZXhdO1xuICAgICAgICAgIGxldCBjdXJSb3cgPSAmZHluYW1pY1Bhc3NNYXRbY3VySW5kZXhdO1xuICAgICAgICAgICgqY3VyUm93KVswXSA9IGdhcE9wZW5QZW5hbHR5ICsgZjMyKGkgLSAxKSAqIGdhcEV4dGVuc2lvblBlbmFsdHk7XG4gICAgICAgICAgdmFyIG1pbkVudHJ5OiBmMzIgPSBmMzIobWF4TGVuZ3RoKTtcbiAgICAgICAgICBsZXQgbW9uQiA9IHUzMihiW2kgLSAxXSk7XG4gICAgICAgICAgZm9yICh2YXIgaiA9IDF1OyBqIDw9IGFMZW5ndGg7IGogPSBqICsgMXUpIHtcbiAgICAgICAgICAgICAgbGV0IG1vbkEgPSB1MzIoYVtqIC0gMV0pO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgbGV0IGNvc3Q6IGYzMiA9ICgqcHJldlJvdylbaiAtIDFdICsgMWYgLSAoKnNpbU1hdHJpeClbbW9uQV1bbW9uQl07XG4gICAgICAgICAgICAgIHZhciB0b3AgPSAoKnByZXZSb3cpW2pdOyAvLyBkZWxldGlvblxuICAgICAgICAgICAgICBpZiAodmVydGljYWxHYXBzW2pdID4gMCkge1xuICAgICAgICAgICAgICAgICAgdG9wID0gdG9wICsgZ2FwRXh0ZW5zaW9uUGVuYWx0eTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRvcCA9IHRvcCArIGdhcE9wZW5QZW5hbHR5O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHZhciBsZWZ0ID0gKCpjdXJSb3cpW2ogLSAxXTsgLy8gaW5zZXJ0aW9uXG4gICAgICAgICAgICAgIGlmIChob3Jpem9udGFsR2Fwc1tqIC0gMV0gPiAwKSB7XG4gICAgICAgICAgICAgICAgICBsZWZ0ID0gbGVmdCArIGdhcEV4dGVuc2lvblBlbmFsdHk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBsZWZ0ID0gbGVmdCArIGdhcE9wZW5QZW5hbHR5O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHZhciByZXM6IGYzMiA9IG1pbihcbiAgICAgICAgICAgICAgICAgIG1pbihcbiAgICAgICAgICAgICAgICAgICAgICB0b3AsIC8vIGRlbGV0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgbGVmdCwgLy8gaW5zZXJ0aW9uXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgY29zdCAvLyBzdWJzdGl0dXRpb25cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAoKmN1clJvdylbal0gPSByZXM7XG4gICAgICAgICAgICAgIGlmIChyZXMgPCBtaW5FbnRyeSkge1xuICAgICAgICAgICAgICAgICAgbWluRW50cnkgPSByZXM7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBnYXBzXG4gICAgICAgICAgICAgIGlmIChyZXMgPT0gY29zdCkge1xuICAgICAgICAgICAgICAgICAgdmVydGljYWxHYXBzW2pdID0gMDtcbiAgICAgICAgICAgICAgICAgIGhvcml6b250YWxHYXBzW2pdID0gMDtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXMgPT0gbGVmdCkge1xuICAgICAgICAgICAgICAgICAgdmVydGljYWxHYXBzW2pdID0gMDtcbiAgICAgICAgICAgICAgICAgIGhvcml6b250YWxHYXBzW2pdID0gMTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHZlcnRpY2FsR2Fwc1tqXSA9IDE7XG4gICAgICAgICAgICAgICAgICBob3Jpem9udGFsR2Fwc1tqXSA9IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gc3dhcCB0aGUgaW5kaWNlc1xuICAgICAgICAgIGxldCB0ZW1wOiB1MzIgPSBwcmV2SW5kZXg7XG4gICAgICAgICAgcHJldkluZGV4ID0gY3VySW5kZXg7XG4gICAgICAgICAgY3VySW5kZXggPSB0ZW1wO1xuICAgICAgICAgIGlmIChtaW5FbnRyeSA+IG1heEludERpc3RhbmNlKSB7XG4gICAgICAgICAgICAgIHJldHVybiAxLjA7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGR5bmFtaWNQYXNzTWF0W3ByZXZJbmRleF1bYUxlbmd0aF0gLyBmMzIobWF4TGVuZ3RoKTtcbiAgXG4gIGA7XG59XG5leHBvcnQgZnVuY3Rpb24gd2ViR1BVRXVjbGlkZWFuKG1heEFycmF5U2l6ZSwgX2VudHJ5SW5kZXgpIHtcbiAgICByZXR1cm4gYFxuICB2YXIgZGlzdDogZjMyID0gMC4wO1xuICBmb3IgKHZhciBpID0gMHU7IGkgPCAke21heEFycmF5U2l6ZX07IGkgPSBpICsgMXUpIHtcbiAgICBkaXN0ID0gZGlzdCArIGYzMihhW2ldIC0gYltpXSkgKiBmMzIoYVtpXSAtIGJbaV0pO1xuICB9XG4gIHJldHVybiBzcXJ0KGRpc3QpO1xuICBgO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHdlYkdQVU1hbmhhdHRhbihtYXhBcnJheVNpemUsIF9lbnRyeUluZGV4KSB7XG4gICAgcmV0dXJuIGBcbiAgdmFyIGRpc3Q6IGYzMiA9IDAuMDtcbiAgZm9yICh2YXIgaSA9IDB1OyBpIDwgJHttYXhBcnJheVNpemV9OyBpID0gaSArIDF1KSB7XG4gICAgZGlzdCA9IGRpc3QgKyBhYnMoZjMyKGFbaV0gLSBiW2ldKSk7XG4gIH1cbiAgcmV0dXJuIGRpc3Q7XG4gIGA7XG59XG5leHBvcnQgZnVuY3Rpb24gd2ViR1BVT25lSG90RGlzdGFuY2UoX21heEFycmF5U2l6ZSwgZW50cnlJbmRleCkge1xuICAgIHJldHVybiBgXG4gIGxldCBhTGVuZ3RoOiB1MzIgPSBjb21wdXRlSW5mby5lbnRyeVNpemVzWyR7ZW50cnlJbmRleH1dW2FJbmRleF07XG4gIGxldCBiTGVuZ3RoOiB1MzIgPSBjb21wdXRlSW5mby5lbnRyeVNpemVzWyR7ZW50cnlJbmRleH1dW2JJbmRleF07XG4gIGlmIChhTGVuZ3RoICE9IGJMZW5ndGgpIHtcbiAgICByZXR1cm4gMS4wO1xuICB9XG4gIGZvciAodmFyIGkgPSAwdTsgaSA8IGFMZW5ndGg7IGkgPSBpICsgMXUpIHtcbiAgICBpZihhW2ldICE9IGJbaV0pIHtcbiAgICAgIHJldHVybiAxLjA7XG4gICAgfVxuICB9XG4gIHJldHVybiAwLjA7XG4gIGA7XG59XG5leHBvcnQgZnVuY3Rpb24gd2ViR1BVTnVtZXJpY0Rpc3RhbmNlKF9tYXhBcnJheVNpemUsIGVudHJ5SW5kZXgpIHtcbiAgICAvLyB3ZSBhc3N1bWUgdGhhdCByYW5nZSR7ZW50cnlJbmRleH0gaXMgYXZhaWxhYmxlIGluIHRoZSBzdXBwbGVtZW50YXJ5SW5mbyBzdHJ1Y3RcbiAgICByZXR1cm4gYFxuICAgIGxldCByYW5nZSA9IHN1cHBJbmZvLnJhbmdlJHtlbnRyeUluZGV4fTtcbiAgICByZXR1cm4gZjMyKGFicyhmMzIoYVswXSkgLSBmMzIoYlswXSkpIC8gcmFuZ2UpO1xuICBgO1xufVxuLy8gdGFuaW1vdG8gZGlzdGFuY2UgZm9yIHVpbnQzMiBhcnJheXMgb2YgbGVuZ3RoICR7bWF4QXJyYXlTaXplfVxuZXhwb3J0IGZ1bmN0aW9uIHdlYkdQVVRhbmltb3RvQml0QXJyYXkobWF4QXJyYXlTaXplLCBfZW50cnlJbmRleCkge1xuICAgIHJldHVybiBgXG4gIHZhciBvbkJpdHNhOiB1MzIgPSAwdTtcbiAgdmFyIG9uQml0c2I6IHUzMiA9IDB1O1xuICBmb3IgKHZhciBpID0gMHU7IGkgPCAke21heEFycmF5U2l6ZX11OyBpID0gaSArIDF1KSB7XG4gICAgICBvbkJpdHNhID0gb25CaXRzYSArIGNvdW50T25lQml0cyhhW2ldKTtcbiAgICAgIG9uQml0c2IgPSBvbkJpdHNiICsgY291bnRPbmVCaXRzKGJbaV0pO1xuICB9XG5cbiAgaWYgKG9uQml0c2EgPT0gMHUgJiYgb25CaXRzYiA9PSAwdSkge1xuICAgICAgcmV0dXJuIDAuMDtcbiAgfVxuXG4gIGxldCB0b3RhbE9uQml0cyA9IG9uQml0c2EgKyBvbkJpdHNiO1xuICB2YXIgY29tbW9uQml0czogdTMyID0gMHU7XG4gIGZvciAodmFyIGkgPSAwdTsgaSA8ICR7bWF4QXJyYXlTaXplfXU7IGkgPSBpICsgMXUpIHtcbiAgICAgIGNvbW1vbkJpdHMgPSBjb21tb25CaXRzICsgY291bnRPbmVCaXRzKGFbaV0gJiBiW2ldKTtcbiAgfVxuXG4gIHJldHVybiAxLjAgLSBmMzIoY29tbW9uQml0cykgLyBmMzIodG90YWxPbkJpdHMgLSBjb21tb25CaXRzKTtcbiAgYDtcbn1cbmV4cG9ydCBmdW5jdGlvbiB3ZWJHUFVBc3ltbWV0cmljQml0QXJyYXkobWF4QXJyYXlTaXplLCBfZW50cnlJbmRleCkge1xuICAgIHJldHVybiBgXG4gIHZhciBvbkJpdHNhOiB1MzIgPSAwdTtcbiAgdmFyIG9uQml0c2I6IHUzMiA9IDB1O1xuICBmb3IgKHZhciBpID0gMHU7IGkgPCAke21heEFycmF5U2l6ZX11OyBpID0gaSArIDF1KSB7XG4gICAgICBvbkJpdHNhID0gb25CaXRzYSArIGNvdW50T25lQml0cyhhW2ldKTtcbiAgICAgIG9uQml0c2IgPSBvbkJpdHNiICsgY291bnRPbmVCaXRzKGJbaV0pO1xuICB9XG4gIGxldCBtaW4gPSBtaW4ob25CaXRzYSwgb25CaXRzYik7XG4gIGlmIChtaW4gPT0gMHUpIHtcbiAgICByZXR1cm4gMS4wO1xuICB9XG4gIHZhciBjb21tb25CaXRzOiB1MzIgPSAwdTtcbiAgZm9yICh2YXIgaSA9IDB1OyBpIDwgJHttYXhBcnJheVNpemV9dTsgaSA9IGkgKyAxdSkge1xuICAgICAgY29tbW9uQml0cyA9IGNvbW1vbkJpdHMgKyBjb3VudE9uZUJpdHMoYVtpXSAmIGJbaV0pO1xuICB9XG4gIHJldHVybiAxLjAgLSBmMzIoY29tbW9uQml0cykgLyBmMzIobWluKTtcbiAgYDtcbn1cbmV4cG9ydCBmdW5jdGlvbiB3ZWJHUFVDb3NpbmVCaXRBcnJheShtYXhBcnJheVNpemUsIF9lbnRyeUluZGV4KSB7XG4gICAgcmV0dXJuIGBcbiAgdmFyIG9uQml0c2E6IHUzMiA9IDB1O1xuICB2YXIgb25CaXRzYjogdTMyID0gMHU7XG4gIGZvciAodmFyIGkgPSAwdTsgaSA8ICR7bWF4QXJyYXlTaXplfXU7IGkgPSBpICsgMXUpIHtcbiAgICAgIG9uQml0c2EgPSBvbkJpdHNhICsgY291bnRPbmVCaXRzKGFbaV0pO1xuICAgICAgb25CaXRzYiA9IG9uQml0c2IgKyBjb3VudE9uZUJpdHMoYltpXSk7XG4gIH1cbiAgbGV0IHRvdGFsID0gb25CaXRzYSAqIG9uQml0c2I7IC8vIHAucy4gaGVyZSB0b3RhbCBpcyB0YWtlbiBieSBtdWx0aXBseWluZ1xuICBpZiAodG90YWwgPT0gMHUpIHtcbiAgICByZXR1cm4gMS4wO1xuICB9XG4gIHZhciBjb21tb25CaXRzOiB1MzIgPSAwdTtcbiAgZm9yICh2YXIgaSA9IDB1OyBpIDwgJHttYXhBcnJheVNpemV9dTsgaSA9IGkgKyAxdSkge1xuICAgICAgY29tbW9uQml0cyA9IGNvbW1vbkJpdHMgKyBjb3VudE9uZUJpdHMoYVtpXSAmIGJbaV0pO1xuICB9XG4gIHJldHVybiAxLjAgLSBmMzIoY29tbW9uQml0cykgLyBzcXJ0KGYzMih0b3RhbCkpO1xuICBgO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHdlYkdQVVNva2FsQml0QXJyYXkobWF4QXJyYXlTaXplLCBfZW50cnlJbmRleCkge1xuICAgIHJldHVybiBgXG4gIHZhciBvbkJpdHNhOiB1MzIgPSAwdTtcbiAgdmFyIG9uQml0c2I6IHUzMiA9IDB1O1xuICBmb3IgKHZhciBpID0gMHU7IGkgPCAke21heEFycmF5U2l6ZX11OyBpID0gaSArIDF1KSB7XG4gICAgICBvbkJpdHNhID0gb25CaXRzYSArIGNvdW50T25lQml0cyhhW2ldKTtcbiAgICAgIG9uQml0c2IgPSBvbkJpdHNiICsgY291bnRPbmVCaXRzKGJbaV0pO1xuICB9XG4gIGxldCB0b3RhbCA9IG9uQml0c2EgKyBvbkJpdHNiO1xuICBpZiAodG90YWwgPT0gMHUpIHtcbiAgICByZXR1cm4gMS4wO1xuICB9XG4gIHZhciBjb21tb25CaXRzOiB1MzIgPSAwdTtcbiAgZm9yICh2YXIgaSA9IDB1OyBpIDwgJHttYXhBcnJheVNpemV9dTsgaSA9IGkgKyAxdSkge1xuICAgICAgY29tbW9uQml0cyA9IGNvbW1vbkJpdHMgKyBjb3VudE9uZUJpdHMoYVtpXSAmIGJbaV0pO1xuICB9XG4gIHJldHVybiAxLjAgLSBmMzIoY29tbW9uQml0cykgLyBmMzIodG90YWwgKiAyIC0gY29tbW9uQml0cyAqIDMpO1xuICBgO1xufVxuZXhwb3J0IHZhciBXRUJHUFVESVNUQU5DRTtcbihmdW5jdGlvbiAoV0VCR1BVRElTVEFOQ0UpIHtcbiAgICBXRUJHUFVESVNUQU5DRVtcIkhBTU1JTkdcIl0gPSBcIkhhbW1pbmdcIjtcbiAgICBXRUJHUFVESVNUQU5DRVtcIkVVQ0xJREVBTlwiXSA9IFwiRXVjbGlkZWFuXCI7XG4gICAgV0VCR1BVRElTVEFOQ0VbXCJNQU5IQVRUQU5cIl0gPSBcIk1hbmhhdHRhblwiO1xuICAgIFdFQkdQVURJU1RBTkNFW1wiVEFOSU1PVE9cIl0gPSBcIlRhbmltb3RvXCI7XG4gICAgV0VCR1BVRElTVEFOQ0VbXCJMRVZFTlNURUlOXCJdID0gXCJMZXZlbnNodGVpblwiO1xuICAgIFdFQkdQVURJU1RBTkNFW1wiTkVFRExFTUFOX1dVTlNDSFwiXSA9IFwiTmVlZGxlbWFubi1XdW5zY2hcIjtcbiAgICBXRUJHUFVESVNUQU5DRVtcIk1PTk9NRVJfQ0hFTUlDQUxfRElTVEFOQ0VcIl0gPSBcIk1vbm9tZXIgY2hlbWljYWwgZGlzdGFuY2VcIjtcbiAgICBXRUJHUFVESVNUQU5DRVtcIlNPS0FMXCJdID0gXCJTb2thbFwiO1xuICAgIFdFQkdQVURJU1RBTkNFW1wiQ09TSU5FXCJdID0gXCJDb3NpbmVcIjtcbiAgICBXRUJHUFVESVNUQU5DRVtcIkFTWU1NRVRSSUNcIl0gPSBcIkFzeW1tZXRyaWNcIjtcbiAgICBXRUJHUFVESVNUQU5DRVtcIkRpZmZlcmVuY2VcIl0gPSBcIkRpZmZlcmVuY2VcIjtcbiAgICBXRUJHUFVESVNUQU5DRVtcIk9uZUhvdFwiXSA9IFwiT25lLUhvdFwiO1xufSkoV0VCR1BVRElTVEFOQ0UgfHwgKFdFQkdQVURJU1RBTkNFID0ge30pKTtcbmV4cG9ydCBjb25zdCB3ZWJHUFVGdW5jdGlvbnMgPSB7XG4gICAgW1dFQkdQVURJU1RBTkNFLkhBTU1JTkddOiB3ZWJHUFVIYW1taW5nLFxuICAgIFtXRUJHUFVESVNUQU5DRS5FVUNMSURFQU5dOiB3ZWJHUFVFdWNsaWRlYW4sXG4gICAgW1dFQkdQVURJU1RBTkNFLk1BTkhBVFRBTl06IHdlYkdQVU1hbmhhdHRhbixcbiAgICBbV0VCR1BVRElTVEFOQ0UuVEFOSU1PVE9dOiB3ZWJHUFVUYW5pbW90b0JpdEFycmF5LFxuICAgIFtXRUJHUFVESVNUQU5DRS5MRVZFTlNURUlOXTogd2ViR1BVTGV2ZW5zdGVpbixcbiAgICBbV0VCR1BVRElTVEFOQ0UuTkVFRExFTUFOX1dVTlNDSF06IHdlYkdQVU5lZWRsZW1hbld1bnNjaCxcbiAgICBbV0VCR1BVRElTVEFOQ0UuTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRV06IHdlYkdQVU1vbm9tZXJDaGVtaWNhbERpc3RhbmNlLFxuICAgIFtXRUJHUFVESVNUQU5DRS5TT0tBTF06IHdlYkdQVVNva2FsQml0QXJyYXksXG4gICAgW1dFQkdQVURJU1RBTkNFLkNPU0lORV06IHdlYkdQVUNvc2luZUJpdEFycmF5LFxuICAgIFtXRUJHUFVESVNUQU5DRS5BU1lNTUVUUklDXTogd2ViR1BVQXN5bW1ldHJpY0JpdEFycmF5LFxuICAgIFtXRUJHUFVESVNUQU5DRS5EaWZmZXJlbmNlXTogd2ViR1BVTnVtZXJpY0Rpc3RhbmNlLFxuICAgIFtXRUJHUFVESVNUQU5DRS5PbmVIb3RdOiB3ZWJHUFVPbmVIb3REaXN0YW5jZVxufTtcbmV4cG9ydCBjb25zdCBkaXN0YW5jZUZ1bmN0aW9uQ29tcGxleGl0eSA9IHtcbiAgICBbV0VCR1BVRElTVEFOQ0UuSEFNTUlOR106IChtYXhFbnRyeVNpemUpID0+IE1hdGguY2VpbChtYXhFbnRyeVNpemUgLyAzMCksXG4gICAgW1dFQkdQVURJU1RBTkNFLkVVQ0xJREVBTl06IChtYXhFbnRyeVNpemUpID0+IE1hdGguY2VpbChtYXhFbnRyeVNpemUgLyAzMCksXG4gICAgW1dFQkdQVURJU1RBTkNFLk1BTkhBVFRBTl06IChtYXhFbnRyeVNpemUpID0+IE1hdGguY2VpbChtYXhFbnRyeVNpemUgLyAzMCksXG4gICAgW1dFQkdQVURJU1RBTkNFLlRBTklNT1RPXTogKG1heEVudHJ5U2l6ZSkgPT4gTWF0aC5jZWlsKG1heEVudHJ5U2l6ZSAvIDYwKSxcbiAgICBbV0VCR1BVRElTVEFOQ0UuU09LQUxdOiAobWF4RW50cnlTaXplKSA9PiBNYXRoLmNlaWwobWF4RW50cnlTaXplIC8gNjApLFxuICAgIFtXRUJHUFVESVNUQU5DRS5DT1NJTkVdOiAobWF4RW50cnlTaXplKSA9PiBNYXRoLmNlaWwobWF4RW50cnlTaXplIC8gNjApLFxuICAgIFtXRUJHUFVESVNUQU5DRS5BU1lNTUVUUklDXTogKG1heEVudHJ5U2l6ZSkgPT4gTWF0aC5jZWlsKG1heEVudHJ5U2l6ZSAvIDYwKSxcbiAgICBbV0VCR1BVRElTVEFOQ0UuTEVWRU5TVEVJTl06IChtYXhFbnRyeVNpemUpID0+IE1hdGguY2VpbChtYXhFbnRyeVNpemUgKiBtYXhFbnRyeVNpemUgLyA2MCksXG4gICAgW1dFQkdQVURJU1RBTkNFLk5FRURMRU1BTl9XVU5TQ0hdOiAobWF4RW50cnlTaXplKSA9PiBNYXRoLmNlaWwobWF4RW50cnlTaXplICogbWF4RW50cnlTaXplIC8gNjApLFxuICAgIFtXRUJHUFVESVNUQU5DRS5NT05PTUVSX0NIRU1JQ0FMX0RJU1RBTkNFXTogKG1heEVudHJ5U2l6ZSkgPT4gTWF0aC5jZWlsKG1heEVudHJ5U2l6ZSAvIDI1KSxcbiAgICBbV0VCR1BVRElTVEFOQ0UuRGlmZmVyZW5jZV06IChfbWF4RW50cnlTaXplKSA9PiAxLFxuICAgIFtXRUJHUFVESVNUQU5DRS5PbmVIb3RdOiAoX21heEVudHJ5U2l6ZSkgPT4gTWF0aC5jZWlsKF9tYXhFbnRyeVNpemUgLyA0MCksXG59O1xuZXhwb3J0IGNvbnN0IFR5cGVTdXBwb3J0ZWREaXN0YW5jZXMgPSB7XG4gICAgW1wiU1RSSU5HXCIgLyogV0dQVUVOVFJZVFlQRS5TVFJJTkcgKi9dOiBuZXcgU2V0KFtXRUJHUFVESVNUQU5DRS5IQU1NSU5HLCBXRUJHUFVESVNUQU5DRS5MRVZFTlNURUlOLCBXRUJHUFVESVNUQU5DRS5ORUVETEVNQU5fV1VOU0NILCBXRUJHUFVESVNUQU5DRS5NT05PTUVSX0NIRU1JQ0FMX0RJU1RBTkNFLCBXRUJHUFVESVNUQU5DRS5PbmVIb3RdKSxcbiAgICBbXCJVSU5UMzJBUlJBWVwiIC8qIFdHUFVFTlRSWVRZUEUuVUlOVDMyQVJSQVkgKi9dOiBuZXcgU2V0KFtXRUJHUFVESVNUQU5DRS5IQU1NSU5HLCBXRUJHUFVESVNUQU5DRS5FVUNMSURFQU4sIFdFQkdQVURJU1RBTkNFLk1BTkhBVFRBTiwgV0VCR1BVRElTVEFOQ0UuTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRSwgV0VCR1BVRElTVEFOQ0UuTEVWRU5TVEVJTiwgV0VCR1BVRElTVEFOQ0UuTkVFRExFTUFOX1dVTlNDSCwgV0VCR1BVRElTVEFOQ0UuVEFOSU1PVE8sIFdFQkdQVURJU1RBTkNFLkNPU0lORSwgV0VCR1BVRElTVEFOQ0UuU09LQUwsIFdFQkdQVURJU1RBTkNFLkFTWU1NRVRSSUMsIFdFQkdQVURJU1RBTkNFLk9uZUhvdCwgV0VCR1BVRElTVEFOQ0UuRGlmZmVyZW5jZV0pLFxuICAgIFtcIklOVDMyQVJSQVlcIiAvKiBXR1BVRU5UUllUWVBFLklOVDMyQVJSQVkgKi9dOiBuZXcgU2V0KFtXRUJHUFVESVNUQU5DRS5FVUNMSURFQU4sIFdFQkdQVURJU1RBTkNFLk1BTkhBVFRBTiwgV0VCR1BVRElTVEFOQ0UuT25lSG90LCBXRUJHUFVESVNUQU5DRS5EaWZmZXJlbmNlXSksXG4gICAgW1wiRkxPQVQzMkFSUkFZXCIgLyogV0dQVUVOVFJZVFlQRS5GTE9BVDMyQVJSQVkgKi9dOiBuZXcgU2V0KFtXRUJHUFVESVNUQU5DRS5FVUNMSURFQU4sIFdFQkdQVURJU1RBTkNFLk1BTkhBVFRBTiwgV0VCR1BVRElTVEFOQ0UuRGlmZmVyZW5jZV0pLFxuICAgIFtcIk5VTUJFUlwiIC8qIFdHUFVFTlRSWVRZUEUuTlVNQkVSICovXTogbmV3IFNldChbV0VCR1BVRElTVEFOQ0UuRVVDTElERUFOLCBXRUJHUFVESVNUQU5DRS5NQU5IQVRUQU4sIFdFQkdQVURJU1RBTkNFLkRpZmZlcmVuY2VdKSxcbiAgICBbXCJCSVRBUlJBWVwiIC8qIFdHUFVFTlRSWVRZUEUuQklUQVJSQVkgKi9dOiBuZXcgU2V0KFtXRUJHUFVESVNUQU5DRS5UQU5JTU9UTywgV0VCR1BVRElTVEFOQ0UuQ09TSU5FLCBXRUJHUFVESVNUQU5DRS5TT0tBTCwgV0VCR1BVRElTVEFOQ0UuQVNZTU1FVFJJQ10pXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2ViR1BVLW11bHRpY29sLWRpc3RhbmNlcy5qcy5tYXAiLCJleHBvcnQgdmFyIE1hdHJpeE1hdHJpeE9wVHlwZTtcbihmdW5jdGlvbiAoTWF0cml4TWF0cml4T3BUeXBlKSB7XG4gICAgTWF0cml4TWF0cml4T3BUeXBlW1wiQUREXCJdID0gXCJBRERcIjtcbiAgICBNYXRyaXhNYXRyaXhPcFR5cGVbXCJTVUJcIl0gPSBcIlNVQlwiO1xuICAgIE1hdHJpeE1hdHJpeE9wVHlwZVtcIk1VTFRcIl0gPSBcIk1VTFRcIjtcbn0pKE1hdHJpeE1hdHJpeE9wVHlwZSB8fCAoTWF0cml4TWF0cml4T3BUeXBlID0ge30pKTtcbmV4cG9ydCB2YXIgTWF0cml4T3BUeXBlO1xuKGZ1bmN0aW9uIChNYXRyaXhPcFR5cGUpIHtcbiAgICBNYXRyaXhPcFR5cGVbXCJTUVVBUkVcIl0gPSBcIlNRVUFSRVwiO1xuICAgIE1hdHJpeE9wVHlwZVtcIklOVkVSU0VcIl0gPSBcIklOVkVSU0VcIjtcbiAgICBNYXRyaXhPcFR5cGVbXCJUUkFOU1BPU0VcIl0gPSBcIlRSQU5TUE9TRVwiO1xuICAgIE1hdHJpeE9wVHlwZVtcIk5PUk1cIl0gPSBcIk5PUk1cIjtcbiAgICBNYXRyaXhPcFR5cGVbXCJDT0xVTU5fTk9STVwiXSA9IFwiQ09MVU1OX05PUk1cIjtcbn0pKE1hdHJpeE9wVHlwZSB8fCAoTWF0cml4T3BUeXBlID0ge30pKTtcbmV4cG9ydCB2YXIgTWF0cml4U2NhbGFyT3BUeXBlO1xuKGZ1bmN0aW9uIChNYXRyaXhTY2FsYXJPcFR5cGUpIHtcbiAgICBNYXRyaXhTY2FsYXJPcFR5cGVbXCJTQ0FMQVJNVUxUXCJdID0gXCJTQ0FMQVJNVUxUXCI7XG4gICAgTWF0cml4U2NhbGFyT3BUeXBlW1wiU0NBTEFSQUREXCJdID0gXCJTQ0FMQVJBRERcIjtcbiAgICBNYXRyaXhTY2FsYXJPcFR5cGVbXCJTQ0FMQVJQT1dcIl0gPSBcIlNDQUxBUlBPV1wiO1xufSkoTWF0cml4U2NhbGFyT3BUeXBlIHx8IChNYXRyaXhTY2FsYXJPcFR5cGUgPSB7fSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dHlwZXMuanMubWFwIiwiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFxuY29uc3QgdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuLyoqXG4gKiBDaGVja3MgaWYgYW4gb2JqZWN0IGlzIGFuIGluc3RhbmNlIG9mIGFuIEFycmF5IChhcnJheSBvciB0eXBlZCBhcnJheSwgZXhjZXB0IHRob3NlIHRoYXQgY29udGFpbiBiaWdpbnQgdmFsdWVzKS5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBPYmplY3QgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvYmplY3QgaXMgYW4gYXJyYXkgb3IgYSB0eXBlZCBhcnJheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQW55QXJyYXkodmFsdWUpIHtcbiAgICBjb25zdCB0YWcgPSB0b1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgICByZXR1cm4gdGFnLmVuZHNXaXRoKCdBcnJheV0nKSAmJiAhdGFnLmluY2x1ZGVzKCdCaWcnKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCIsImV4cG9ydCBjb25zdCBESU1FTlNJT05BTElUWV9SRURVQ0VSX1RFUk1JTkFURV9FVkVOVCA9ICdkaW1lbnNpb25hbGl0eS1yZWR1Y2VyLXRlcm1pbmF0ZS1ldmVudCc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lZMjl1YzNSekxtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpWTI5dWMzUnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFMUJRVTBzUTBGQlF5eE5RVUZOTEhORFFVRnpReXhIUVVGSExIZERRVUYzUXl4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWlhod2IzSjBJR052Ym5OMElFUkpUVVZPVTBsUFRrRk1TVlJaWDFKRlJGVkRSVkpmVkVWU1RVbE9RVlJGWDBWV1JVNVVJRDBnSjJScGJXVnVjMmx2Ym1Gc2FYUjVMWEpsWkhWalpYSXRkR1Z5YldsdVlYUmxMV1YyWlc1MEp6dGNiaUpkZlE9PSIsImV4cG9ydCB2YXIgRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHM7XG4oZnVuY3Rpb24gKERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzKSB7XG4gICAgRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHNbXCJFVUNMSURFQU5cIl0gPSBcIkVVQ0xJREVBTlwiO1xuICAgIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzW1wiTUFOSEFUVEFOXCJdID0gXCJNQU5IQVRUQU5cIjtcbn0pKERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzIHx8IChEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyA9IHt9KSk7XG47XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkSGx3WlhNdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUowZVhCbGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4TlFVRk5MRU5CUVU0c1NVRkJXU3d3UWtGSFZEdEJRVWhJTEZkQlFWa3NNRUpCUVRCQ08wbEJRMnhETEhGRVFVRjFRaXhEUVVGQk8wbEJRM1pDTEhGRVFVRjFRaXhEUVVGQk8wRkJRM3BDTEVOQlFVTXNSVUZJVXl3d1FrRkJNRUlzUzBGQk1VSXNNRUpCUVRCQ0xGRkJSMjVETzBGQlFVRXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltVjRjRzl5ZENCbGJuVnRJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUnpJSHRjYmlBZ0lDQkZWVU5NU1VSRlFVNGdQU0FuUlZWRFRFbEVSVUZPSnl4Y2JpQWdJQ0JOUVU1SVFWUlVRVTRnUFNBblRVRk9TRUZVVkVGT0p5eGNiaUFnZlR0Y2JseHVaWGh3YjNKMElIUjVjR1VnUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaQ0E5SUd0bGVXOW1JSFI1Y0dWdlppQkVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a2N6dGNiaUpkZlE9PSIsImltcG9ydCB7IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzIH0gZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgY29uc3QgaXNOaWwgPSAoeCkgPT4geCA9PT0gbnVsbCB8fCB4ID09PSB1bmRlZmluZWQ7XG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0U21hbGxlcihkaXN0YW5jZXNBciwgaW5kZXhlcywgbnVtLCBpbmRleCkge1xuICAgIGlmIChudW0gPiBkaXN0YW5jZXNBcltkaXN0YW5jZXNBci5sZW5ndGggLSAxXSlcbiAgICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IG5ld1Bvc2l0aW9uID0gZGlzdGFuY2VzQXIuZmluZEluZGV4KCh2KSA9PiBudW0gPCB2KTtcbiAgICBkaXN0YW5jZXNBci5wb3AoKTtcbiAgICBkaXN0YW5jZXNBci5zcGxpY2UobmV3UG9zaXRpb24sIDAsIG51bSk7XG4gICAgaW5kZXhlcy5wb3AoKTtcbiAgICBpbmRleGVzLnNwbGljZShuZXdQb3NpdGlvbiwgMCwgaW5kZXgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydExhcmdlcihkaXN0YW5jZXNBciwgaW5kZXhlcywgbnVtLCBpbmRleCkge1xuICAgIGlmIChudW0gPCBkaXN0YW5jZXNBcltkaXN0YW5jZXNBci5sZW5ndGggLSAxXSlcbiAgICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IG5ld1Bvc2l0aW9uID0gZGlzdGFuY2VzQXIuZmluZEluZGV4KCh2KSA9PiBudW0gPiB2KTtcbiAgICBkaXN0YW5jZXNBci5wb3AoKTtcbiAgICBkaXN0YW5jZXNBci5zcGxpY2UobmV3UG9zaXRpb24sIDAsIG51bSk7XG4gICAgaW5kZXhlcy5wb3AoKTtcbiAgICBpbmRleGVzLnNwbGljZShuZXdQb3NpdGlvbiwgMCwgaW5kZXgpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldEFnZ3JlZ2F0aW9uRnVuY3Rpb24oYWdncmVnYXRpb25NZXRob2QsIHdlaWdodHMpIHtcbiAgICBzd2l0Y2ggKGFnZ3JlZ2F0aW9uTWV0aG9kKSB7XG4gICAgICAgIGNhc2UgRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMuTUFOSEFUVEFOOlxuICAgICAgICAgICAgcmV0dXJuICh2cykgPT4gdnMucmVkdWNlKChhY2MsIHZhbCwgaWR4KSA9PiBhY2MgKyB2YWwgKiB3ZWlnaHRzW2lkeF0sIDApO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuICh2cykgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGV1Y2xpZGVhblxuICAgICAgICAgICAgICAgIGNvbnN0IHN1bSA9IHZzLnJlZHVjZSgoYWNjLCB2YWwsIGlkeCkgPT4gYWNjICsgKHZhbCAqIHdlaWdodHNbaWR4XSkgKiogMiwgMCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1hdGguc3FydChzdW0pO1xuICAgICAgICAgICAgfTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkWFJwYkhNdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUoxZEdsc2N5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4UFFVRlBMRVZCUVRSQ0xEQkNRVUV3UWl4RlFVRkRMRTFCUVUwc1UwRkJVeXhEUVVGRE8wRkJSVGxGTEUxQlFVMHNRMEZCUXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TFFVRkxMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzVTBGQlV5eERRVUZETzBGQlJTOUVMRTFCUVUwc1ZVRkJWU3hoUVVGaExFTkJRVU1zVjBGQmNVSXNSVUZCUlN4UFFVRnBRaXhGUVVGRkxFZEJRVmNzUlVGQlJTeExRVUZoTzBsQlEyaEhMRWxCUVVrc1IwRkJSeXhIUVVGSExGZEJRVmNzUTBGQlF5eFhRVUZYTEVOQlFVTXNUVUZCVFN4SFFVRkRMRU5CUVVNc1EwRkJRenRSUVVONlF5eFBRVUZQTzBsQlJWUXNUVUZCVFN4WFFVRlhMRWRCUVVjc1YwRkJWeXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlF6RkVMRmRCUVZjc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF6dEpRVU5zUWl4WFFVRlhMRU5CUVVNc1RVRkJUU3hEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRlRU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRPMGxCUTJRc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXl4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRM2hETEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1dVRkJXU3hEUVVGRExGZEJRWEZDTEVWQlFVVXNUMEZCYVVJc1JVRkJSU3hIUVVGWExFVkJRVVVzUzBGQllUdEpRVU12Uml4SlFVRkpMRWRCUVVjc1IwRkJSeXhYUVVGWExFTkJRVU1zVjBGQlZ5eERRVUZETEUxQlFVMHNSMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRla01zVDBGQlR6dEpRVVZVTEUxQlFVMHNWMEZCVnl4SFFVRkhMRmRCUVZjc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU14UkN4WFFVRlhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU03U1VGRGJFSXNWMEZCVnl4RFFVRkRMRTFCUVUwc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTNoRExFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVTmtMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVONFF5eERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMSE5DUVVGelFpeERRVU53UXl4cFFrRkJORU1zUlVGQlJTeFBRVUZwUWp0SlFVVXZSQ3hSUVVGUkxHbENRVUZwUWl4RlFVRkZPMUZCUTNwQ0xFdEJRVXNzTUVKQlFUQkNMRU5CUVVNc1UwRkJVenRaUVVOMlF5eFBRVUZQTEVOQlFVTXNSVUZCV1N4RlFVRkZMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNKR08xbEJRMFVzVDBGQlR5eERRVUZETEVWQlFWa3NSVUZCUlN4RlFVRkZPMmRDUVVOMFFpeFpRVUZaTzJkQ1FVTmFMRTFCUVUwc1IwRkJSeXhIUVVGSExFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZETjBVc1QwRkJUeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUTNoQ0xFTkJRVU1zUTBGQlF6dExRVU5NTzBGQlEwZ3NRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN1JHbHpkR0Z1WTJWQloyZHlaV2RoZEdsdmJrMWxkR2h2WkN3Z1JHbHpkR0Z1WTJWQloyZHlaV2RoZEdsdmJrMWxkR2h2WkhOOUlHWnliMjBnSnk0dmRIbHdaWE1uTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnYVhOT2FXd2dQU0FvZURvZ1lXNTVLU0E5UGlCNElEMDlQU0J1ZFd4c0lIeDhJSGdnUFQwOUlIVnVaR1ZtYVc1bFpEdGNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2x1YzJWeWRGTnRZV3hzWlhJb1pHbHpkR0Z1WTJWelFYSTZJRzUxYldKbGNsdGRMQ0JwYm1SbGVHVnpPaUJ1ZFcxaVpYSmJYU3dnYm5WdE9pQnVkVzFpWlhJc0lHbHVaR1Y0T2lCdWRXMWlaWElwSUh0Y2JpQWdhV1lnS0c1MWJTQStJR1JwYzNSaGJtTmxjMEZ5VzJScGMzUmhibU5sYzBGeUxteGxibWQwYUMweFhTbGNiaUFnSUNCeVpYUjFjbTQ3WEc1Y2JpQWdZMjl1YzNRZ2JtVjNVRzl6YVhScGIyNGdQU0JrYVhOMFlXNWpaWE5CY2k1bWFXNWtTVzVrWlhnb0tIWXBJRDArSUc1MWJTQThJSFlwTzF4dUlDQmthWE4wWVc1alpYTkJjaTV3YjNBb0tUdGNiaUFnWkdsemRHRnVZMlZ6UVhJdWMzQnNhV05sS0c1bGQxQnZjMmwwYVc5dUxDQXdMQ0J1ZFcwcE8xeHVJQ0JwYm1SbGVHVnpMbkJ2Y0NncE8xeHVJQ0JwYm1SbGVHVnpMbk53YkdsalpTaHVaWGRRYjNOcGRHbHZiaXdnTUN3Z2FXNWtaWGdwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhVzV6WlhKMFRHRnlaMlZ5S0dScGMzUmhibU5sYzBGeU9pQnVkVzFpWlhKYlhTd2dhVzVrWlhobGN6b2diblZ0WW1WeVcxMHNJRzUxYlRvZ2JuVnRZbVZ5TENCcGJtUmxlRG9nYm5WdFltVnlLU0I3WEc0Z0lHbG1JQ2h1ZFcwZ1BDQmthWE4wWVc1alpYTkJjbHRrYVhOMFlXNWpaWE5CY2k1c1pXNW5kR2d0TVYwcFhHNGdJQ0FnY21WMGRYSnVPMXh1WEc0Z0lHTnZibk4wSUc1bGQxQnZjMmwwYVc5dUlEMGdaR2x6ZEdGdVkyVnpRWEl1Wm1sdVpFbHVaR1Y0S0NoMktTQTlQaUJ1ZFcwZ1BpQjJLVHRjYmlBZ1pHbHpkR0Z1WTJWelFYSXVjRzl3S0NrN1hHNGdJR1JwYzNSaGJtTmxjMEZ5TG5Od2JHbGpaU2h1WlhkUWIzTnBkR2x2Yml3Z01Dd2diblZ0S1R0Y2JpQWdhVzVrWlhobGN5NXdiM0FvS1R0Y2JpQWdhVzVrWlhobGN5NXpjR3hwWTJVb2JtVjNVRzl6YVhScGIyNHNJREFzSUdsdVpHVjRLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZGxkRUZuWjNKbFoyRjBhVzl1Um5WdVkzUnBiMjRvWEc0Z0lHRm5aM0psWjJGMGFXOXVUV1YwYUc5a09pQkVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a0xDQjNaV2xuYUhSek9pQnVkVzFpWlhKYlhWeHVLVG9nS0haaGJIVmxjem9nYm5WdFltVnlXMTBwSUQwK0lHNTFiV0psY2lCN1hHNGdJSE4zYVhSamFDQW9ZV2RuY21WbllYUnBiMjVOWlhSb2IyUXBJSHRjYmlBZ0lDQmpZWE5sSUVScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlJ6TGsxQlRraEJWRlJCVGpwY2JpQWdJQ0FnSUhKbGRIVnliaUFvZG5NNklHNTFiV0psY2x0ZEtTQTlQaUIyY3k1eVpXUjFZMlVvS0dGall5d2dkbUZzTENCcFpIZ3BJRDArSUdGall5QXJJSFpoYkNBcUlIZGxhV2RvZEhOYmFXUjRYU3dnTUNrN1hHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEpsZEhWeWJpQW9kbk02SUc1MWJXSmxjbHRkS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQzh2SUdWMVkyeHBaR1ZoYmx4dUlDQWdJQ0FnSUNCamIyNXpkQ0J6ZFcwZ1BTQjJjeTV5WldSMVkyVW9LR0ZqWXl3Z2RtRnNMQ0JwWkhncElEMCtJR0ZqWXlBcklDaDJZV3dnS2lCM1pXbG5hSFJ6VzJsa2VGMHBJQ29xSURJc0lEQXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdUV0YwYUM1emNYSjBLSE4xYlNrN1hHNGdJQ0FnSUNCOU8xeHVJQ0I5WEc1OVhHNGlYWDA9IiwiaW1wb3J0ICogYXMgZ3JvayBmcm9tICdkYXRhZ3Jvay1hcGkvZ3Jvayc7XG5pbXBvcnQgKiBhcyB1aSBmcm9tICdkYXRhZ3Jvay1hcGkvdWknO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbmltcG9ydCB7IEJZUEFTU19MQVJHRV9EQVRBX1dBUk5JTkcsIFNIT1dfU0NBVFRFUlBMT1RfUFJPR1JFU1MgfSBmcm9tICcuLi9mdW5jdGlvbkVkaXRvcnMvY29uc3RzJztcbmltcG9ydCB7IGdldERic2NhbldvcmtlciB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvbWF0aCc7XG5pbXBvcnQgeyBESU1FTlNJT05BTElUWV9SRURVQ0VSX1RFUk1JTkFURV9FVkVOVCB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7IGdldE5vcm1hbGl6ZWRFbWJlZGRpbmdzIH0gZnJvbSAnLi9lbWJlZGRpbmdzLXNwYWNlJztcbmV4cG9ydCBmdW5jdGlvbiBnZXRFbWJlZGRpbmdDb2xzTmFtZXMoZGYpIHtcbiAgICBjb25zdCBheGVzID0gWydFbWJlZF9YJywgJ0VtYmVkX1knXTtcbiAgICBjb25zdCBjb2xOYW1lSW5kID0gZGYuY29sdW1ucy5uYW1lcygpLmZpbHRlcigoaXQpID0+IGl0LmluY2x1ZGVzKGF4ZXNbMF0pKS5sZW5ndGggKyAxO1xuICAgIHJldHVybiBheGVzLm1hcCgoaXQpID0+IGAke2l0fV8ke2NvbE5hbWVJbmR9YCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RW1iZWRkaW5nVmlld2VyTmFtZShjb2x1bW5zLCBtZXRob2QpIHtcbiAgICBjb25zdCBjb2xOYW1lcyA9IGNvbHVtbnMubGVuZ3RoID4gNCA/IGAke2NvbHVtbnMubGVuZ3RofSBjb2x1bW5zYCA6IGNvbHVtbnMubWFwKChpdCkgPT4gaXQubmFtZSkuam9pbignLCAnKTtcbiAgICByZXR1cm4gYCR7bWV0aG9kfSAoJHtjb2xOYW1lc30pYDtcbn1cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtdWx0aUNvbFJlZHVjZURpbWVuc2lvbmFsaXR5KHRhYmxlLCBjb2x1bW5zLCBtZXRob2QsIG1ldHJpY3MsIHdlaWdodHMsIHByZXByb2Nlc3NpbmdGdW5jdGlvbnMsIGFnZ3JlZ2F0aW9uTWV0aG9kLCBwbG90RW1iZWRkaW5ncyA9IHRydWUsIGNsdXN0ZXJFbWJlZGRpbmdzID0gZmFsc2UsIGRpbVJlZE9wdGlvbnMgPSB7IHByZXByb2Nlc3NpbmdGdW5jQXJnczogW10gfSwgdWlPcHRpb25zID0ge30sIHBvc3RQcm9jZXNzaW5nRnVuYyA9IG51bGwsIHBvc3RQcm9jRnVuY0FyZ3MgPSB7fSkge1xuICAgIGNvbnN0IHNjYXR0ZXJQbG90UHJvcHMgPSB7XG4gICAgICAgIHNob3dYQXhpczogZmFsc2UsXG4gICAgICAgIHNob3dZQXhpczogZmFsc2UsXG4gICAgICAgIHNob3dYU2VsZWN0b3I6IGZhbHNlLFxuICAgICAgICBzaG93WVNlbGVjdG9yOiBmYWxzZSxcbiAgICB9O1xuICAgIGlmIChjb2x1bW5zLmxlbmd0aCAhPT0gbWV0cmljcy5sZW5ndGggfHwgY29sdW1ucy5sZW5ndGggIT09IHByZXByb2Nlc3NpbmdGdW5jdGlvbnMubGVuZ3RoIHx8XG4gICAgICAgIGNvbHVtbnMubGVuZ3RoICE9PSB3ZWlnaHRzLmxlbmd0aCB8fCBjb2x1bW5zLmxlbmd0aCAhPT0gZGltUmVkT3B0aW9ucy5wcmVwcm9jZXNzaW5nRnVuY0FyZ3MubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignY29sdW1ucywgbWV0cmljcyBhbmQgcHJlcHJvY2Vzc2luZyBmdW5jdGlvbnMsIHdlaWdodHMgYW5kIGZ1bmN0aW9uIGFyZ3VtZW50cycgK1xuICAgICAgICAgICAgJ211c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGgnKTtcbiAgICB9XG4gICAgY29uc3QgdHYgPSBwbG90RW1iZWRkaW5ncyA/IGdyb2suc2hlbGwudGFibGVWaWV3KHRhYmxlLm5hbWUpID8/IGdyb2suc2hlbGwuYWRkVGFibGVWaWV3KHRhYmxlKSA6IG51bGw7XG4gICAgY29uc3QgZG9SZWR1Y2UgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBnID0gREcuVGFza0JhclByb2dyZXNzSW5kaWNhdG9yLmNyZWF0ZShgSW5pdGlhbGl6aW5nICR7dWlPcHRpb25zLnNjYXR0ZXJQbG90TmFtZSA/PyAnZGltZW5zaW9uYWxpdHkgcmVkdWN0aW9uJ30gLi4uYCk7XG4gICAgICAgIGxldCBzY2F0dGVyUGxvdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGVtYmVkQ29sc05hbWVzID0gZ2V0RW1iZWRkaW5nQ29sc05hbWVzKHRhYmxlKTtcbiAgICAgICAgICAgIGZ1bmN0aW9uIHByb2dyZXNzRnVuYyhfbkVwb2NoLCBlcG9jaHNMZW5ndGgsIGVtYmVkZGluZ3MpIHtcbiAgICAgICAgICAgICAgICBsZXQgZW1iZWRYQ29sID0gbnVsbDtcbiAgICAgICAgICAgICAgICBsZXQgZW1iZWRZQ29sID0gbnVsbDtcbiAgICAgICAgICAgICAgICBpZiAoIXRhYmxlLmNvbHVtbnMubmFtZXMoKS5pbmNsdWRlcyhlbWJlZENvbHNOYW1lc1swXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZW1iZWRYQ29sID0gdGFibGUuY29sdW1ucy5hZGQoREcuQ29sdW1uLmZsb2F0KGVtYmVkQ29sc05hbWVzWzBdLCB0YWJsZS5yb3dDb3VudCkpO1xuICAgICAgICAgICAgICAgICAgICBlbWJlZFlDb2wgPSB0YWJsZS5jb2x1bW5zLmFkZChERy5Db2x1bW4uZmxvYXQoZW1iZWRDb2xzTmFtZXNbMV0sIHRhYmxlLnJvd0NvdW50KSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwbG90RW1iZWRkaW5ncyAmJiAhc2NhdHRlclBsb3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjYXR0ZXJQbG90ID0gdHZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2NhdHRlclBsb3QoeyAuLi5zY2F0dGVyUGxvdFByb3BzLCB4OiBlbWJlZENvbHNOYW1lc1swXSwgeTogZW1iZWRDb2xzTmFtZXNbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHVpT3B0aW9ucy5zY2F0dGVyUGxvdE5hbWUgPz8gZ2V0RW1iZWRkaW5nVmlld2VyTmFtZShjb2x1bW5zLCBtZXRob2QpIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBlbWJlZFhDb2wgPSB0YWJsZS5jb2x1bW5zLmJ5TmFtZShlbWJlZENvbHNOYW1lc1swXSk7XG4gICAgICAgICAgICAgICAgICAgIGVtYmVkWUNvbCA9IHRhYmxlLmNvbHVtbnMuYnlOYW1lKGVtYmVkQ29sc05hbWVzWzFdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHVpT3B0aW9uc1tTSE9XX1NDQVRURVJQTE9UX1BST0dSRVNTXSkge1xuICAgICAgICAgICAgICAgICAgICBzY2F0dGVyUGxvdD8ucm9vdCAmJiB1aS5zZXRVcGRhdGVJbmRpY2F0b3Ioc2NhdHRlclBsb3Qucm9vdCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICBlbWJlZFhDb2wuaW5pdCgoaSkgPT4gZW1iZWRkaW5nc1swXSA/IGVtYmVkZGluZ3NbMF1baV0gOiB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgICAgICBlbWJlZFlDb2wuaW5pdCgoaSkgPT4gZW1iZWRkaW5nc1sxXSA/IGVtYmVkZGluZ3NbMV1baV0gOiB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBwcm9ncmVzcyA9IChfbkVwb2NoIC8gZXBvY2hzTGVuZ3RoICogMTAwKTtcbiAgICAgICAgICAgICAgICBwZy51cGRhdGUocHJvZ3Jlc3MsIGBSdW5uaW5nICR7dWlPcHRpb25zLnNjYXR0ZXJQbG90TmFtZSA/PyAnZGltZW5zaW9uYWxpdHkgcmVkdWN0aW9uJ30uLi4gJHtwcm9ncmVzcy50b0ZpeGVkKDApfSVgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGdldERpbVJlZCgpIHtcbiAgICAgICAgICAgICAgICB0YWJsZS5jb2x1bW5zLmFkZChERy5Db2x1bW4uZmxvYXQoZW1iZWRDb2xzTmFtZXNbMF0sIHRhYmxlLnJvd0NvdW50KSk7XG4gICAgICAgICAgICAgICAgdGFibGUuY29sdW1ucy5hZGQoREcuQ29sdW1uLmZsb2F0KGVtYmVkQ29sc05hbWVzWzFdLCB0YWJsZS5yb3dDb3VudCkpO1xuICAgICAgICAgICAgICAgIGxldCByZXNvbHZlRiA9IG51bGw7XG4gICAgICAgICAgICAgICAgaWYgKHBsb3RFbWJlZGRpbmdzKSB7XG4gICAgICAgICAgICAgICAgICAgIHNjYXR0ZXJQbG90ID0gdHZcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zY2F0dGVyUGxvdCh7IC4uLnNjYXR0ZXJQbG90UHJvcHMsIHg6IGVtYmVkQ29sc05hbWVzWzBdLCB5OiBlbWJlZENvbHNOYW1lc1sxXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB1aU9wdGlvbnMuc2NhdHRlclBsb3ROYW1lID8/IGdldEVtYmVkZGluZ1ZpZXdlck5hbWUoY29sdW1ucywgbWV0aG9kKSB9KTtcbiAgICAgICAgICAgICAgICAgICAgdWkuc2V0VXBkYXRlSW5kaWNhdG9yKHNjYXR0ZXJQbG90LnJvb3QsIHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBzdWIgPSBncm9rLmV2ZW50cy5vblZpZXdlckNsb3NlZC5zdWJzY3JpYmUoKGFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdiA9IGFyZ3MuYXJncy52aWV3ZXI7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2Py5nZXRPcHRpb25zKCk/Lmxvb2s/LnRpdGxlICYmIHNjYXR0ZXJQbG90Py5nZXRPcHRpb25zKCk/Lmxvb2s/LnRpdGxlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB2Py5nZXRPcHRpb25zKCk/Lmxvb2s/LnRpdGxlID09PSBzY2F0dGVyUGxvdD8uZ2V0T3B0aW9ucygpPy5sb29rPy50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3Jvay5ldmVudHMuZmlyZUN1c3RvbUV2ZW50KERJTUVOU0lPTkFMSVRZX1JFRFVDRVJfVEVSTUlOQVRFX0VWRU5ULCB7fSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVGPy4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBnLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBkaW1SZWRSZXNQcm9taXNlID0gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUYgPSByZXNvbHZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5jb2RlZENvbEVudHJpZXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJlcHJvY2Vzc2luZ0Z1bmN0aW9ucy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBmID0gcHJlcHJvY2Vzc2luZ0Z1bmN0aW9uc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWRpbVJlZE9wdGlvbnMuZGlzdGFuY2VGbkFyZ3MpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpbVJlZE9wdGlvbnMuZGlzdGFuY2VGbkFyZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sSW5wdXROYW1lID0gcGYuaW5wdXRzWzBdLm5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1ldHJpY0lucHV0TmFtZSA9IHBmLmlucHV0c1sxXS5uYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGVudHJpZXMsIG9wdGlvbnMgfSA9IGF3YWl0IHBmLmFwcGx5KHsgW2NvbElucHV0TmFtZV06IGNvbHVtbnNbaV0sIFttZXRyaWNJbnB1dE5hbWVdOiBtZXRyaWNzW2ldLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uKGRpbVJlZE9wdGlvbnMucHJlcHJvY2Vzc2luZ0Z1bmNBcmdzW2ldID8/IHt9KSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlZENvbEVudHJpZXMucHVzaCh7IGVudHJpZXMsIG9wdGlvbnMgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpbVJlZE9wdGlvbnMuZGlzdGFuY2VGbkFyZ3MucHVzaChvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudHJpZXMgPSBjb2x1bW5zW2ldLnRvTGlzdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0ge307XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZWRDb2xFbnRyaWVzLnB1c2goeyBlbnRyaWVzLCBvcHRpb25zIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaW1SZWRPcHRpb25zLmRpc3RhbmNlRm5BcmdzLnB1c2gob3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0Tm9ybWFsaXplZEVtYmVkZGluZ3MoZW5jb2RlZENvbEVudHJpZXMubWFwKChpdCkgPT4gaXQuZW50cmllcyksIG1ldGhvZCwgbWV0cmljcywgd2VpZ2h0cywgYWdncmVnYXRpb25NZXRob2QsIGRpbVJlZE9wdGlvbnMsIHVpT3B0aW9uc1tCWVBBU1NfTEFSR0VfREFUQV9XQVJOSU5HXSA/IHVuZGVmaW5lZCA6IHByb2dyZXNzRnVuYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGRpbVJlZFJlc1Byb21pc2U7XG4gICAgICAgICAgICAgICAgcGcuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0RGltUmVkKCk7XG4gICAgICAgICAgICBpZiAoY2x1c3RlckVtYmVkZGluZ3MgJiYgcmVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2x1c3RlclBnID0gREcuVGFza0JhclByb2dyZXNzSW5kaWNhdG9yLmNyZWF0ZShgQ2x1c3RlcmluZyBlbWJlZGRpbmdzIC4uLmApO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsdXN0ZXJSZXMgPSBhd2FpdCBnZXREYnNjYW5Xb3JrZXIocmVzWzBdLCByZXNbMV0sIGRpbVJlZE9wdGlvbnMuZGJTY2FuRXBzaWxvbiA/PyAwLjAxLCBkaW1SZWRPcHRpb25zLmRiU2Nhbk1pblB0cyA/PyA0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2x1c3RlckNvbE5hbWUgPSB0YWJsZS5jb2x1bW5zLmdldFVudXNlZE5hbWUoJ0NsdXN0ZXIgKERCU0NBTiknKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2x1c3RlckNvbCA9IHRhYmxlLmNvbHVtbnMuYWRkTmV3U3RyaW5nKGNsdXN0ZXJDb2xOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgY2x1c3RlckNvbC5pbml0KChpKSA9PiBjbHVzdGVyUmVzW2ldLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2NhdHRlclBsb3QpXG4gICAgICAgICAgICAgICAgICAgICAgICBzY2F0dGVyUGxvdC5wcm9wcy5jb2xvckNvbHVtbk5hbWUgPSBjbHVzdGVyQ29sTmFtZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3Jvay5zaGVsbC5lcnJvcignQ2x1c3RlcmluZyBlbWJlZGRpbmdzIGZhaWxlZCcpO1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICAgICAgY2x1c3RlclBnLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVtYmVkWENvbCA9IHRhYmxlLmNvbHVtbnMuYnlOYW1lKGVtYmVkQ29sc05hbWVzWzBdKTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbWJlZFlDb2wgPSB0YWJsZS5jb2x1bW5zLmJ5TmFtZShlbWJlZENvbHNOYW1lc1sxXSk7XG4gICAgICAgICAgICAgICAgZW1iZWRYQ29sLmluaXQoKGkpID0+IHJlc1swXVtpXSk7XG4gICAgICAgICAgICAgICAgZW1iZWRZQ29sLmluaXQoKGkpID0+IHJlc1sxXVtpXSk7XG4gICAgICAgICAgICAgICAgaWYgKHBvc3RQcm9jZXNzaW5nRnVuYykge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sMUlucHV0TmFtZSA9IHBvc3RQcm9jZXNzaW5nRnVuYy5pbnB1dHNbMF0ubmFtZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbDJJbnB1dE5hbWUgPSBwb3N0UHJvY2Vzc2luZ0Z1bmMuaW5wdXRzWzFdLm5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBwb3N0UHJvY2Vzc2luZ0Z1bmNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJlcGFyZSh7IFtjb2wxSW5wdXROYW1lXTogZW1iZWRYQ29sLCBbY29sMklucHV0TmFtZV06IGVtYmVkWUNvbCwgLi4ucG9zdFByb2NGdW5jQXJncyB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYWxsKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncm9rLnNoZWxsLmVycm9yKCdQb3N0LXByb2Nlc3NpbmcgZmFpbGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChzY2F0dGVyUGxvdCkge1xuICAgICAgICAgICAgICAgICAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3Ioc2NhdHRlclBsb3Qucm9vdCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICBzY2F0dGVyUGxvdC5oZWxwVXJsID0gJy9oZWxwL2NvbXB1dGUvc2VxdWVuY2Utc3BhY2UnO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2NhdHRlclBsb3Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBncm9rLnNoZWxsLmVycm9yKCdEaW1lbnNpb25hbGl0eSByZWR1Y3Rpb24gZmFpbGVkJyk7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgcGcuY2xvc2UoKTtcbiAgICAgICAgICAgIGlmIChzY2F0dGVyUGxvdClcbiAgICAgICAgICAgICAgICB1aS5zZXRVcGRhdGVJbmRpY2F0b3Ioc2NhdHRlclBsb3Qucm9vdCwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHVpT3B0aW9ucy5mYXN0Um93Q291bnQgJiYgdGFibGUucm93Q291bnQgPiB1aU9wdGlvbnMuZmFzdFJvd0NvdW50ICYmICF1aU9wdGlvbnNbQllQQVNTX0xBUkdFX0RBVEFfV0FSTklOR10pIHtcbiAgICAgICAgICAgICAgICB1aS5kaWFsb2coKVxuICAgICAgICAgICAgICAgICAgICAuYWRkKHVpLmRpdlRleHQoJ0FuYWx5c2lzIG1pZ2h0IHRha2Ugc2V2ZXJhbCBtaW51dGVzLiBEbyB5b3Ugd2FudCB0byBjb250aW51ZT8nKSlcbiAgICAgICAgICAgICAgICAgICAgLm9uT0soYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZG9SZWR1Y2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLm9uQ2FuY2VsKCgpID0+IHJlc29sdmUodW5kZWZpbmVkKSlcbiAgICAgICAgICAgICAgICAgICAgLnNob3coKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGRvUmVkdWNlKCk7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShyZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWNtVmtkV05sTFdScGJXVnVjMmx2Ym1Gc2FYUjVMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaWNtVmtkV05sTFdScGJXVnVjMmx2Ym1Gc2FYUjVMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzUzBGQlN5eEpRVUZKTEUxQlFVMHNiVUpCUVcxQ0xFTkJRVU03UVVGRE1VTXNUMEZCVHl4TFFVRkxMRVZCUVVVc1RVRkJUU3hwUWtGQmFVSXNRMEZCUXp0QlFVTjBReXhQUVVGUExFdEJRVXNzUlVGQlJTeE5RVUZOTEdsQ1FVRnBRaXhEUVVGRE8wRkJSWFJETEU5QlFVOHNSVUZCUXl4NVFrRkJlVUlzUlVGQlJTeDVRa0ZCZVVJc1JVRkJReXhOUVVGTkxESkNRVUV5UWl4RFFVRkRPMEZCUlM5R0xFOUJRVThzUlVGQmFVSXNaVUZCWlN4RlFVRkRMRTFCUVUwc01FSkJRVEJDTEVOQlFVTTdRVUZEZWtVc1QwRkJUeXhGUVVGRExITkRRVUZ6UXl4RlFVRkRMRTFCUVUwc1ZVRkJWU3hEUVVGRE8wRkJSV2hGTEU5QlFVOHNSVUZCUXl4MVFrRkJkVUlzUlVGQlF5eE5RVUZOTEc5Q1FVRnZRaXhEUVVGRE8wRkJXVE5FTEUxQlFVMHNWVUZCVlN4eFFrRkJjVUlzUTBGQlF5eEZRVUZuUWp0SlFVTndSQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eERRVUZETEZOQlFWTXNSVUZCUlN4VFFVRlRMRU5CUVVNc1EwRkJRenRKUVVOd1F5eE5RVUZOTEZWQlFWVXNSMEZCUnl4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRVZCUVZVc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRPVVlzVDBGQlR5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVWQlFVVXNTVUZCU1N4VlFVRlZMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJRMnBFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2MwSkJRWE5DTEVOQlFVTXNUMEZCYjBJc1JVRkJSU3hOUVVFeVFqdEpRVU4wUml4TlFVRk5MRkZCUVZFc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkROVWNzVDBGQlR5eEhRVUZITEUxQlFVMHNTMEZCU3l4UlFVRlJMRWRCUVVjc1EwRkJRenRCUVVOdVF5eERRVUZETzBGQlJVUXNUVUZCVFN4RFFVRkRMRXRCUVVzc1ZVRkJWU3cwUWtGQk5FSXNRMEZCUXl4TFFVRnRRaXhGUVVGRkxFOUJRVzlDTEVWQlF6RkdMRTFCUVRKQ0xFVkJRVVVzVDBGQmRVSXNSVUZCUlN4UFFVRnBRaXhGUVVOMlJTeHpRa0ZCYzBRc1JVRkRkRVFzYVVKQlFUUkRMRVZCUVVVc2FVSkJRVEJDTEVsQlFVa3NSVUZCUlN4dlFrRkJOa0lzUzBGQlN5eEZRVU5vU0N4blFrRkRXU3hGUVVGRExIRkNRVUZ4UWl4RlFVRkZMRVZCUVVVc1JVRkJReXhGUVVOMlF5eFpRVUUyUWl4RlFVRkZMRVZCUVVVc2NVSkJRWEZETEVsQlFVa3NSVUZCUlN4dFFrRkJORUlzUlVGQlJUdEpRVU14Unl4TlFVRk5MR2RDUVVGblFpeEhRVUZITzFGQlEzWkNMRk5CUVZNc1JVRkJSU3hMUVVGTE8xRkJRMmhDTEZOQlFWTXNSVUZCUlN4TFFVRkxPMUZCUTJoQ0xHRkJRV0VzUlVGQlJTeExRVUZMTzFGQlEzQkNMR0ZCUVdFc1JVRkJSU3hMUVVGTE8wdEJRM0pDTEVOQlFVTTdTVUZEUml4SlFVRkpMRTlCUVU4c1EwRkJReXhOUVVGTkxFdEJRVXNzVDBGQlR5eERRVUZETEUxQlFVMHNTVUZCU1N4UFFVRlBMRU5CUVVNc1RVRkJUU3hMUVVGTExITkNRVUZ6UWl4RFFVRkRMRTFCUVUwN1VVRkRia1lzVDBGQlR5eERRVUZETEUxQlFVMHNTMEZCU3l4UFFVRlBMRU5CUVVNc1RVRkJUU3hKUVVGSkxFOUJRVThzUTBGQlF5eE5RVUZOTEV0QlFVc3NZVUZCWVN4RFFVRkRMSEZDUVVGeFFpeERRVUZETEUxQlFVMHNSVUZCUlR0UlFVTjRSeXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERoRlFVRTRSVHRaUVVNMVJpd3lRa0ZCTWtJc1EwRkJReXhEUVVGRE8wdEJRMmhETzBsQlJVUXNUVUZCVFN4RlFVRkZMRWRCUVVjc1kwRkJZeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhaUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJRenRKUVVWMFJ5eE5RVUZOTEZGQlFWRXNSMEZCUnl4TFFVRkxMRWxCUVVrc1JVRkJSVHRSUVVNeFFpeE5RVUZOTEVWQlFVVXNSMEZCUnl4RlFVRkZMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNUVUZCVFN4RFFVTXpReXhuUWtGQlowSXNVMEZCVXl4RFFVRkRMR1ZCUVdVc1NVRkJTU3d3UWtGQk1FSXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRha1lzU1VGQlNTeFhRVUZYTEVkQlFYRkRMRk5CUVZNc1EwRkJRenRSUVVNNVJDeEpRVUZKTzFsQlEwWXNUVUZCVFN4alFVRmpMRWRCUVVjc2NVSkJRWEZDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1dVRkRjRVFzVTBGQlV5eFpRVUZaTEVOQlFVTXNUMEZCWlN4RlFVRkZMRmxCUVc5Q0xFVkJRVVVzVlVGQmMwSTdaMEpCUTJwR0xFbEJRVWtzVTBGQlV5eEhRVUZ4UWl4SlFVRkpMRU5CUVVNN1owSkJRM1pETEVsQlFVa3NVMEZCVXl4SFFVRnhRaXhKUVVGSkxFTkJRVU03WjBKQlEzWkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRkZCUVZFc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlR0dlFrRkRkRVFzVTBGQlV5eEhRVUZITEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJRenR2UWtGRGJFWXNVMEZCVXl4SFFVRkhMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF6dHZRa0ZEYkVZc1NVRkJTU3hqUVVGakxFbEJRVWtzUTBGQlF5eFhRVUZYTEVWQlFVVTdkMEpCUTJ4RExGZEJRVmNzUjBGQlJ5eEZRVUZIT3paQ1FVTmtMRmRCUVZjc1EwRkJReXhGUVVGRExFZEJRVWNzWjBKQlFXZENMRVZCUVVVc1EwRkJReXhGUVVGRkxHTkJRV01zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1kwRkJZeXhEUVVGRExFTkJRVU1zUTBGQlF6czBRa0ZETTBVc1MwRkJTeXhGUVVGRkxGTkJRVk1zUTBGQlF5eGxRVUZsTEVsQlFVa3NjMEpCUVhOQ0xFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RlFVRkRMRU5CUVVNc1EwRkJRenR4UWtGRGJrWTdhVUpCUTBZN2NVSkJRVTA3YjBKQlEwd3NVMEZCVXl4SFFVRkhMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVU53UkN4VFFVRlRMRWRCUVVjc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03YVVKQlEzSkVPMmRDUVVWRUxFbEJRVWtzVTBGQlV5eERRVUZETEhsQ1FVRjVRaXhEUVVGRExFVkJRVVU3YjBKQlEzaERMRmRCUVZjc1JVRkJSU3hKUVVGSkxFbEJRVWtzUlVGQlJTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExGZEJRVmtzUTBGQlF5eEpRVUZKTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN2IwSkJRM0pGTEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0dlFrRkRjRVVzVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzJsQ1FVTnlSVHRuUWtGRFJDeE5RVUZOTEZGQlFWRXNSMEZCUnl4RFFVRkRMRTlCUVU4c1IwRkJSeXhaUVVGWkxFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdaMEpCUTJoRUxFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RlFVTm9RaXhYUVVGWExGTkJRVk1zUTBGQlF5eGxRVUZsTEVsQlFVa3NNRUpCUVRCQ0xFOUJRVThzVVVGQlVTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGNrY3NRMEZCUXp0WlFVTkVMRXRCUVVzc1ZVRkJWU3hUUVVGVE8yZENRVU4wUWl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlEzUkZMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZEZEVVc1NVRkJTU3hSUVVGUkxFZEJRVzlDTEVsQlFVa3NRMEZCUXp0blFrRkRja01zU1VGQlNTeGpRVUZqTEVWQlFVVTdiMEpCUTJ4Q0xGZEJRVmNzUjBGQlJ5eEZRVUZITzNsQ1FVTmtMRmRCUVZjc1EwRkJReXhGUVVGRExFZEJRVWNzWjBKQlFXZENMRVZCUVVVc1EwRkJReXhGUVVGRkxHTkJRV01zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1kwRkJZeXhEUVVGRExFTkJRVU1zUTBGQlF6dDNRa0ZETTBVc1MwRkJTeXhGUVVGRkxGTkJRVk1zUTBGQlF5eGxRVUZsTEVsQlFVa3NjMEpCUVhOQ0xFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RlFVRkRMRU5CUVVNc1EwRkJRenR2UWtGRGJFWXNSVUZCUlN4RFFVRkRMR3RDUVVGclFpeERRVUZETEZkQlFWY3NRMEZCUXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03YVVKQlF5OURPMmRDUVVWRUxFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlN4RlFVRkZPMjlDUVVONFJDeE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVzFETEVOQlFVTTdiMEpCUTNoRUxFbEJRVWtzUTBGQlF5eEZRVUZGTEZWQlFWVXNSVUZCUlN4RlFVRkZMRWxCUVVrc1JVRkJSU3hMUVVGTExFbEJRVWtzVjBGQlZ5eEZRVUZGTEZWQlFWVXNSVUZCUlN4RlFVRkZMRWxCUVVrc1JVRkJSU3hMUVVGTE8zZENRVU01UkN4RFFVRkRMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEV0QlFVc3NTMEZCU3l4WFFVRlhMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEV0QlFVc3NSVUZCUlR0M1FrRkRia1lzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4bFFVRmxMRU5CUVVNc2MwTkJRWE5ETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNN2QwSkJRM2hGTEVkQlFVY3NRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJRenQzUWtGRGJFSXNVVUZCVVN4RlFVRkZMRVZCUVVVc1EwRkJRenQzUWtGRFlpeEZRVUZGTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN2NVSkJRMW83WjBKQlEwZ3NRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJSVWdzVFVGQlRTeG5Ra0ZCWjBJc1IwRkJSeXhKUVVGSkxFOUJRVThzUTBGQmNVSXNTMEZCU3l4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzUlVGQlJUdHZRa0ZEYWtZc1NVRkJTVHQzUWtGRFJpeFJRVUZSTEVkQlFVY3NUMEZCVHl4RFFVRkRPM2RDUVVOdVFpeE5RVUZOTEdsQ1FVRnBRaXhIUVVGdFF5eEZRVUZGTEVOQlFVTTdkMEpCUXpkRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXh6UWtGQmMwSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVU3TkVKQlEzUkVMRTFCUVUwc1JVRkJSU3hIUVVGSExITkNRVUZ6UWl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE96UkNRVU55UXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExHTkJRV003WjBOQlF5OUNMR0ZCUVdFc1EwRkJReXhqUVVGakxFZEJRVWNzUlVGQlJTeERRVUZET3pSQ1FVTndReXhKUVVGSkxFVkJRVVVzUlVGQlJUdG5RMEZEVGl4TlFVRk5MRmxCUVZrc1IwRkJSeXhGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJRenRuUTBGRGRrTXNUVUZCVFN4bFFVRmxMRWRCUVVjc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNN1owTkJRekZETEUxQlFVMHNSVUZCUXl4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRExFZEJRM2hDTEUxQlFVMHNSVUZCUlN4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRExFTkJRVU1zV1VGQldTeERRVUZETEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zWlVGQlpTeERRVUZETEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJRenR2UTBGRGRrVXNSMEZCUnl4RFFVRkRMR0ZCUVdFc1EwRkJReXh4UWtGQmNVSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU1zUlVGQlF5eERRVUZETEVOQlFVTTdaME5CUTNSRUxHbENRVUZwUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRExFOUJRVThzUlVGQlJTeFBRVUZQTEVWQlFVTXNRMEZCUXl4RFFVRkRPMmREUVVNelF5eGhRVUZoTEVOQlFVTXNZMEZCWXl4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6czJRa0ZETlVNN2FVTkJRVTA3WjBOQlEwd3NUVUZCVFN4UFFVRlBMRWRCUVVjc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMmREUVVOd1F5eE5RVUZOTEU5QlFVOHNSMEZCUnl4RlFVRkZMRU5CUVVNN1owTkJRMjVDTEdsQ1FVRnBRaXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZETEU5QlFVOHNSVUZCUlN4UFFVRlBMRVZCUVVNc1EwRkJReXhEUVVGRE8yZERRVU16UXl4aFFVRmhMRU5CUVVNc1kwRkJZeXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXpzMlFrRkROVU03ZVVKQlEwWTdkMEpCUTBRc1RVRkJUU3hIUVVGSExFZEJRVWNzVFVGQlRTeDFRa0ZCZFVJc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRM3BHTEU5QlFVOHNSVUZCUlN4UFFVRlBMRVZCUVVVc2FVSkJRV2xDTEVWQlFVVXNZVUZCWVN4RlFVTnNSQ3hUUVVGVExFTkJRVU1zZVVKQlFYbENMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenQzUWtGRGJrVXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8zRkNRVU5rTzI5Q1FVRkRMRTlCUVU4c1EwRkJReXhGUVVGRk8zZENRVU5XTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenR4UWtGRFdEdG5Ra0ZEU0N4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRFNDeE5RVUZOTEVkQlFVY3NSMEZCUnl4TlFVRk5MR2RDUVVGblFpeERRVUZETzJkQ1FVTnVReXhGUVVGRkxFTkJRVU1zUzBGQlN5eEZRVUZGTEVOQlFVTTdaMEpCUTFnc1IwRkJSeXhEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETzJkQ1FVTnNRaXhQUVVGUExFZEJRVWNzUTBGQlF6dFpRVU5pTEVOQlFVTTdXVUZEUkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhOUVVGTkxGTkJRVk1zUlVGQlJTeERRVUZETzFsQlJUbENMRWxCUVVrc2FVSkJRV2xDTEVsQlFVa3NSMEZCUnl4RlFVRkZPMmRDUVVNMVFpeE5RVUZOTEZOQlFWTXNSMEZCUnl4RlFVRkZMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNUVUZCVFN4RFFVRkRMREpDUVVFeVFpeERRVUZETEVOQlFVTTdaMEpCUTJ4R0xFbEJRVWs3YjBKQlEwWXNUVUZCVFN4VlFVRlZMRWRCUVVjc1RVRkJUU3hsUVVGbExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGRGNrUXNZVUZCWVN4RFFVRkRMR0ZCUVdFc1NVRkJTU3hKUVVGSkxFVkJRVVVzWVVGQllTeERRVUZETEZsQlFWa3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJRenR2UWtGRGVFVXNUVUZCVFN4alFVRmpMRWRCUVVjc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eGhRVUZoTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUTBGQlF6dHZRa0ZEZGtVc1RVRkJUU3hWUVVGVkxFZEJRVWNzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4WlFVRlpMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU03YjBKQlF6bEVMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4RFFVRkRPMjlDUVVOcVJDeEpRVUZKTEZkQlFWYzdkMEpCUTFvc1YwRkJiME1zUTBGQlF5eExRVUZMTEVOQlFVTXNaVUZCWlN4SFFVRkhMR05CUVdNc1EwRkJRenRwUWtGRGFFWTdaMEpCUVVNc1QwRkJUeXhEUVVGRExFVkJRVVU3YjBKQlExWXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zT0VKQlFUaENMRU5CUVVNc1EwRkJRenR2UWtGRGFrUXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dHBRa0ZEYkVJN2QwSkJRVk03YjBKQlExSXNVMEZCVXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRE8ybENRVU51UWp0aFFVTkdPMWxCUTBRc1NVRkJTU3hIUVVGSExFVkJRVVU3WjBKQlExQXNUVUZCVFN4VFFVRlRMRWRCUVVjc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlF6RkVMRTFCUVUwc1UwRkJVeXhIUVVGSExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTXhSQ3hUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRGFrTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdaMEpCUTJwRExFbEJRVWtzYTBKQlFXdENMRVZCUVVVN2IwSkJRM1JDTEVsQlFVazdkMEpCUTBZc1RVRkJUU3hoUVVGaExFZEJRVWNzYTBKQlFXdENMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXp0M1FrRkRlRVFzVFVGQlRTeGhRVUZoTEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJRenQzUWtGRGVFUXNUVUZCVFN4clFrRkJhMEk3TmtKQlEzSkNMRTlCUVU4c1EwRkJReXhGUVVGRExFTkJRVU1zWVVGQllTeERRVUZETEVWQlFVVXNVMEZCVXl4RlFVRkZMRU5CUVVNc1lVRkJZU3hEUVVGRExFVkJRVVVzVTBGQlV5eEZRVUZGTEVkQlFVY3NaMEpCUVdkQ0xFVkJRVU1zUTBGQlF6czJRa0ZEZEVZc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzNGQ1FVTm1PMjlDUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTzNkQ1FVTldMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEhkQ1FVRjNRaXhEUVVGRExFTkJRVU03ZDBKQlF6TkRMRTlCUVU4c1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdjVUpCUTJ4Q08ybENRVU5HTzJkQ1FVTkVMRWxCUVVrc1YwRkJWeXhGUVVGRk8yOUNRVU5tTEVWQlFVVXNRMEZCUXl4clFrRkJhMElzUTBGQlJTeFhRVUZ2UXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dHZRa0ZEZUVVc1YwRkJiME1zUTBGQlF5eFBRVUZQTEVkQlFVY3NPRUpCUVRoQ0xFTkJRVU03YjBKQlF5OUZMRTlCUVU4c1YwRkJiVU1zUTBGQlF6dHBRa0ZETlVNN1lVRkRSanRUUVVOR08xRkJRVU1zVDBGQlR5eERRVUZETEVWQlFVVTdXVUZEVml4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eHBRMEZCYVVNc1EwRkJReXhEUVVGRE8xbEJRM0JFTEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGFrSXNSVUZCUlN4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRE8xbEJRMWdzU1VGQlNTeFhRVUZYTzJkQ1FVTmlMRVZCUVVVc1EwRkJReXhyUWtGQmEwSXNRMEZCUlN4WFFVRnZReXhEUVVGRExFbEJRVWtzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0VFFVTTFSVHRKUVVOSUxFTkJRVU1zUTBGQlF6dEpRVU5HTEU5QlFVOHNTVUZCU1N4UFFVRlBMRU5CUVcxRExFdEJRVXNzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRVZCUVVVN1VVRkROMFVzU1VGQlNUdFpRVU5HTEVsQlFVa3NVMEZCVXl4RFFVRkRMRmxCUVZrc1NVRkJTU3hMUVVGTExFTkJRVU1zVVVGQlVTeEhRVUZITEZOQlFWTXNRMEZCUXl4WlFVRlpMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zZVVKQlFYbENMRU5CUVVNc1JVRkJSVHRuUWtGRE9VY3NSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSVHR4UWtGRFVpeEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRTlCUVU4c1EwRkJReXdyUkVGQkswUXNRMEZCUXl4RFFVRkRPM0ZDUVVOb1JpeEpRVUZKTEVOQlFVTXNTMEZCU3l4SlFVRkpMRVZCUVVVN2IwSkJRMllzU1VGQlNUdDNRa0ZEUml4TlFVRk5MRWRCUVVjc1IwRkJSeXhOUVVGTkxGRkJRVkVzUlVGQlJTeERRVUZETzNkQ1FVTTNRaXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdjVUpCUTJRN2IwSkJRVU1zVDBGQlR5eERRVUZETEVWQlFVVTdkMEpCUTFZc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzNGQ1FVTllPMmRDUVVOSUxFTkJRVU1zUTBGQlF6dHhRa0ZEUkN4UlFVRlJMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVDBGQlR5eERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPM0ZDUVVOc1F5eEpRVUZKTEVWQlFVVXNRMEZCUXp0aFFVTllPMmxDUVVGTk8yZENRVU5NTEUxQlFVMHNSMEZCUnl4SFFVRkhMRTFCUVUwc1VVRkJVU3hGUVVGRkxFTkJRVU03WjBKQlF6ZENMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dGhRVU5rTzFOQlEwWTdVVUZCUXl4UFFVRlBMRU5CUVVNc1JVRkJSVHRaUVVOV0xFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0VFFVTllPMGxCUTBnc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRFRDeERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUNvZ1lYTWdaM0p2YXlCbWNtOXRJQ2RrWVhSaFozSnZheTFoY0drdlozSnZheWM3WEc1cGJYQnZjblFnS2lCaGN5QjFhU0JtY205dElDZGtZWFJoWjNKdmF5MWhjR2t2ZFdrbk8xeHVhVzF3YjNKMElDb2dZWE1nUkVjZ1puSnZiU0FuWkdGMFlXZHliMnN0WVhCcEwyUm5KenRjYm1sdGNHOXlkQ0I3UzI1dmQyNU5aWFJ5YVdOemZTQm1jbTl0SUNjdUxpOTBlWEJsWkMxdFpYUnlhV056Snp0Y2JtbHRjRzl5ZENCN1FsbFFRVk5UWDB4QlVrZEZYMFJCVkVGZlYwRlNUa2xPUnl3Z1UwaFBWMTlUUTBGVVZFVlNVRXhQVkY5UVVrOUhVa1ZUVTMwZ1puSnZiU0FuTGk0dlpuVnVZM1JwYjI1RlpHbDBiM0p6TDJOdmJuTjBjeWM3WEc1cGJYQnZjblFnZTAxaGRISnBlQ3dnVDNCMGFXOXVjMzBnWm5KdmJTQW5RR1JoZEdGbmNtOXJMV3hwWW5KaGNtbGxjeTkxZEdsc2N5OXpjbU12ZEhsd1pTMWtaV05zWVhKaGRHbHZibk1uTzF4dWFXMXdiM0owSUh0SlJFSlRZMkZ1VDNCMGFXOXVjeXdnWjJWMFJHSnpZMkZ1VjI5eWEyVnlmU0JtY205dElDZEFaR0YwWVdkeWIyc3RiR2xpY21GeWFXVnpMMjFoZEdnbk8xeHVhVzF3YjNKMElIdEVTVTFGVGxOSlQwNUJURWxVV1Y5U1JVUlZRMFZTWDFSRlVrMUpUa0ZVUlY5RlZrVk9WSDBnWm5KdmJTQW5MaTlqYjI1emRITW5PMXh1YVcxd2IzSjBJSHRRY21Wd2NtOWpaWE56Um5WdVkzUnBiMjVTWlhSMWNtNVVlWEJsZlNCbWNtOXRJQ2N1TGk5bWRXNWpkR2x2YmtWa2FYUnZjbk12WkdsdFpXNXphVzl1WVd4cGRIa3RjbVZrZFdOMGFXOXVMV1ZrYVhSdmNpYzdYRzVwYlhCdmNuUWdlMmRsZEU1dmNtMWhiR2w2WldSRmJXSmxaR1JwYm1kemZTQm1jbTl0SUNjdUwyVnRZbVZrWkdsdVozTXRjM0JoWTJVbk8xeHVhVzF3YjNKMElIdEVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a2ZTQm1jbTl0SUNjdUxpOWthWE4wWVc1alpTMXRZWFJ5YVhndmRIbHdaWE1uTzF4dWFXMXdiM0owSUh0SlZGTk9SVTl3ZEdsdmJuTXNJRWxWVFVGUVQzQjBhVzl1YzMwZ1puSnZiU0FuTGk5dGRXeDBhUzFqYjJ4MWJXNHRaR2x0TFhKbFpIVmpaWEluTzF4dWFXMXdiM0owSUh0RWFXMVNaV1IxWTNScGIyNU5aWFJvYjJSemZTQm1jbTl0SUNjdUwzUjVjR1Z6Snp0Y2JseHVaWGh3YjNKMElIUjVjR1VnUkdsdFVtVmtWV2xQY0hScGIyNXpJRDBnZTF4dUlDQWdJRnRDV1ZCQlUxTmZURUZTUjBWZlJFRlVRVjlYUVZKT1NVNUhYVDg2SUdKdmIyeGxZVzRzWEc0Z0lDQWdXMU5JVDFkZlUwTkJWRlJGVWxCTVQxUmZVRkpQUjFKRlUxTmRQem9nWW05dmJHVmhiaXhjYmlBZ0lDQm1ZWE4wVW05M1EyOTFiblEvT2lCdWRXMWlaWElzWEc0Z0lDQWdjMk5oZEhSbGNsQnNiM1JPWVcxbFB6b2djM1J5YVc1bkxGeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjJWMFJXMWlaV1JrYVc1blEyOXNjMDVoYldWektHUm1PaUJFUnk1RVlYUmhSbkpoYldVcElIdGNiaUFnWTI5dWMzUWdZWGhsY3lBOUlGc25SVzFpWldSZldDY3NJQ2RGYldKbFpGOVpKMTA3WEc0Z0lHTnZibk4wSUdOdmJFNWhiV1ZKYm1RZ1BTQmtaaTVqYjJ4MWJXNXpMbTVoYldWektDa3VabWxzZEdWeUtDaHBkRG9nYzNSeWFXNW5LU0E5UGlCcGRDNXBibU5zZFdSbGN5aGhlR1Z6V3pCZEtTa3ViR1Z1WjNSb0lDc2dNVHRjYmlBZ2NtVjBkWEp1SUdGNFpYTXViV0Z3S0NocGRDa2dQVDRnWUNSN2FYUjlYeVI3WTI5c1RtRnRaVWx1WkgxZ0tUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdkbGRFVnRZbVZrWkdsdVoxWnBaWGRsY2s1aGJXVW9ZMjlzZFcxdWN6b2dSRWN1UTI5c2RXMXVXMTBzSUcxbGRHaHZaRG9nUkdsdFVtVmtkV04wYVc5dVRXVjBhRzlrY3lrZ2UxeHVJQ0JqYjI1emRDQmpiMnhPWVcxbGN5QTlJR052YkhWdGJuTXViR1Z1WjNSb0lENGdOQ0EvSUdBa2UyTnZiSFZ0Ym5NdWJHVnVaM1JvZlNCamIyeDFiVzV6WUNBNklHTnZiSFZ0Ym5NdWJXRndLQ2hwZENrZ1BUNGdhWFF1Ym1GdFpTa3VhbTlwYmlnbkxDQW5LVHRjYmlBZ2NtVjBkWEp1SUdBa2UyMWxkR2h2WkgwZ0tDUjdZMjlzVG1GdFpYTjlLV0E3WEc1OVhHNWNibVY0Y0c5eWRDQmhjM2x1WXlCbWRXNWpkR2x2YmlCdGRXeDBhVU52YkZKbFpIVmpaVVJwYldWdWMybHZibUZzYVhSNUtIUmhZbXhsT2lCRVJ5NUVZWFJoUm5KaGJXVXNJR052YkhWdGJuTTZJRVJITGtOdmJIVnRibHRkTEZ4dUlDQnRaWFJvYjJRNklFUnBiVkpsWkhWamRHbHZiazFsZEdodlpITXNJRzFsZEhKcFkzTTZJRXR1YjNkdVRXVjBjbWxqYzF0ZExDQjNaV2xuYUhSek9pQnVkVzFpWlhKYlhTeGNiaUFnY0hKbGNISnZZMlZ6YzJsdVowWjFibU4wYVc5dWN6b2dLRVJITGtaMWJtTWdmQ0J1ZFd4c0lId2dkVzVrWldacGJtVmtLVnRkTEZ4dUlDQmhaMmR5WldkaGRHbHZiazFsZEdodlpEb2dSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpDd2djR3h2ZEVWdFltVmtaR2x1WjNNNklHSnZiMnhsWVc0Z1BTQjBjblZsTENCamJIVnpkR1Z5UlcxaVpXUmthVzVuY3pvZ1ltOXZiR1ZoYmlBOUlHWmhiSE5sTEZ4dUlDQmthVzFTWldSUGNIUnBiMjV6T2lBb1NWVk5RVkJQY0hScGIyNXpJSHdnU1ZSVFRrVlBjSFJwYjI1ektTQW1JRkJoY25ScFlXdzhTVVJDVTJOaGJrOXdkR2x2Ym5NK0lDWWdlM0J5WlhCeWIyTmxjM05wYm1kR2RXNWpRWEpuY3pvZ1QzQjBhVzl1YzF0ZGZTQW1YRzRnSUNBZ1QzQjBhVzl1Y3lBOUlIdHdjbVZ3Y205alpYTnphVzVuUm5WdVkwRnlaM002SUZ0ZGZTeGNiaUFnZFdsUGNIUnBiMjV6T2lCRWFXMVNaV1JWYVU5d2RHbHZibk1nUFNCN2ZTd2djRzl6ZEZCeWIyTmxjM05wYm1kR2RXNWpPaUJFUnk1R2RXNWpJSHdnYm5Wc2JDQTlJRzUxYkd3c0lIQnZjM1JRY205alJuVnVZMEZ5WjNNNklFOXdkR2x2Ym5NZ1BTQjdmU2tnZTF4dUlDQmpiMjV6ZENCelkyRjBkR1Z5VUd4dmRGQnliM0J6SUQwZ2UxeHVJQ0FnSUhOb2IzZFlRWGhwY3pvZ1ptRnNjMlVzWEc0Z0lDQWdjMmh2ZDFsQmVHbHpPaUJtWVd4elpTeGNiaUFnSUNCemFHOTNXRk5sYkdWamRHOXlPaUJtWVd4elpTeGNiaUFnSUNCemFHOTNXVk5sYkdWamRHOXlPaUJtWVd4elpTeGNiaUFnZlR0Y2JpQWdhV1lnS0dOdmJIVnRibk11YkdWdVozUm9JQ0U5UFNCdFpYUnlhV056TG14bGJtZDBhQ0I4ZkNCamIyeDFiVzV6TG14bGJtZDBhQ0FoUFQwZ2NISmxjSEp2WTJWemMybHVaMFoxYm1OMGFXOXVjeTVzWlc1bmRHZ2dmSHhjYmlBZ0lDQWdJQ0FnWTI5c2RXMXVjeTVzWlc1bmRHZ2dJVDA5SUhkbGFXZG9kSE11YkdWdVozUm9JSHg4SUdOdmJIVnRibk11YkdWdVozUm9JQ0U5UFNCa2FXMVNaV1JQY0hScGIyNXpMbkJ5WlhCeWIyTmxjM05wYm1kR2RXNWpRWEpuY3k1c1pXNW5kR2dwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMk52YkhWdGJuTXNJRzFsZEhKcFkzTWdZVzVrSUhCeVpYQnliMk5sYzNOcGJtY2dablZ1WTNScGIyNXpMQ0IzWldsbmFIUnpJR0Z1WkNCbWRXNWpkR2x2YmlCaGNtZDFiV1Z1ZEhNbklDdGNiaUFnSUNBZ0lDZHRkWE4wSUdoaGRtVWdkR2hsSUhOaGJXVWdiR1Z1WjNSb0p5azdYRzRnSUgxY2JseHVJQ0JqYjI1emRDQjBkaUE5SUhCc2IzUkZiV0psWkdScGJtZHpJRDhnWjNKdmF5NXphR1ZzYkM1MFlXSnNaVlpwWlhjb2RHRmliR1V1Ym1GdFpTa2dQejhnWjNKdmF5NXphR1ZzYkM1aFpHUlVZV0pzWlZacFpYY29kR0ZpYkdVcElEb2diblZzYkR0Y2JseHVJQ0JqYjI1emRDQmtiMUpsWkhWalpTQTlJR0Z6ZVc1aklDZ3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQndaeUE5SUVSSExsUmhjMnRDWVhKUWNtOW5jbVZ6YzBsdVpHbGpZWFJ2Y2k1amNtVmhkR1VvWEc0Z0lDQWdJQ0JnU1c1cGRHbGhiR2w2YVc1bklDUjdkV2xQY0hScGIyNXpMbk5qWVhSMFpYSlFiRzkwVG1GdFpTQS9QeUFuWkdsdFpXNXphVzl1WVd4cGRIa2djbVZrZFdOMGFXOXVKMzBnTGk0dVlDazdYRzRnSUNBZ2JHVjBJSE5qWVhSMFpYSlFiRzkwT2lCRVJ5NVRZMkYwZEdWeVVHeHZkRlpwWlhkbGNpQjhJSFZ1WkdWbWFXNWxaQ0E5SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWlcxaVpXUkRiMnh6VG1GdFpYTWdQU0JuWlhSRmJXSmxaR1JwYm1kRGIyeHpUbUZ0WlhNb2RHRmliR1VwTzF4dUlDQWdJQ0FnWm5WdVkzUnBiMjRnY0hKdlozSmxjM05HZFc1aktGOXVSWEJ2WTJnNklHNTFiV0psY2l3Z1pYQnZZMmh6VEdWdVozUm9PaUJ1ZFcxaVpYSXNJR1Z0WW1Wa1pHbHVaM002SUc1MWJXSmxjbHRkVzEwcElIdGNiaUFnSUNBZ0lDQWdiR1YwSUdWdFltVmtXRU52YkRvZ1JFY3VRMjlzZFcxdUlId2diblZzYkNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUd4bGRDQmxiV0psWkZsRGIydzZJRVJITGtOdmJIVnRiaUI4SUc1MWJHd2dQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQnBaaUFvSVhSaFlteGxMbU52YkhWdGJuTXVibUZ0WlhNb0tTNXBibU5zZFdSbGN5aGxiV0psWkVOdmJITk9ZVzFsYzFzd1hTa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCbGJXSmxaRmhEYjJ3Z1BTQjBZV0pzWlM1amIyeDFiVzV6TG1Ga1pDaEVSeTVEYjJ4MWJXNHVabXh2WVhRb1pXMWlaV1JEYjJ4elRtRnRaWE5iTUYwc0lIUmhZbXhsTG5KdmQwTnZkVzUwS1NrN1hHNGdJQ0FnSUNBZ0lDQWdaVzFpWldSWlEyOXNJRDBnZEdGaWJHVXVZMjlzZFcxdWN5NWhaR1FvUkVjdVEyOXNkVzF1TG1ac2IyRjBLR1Z0WW1Wa1EyOXNjMDVoYldWeld6RmRMQ0IwWVdKc1pTNXliM2REYjNWdWRDa3BPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHdiRzkwUlcxaVpXUmthVzVuY3lBbUppQWhjMk5oZEhSbGNsQnNiM1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE5qWVhSMFpYSlFiRzkwSUQwZ2RIWWhYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDNXpZMkYwZEdWeVVHeHZkQ2g3TGk0dWMyTmhkSFJsY2xCc2IzUlFjbTl3Y3l3Z2VEb2daVzFpWldSRGIyeHpUbUZ0WlhOYk1GMHNJSGs2SUdWdFltVmtRMjlzYzA1aGJXVnpXekZkTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhScGRHeGxPaUIxYVU5d2RHbHZibk11YzJOaGRIUmxjbEJzYjNST1lXMWxJRDgvSUdkbGRFVnRZbVZrWkdsdVoxWnBaWGRsY2s1aGJXVW9ZMjlzZFcxdWN5d2diV1YwYUc5a0tYMHBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQmxiV0psWkZoRGIyd2dQU0IwWVdKc1pTNWpiMngxYlc1ekxtSjVUbUZ0WlNobGJXSmxaRU52YkhOT1lXMWxjMXN3WFNrN1hHNGdJQ0FnSUNBZ0lDQWdaVzFpWldSWlEyOXNJRDBnZEdGaWJHVXVZMjlzZFcxdWN5NWllVTVoYldVb1pXMWlaV1JEYjJ4elRtRnRaWE5iTVYwcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tIVnBUM0IwYVc5dWMxdFRTRTlYWDFORFFWUlVSVkpRVEU5VVgxQlNUMGRTUlZOVFhTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhOallYUjBaWEpRYkc5MFB5NXliMjkwSUNZbUlIVnBMbk5sZEZWd1pHRjBaVWx1WkdsallYUnZjaWh6WTJGMGRHVnlVR3h2ZENFdWNtOXZkQ3dnWm1Gc2MyVXBPMXh1SUNBZ0lDQWdJQ0FnSUdWdFltVmtXRU52YkM1cGJtbDBLQ2hwS1NBOVBpQmxiV0psWkdScGJtZHpXekJkSUQ4Z1pXMWlaV1JrYVc1bmMxc3dYVnRwWFNBNklIVnVaR1ZtYVc1bFpDazdYRzRnSUNBZ0lDQWdJQ0FnWlcxaVpXUlpRMjlzTG1sdWFYUW9LR2twSUQwK0lHVnRZbVZrWkdsdVozTmJNVjBnUHlCbGJXSmxaR1JwYm1keld6RmRXMmxkSURvZ2RXNWtaV1pwYm1Wa0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JqYjI1emRDQndjbTluY21WemN5QTlJQ2hmYmtWd2IyTm9JQzhnWlhCdlkyaHpUR1Z1WjNSb0lDb2dNVEF3S1R0Y2JpQWdJQ0FnSUNBZ2NHY3VkWEJrWVhSbEtIQnliMmR5WlhOekxGeHVJQ0FnSUNBZ0lDQWdJR0JTZFc1dWFXNW5JQ1I3ZFdsUGNIUnBiMjV6TG5OallYUjBaWEpRYkc5MFRtRnRaU0EvUHlBblpHbHRaVzV6YVc5dVlXeHBkSGtnY21Wa2RXTjBhVzl1SjMwdUxpNGdKSHR3Y205bmNtVnpjeTUwYjBacGVHVmtLREFwZlNWZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHRnplVzVqSUdaMWJtTjBhVzl1SUdkbGRFUnBiVkpsWkNncElIdGNiaUFnSUNBZ0lDQWdkR0ZpYkdVdVkyOXNkVzF1Y3k1aFpHUW9SRWN1UTI5c2RXMXVMbVpzYjJGMEtHVnRZbVZrUTI5c2MwNWhiV1Z6V3pCZExDQjBZV0pzWlM1eWIzZERiM1Z1ZENrcE8xeHVJQ0FnSUNBZ0lDQjBZV0pzWlM1amIyeDFiVzV6TG1Ga1pDaEVSeTVEYjJ4MWJXNHVabXh2WVhRb1pXMWlaV1JEYjJ4elRtRnRaWE5iTVYwc0lIUmhZbXhsTG5KdmQwTnZkVzUwS1NrN1hHNGdJQ0FnSUNBZ0lHeGxkQ0J5WlhOdmJIWmxSam9nUm5WdVkzUnBiMjRnZkNCdWRXeHNJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdhV1lnS0hCc2IzUkZiV0psWkdScGJtZHpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2MyTmhkSFJsY2xCc2IzUWdQU0IwZGlGY2JpQWdJQ0FnSUNBZ0lDQWdJQzV6WTJGMGRHVnlVR3h2ZENoN0xpNHVjMk5oZEhSbGNsQnNiM1JRY205d2N5d2dlRG9nWlcxaVpXUkRiMnh6VG1GdFpYTmJNRjBzSUhrNklHVnRZbVZrUTI5c2MwNWhiV1Z6V3pGZExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFYUnNaVG9nZFdsUGNIUnBiMjV6TG5OallYUjBaWEpRYkc5MFRtRnRaU0EvUHlCblpYUkZiV0psWkdScGJtZFdhV1YzWlhKT1lXMWxLR052YkhWdGJuTXNJRzFsZEdodlpDbDlLVHRjYmlBZ0lDQWdJQ0FnSUNCMWFTNXpaWFJWY0dSaGRHVkpibVJwWTJGMGIzSW9jMk5oZEhSbGNsQnNiM1F1Y205dmRDd2dkSEoxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQnpkV0lnUFNCbmNtOXJMbVYyWlc1MGN5NXZibFpwWlhkbGNrTnNiM05sWkM1emRXSnpZM0pwWW1Vb0tHRnlaM01wSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQjJJRDBnWVhKbmN5NWhjbWR6TG5acFpYZGxjaUJoY3lCMWJtdHViM2R1SUdGeklFUkhMbFpwWlhkbGNqeGhibmsrTzF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2gyUHk1blpYUlBjSFJwYjI1ektDay9MbXh2YjJzL0xuUnBkR3hsSUNZbUlITmpZWFIwWlhKUWJHOTBQeTVuWlhSUGNIUnBiMjV6S0NrL0xteHZiMnMvTG5ScGRHeGxJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkajh1WjJWMFQzQjBhVzl1Y3lncFB5NXNiMjlyUHk1MGFYUnNaU0E5UFQwZ2MyTmhkSFJsY2xCc2IzUS9MbWRsZEU5d2RHbHZibk1vS1Q4dWJHOXZhejh1ZEdsMGJHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHZHliMnN1WlhabGJuUnpMbVpwY21WRGRYTjBiMjFGZG1WdWRDaEVTVTFGVGxOSlQwNUJURWxVV1Y5U1JVUlZRMFZTWDFSRlVrMUpUa0ZVUlY5RlZrVk9WQ3dnZTMwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNWaUxuVnVjM1ZpYzJOeWFXSmxLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWE52YkhabFJqOHVLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQndaeTVqYkc5elpTZ3BPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTazdYRzVjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaR2x0VW1Wa1VtVnpVSEp2YldselpTQTlJRzVsZHlCUWNtOXRhWE5sUEUxaGRISnBlQ0I4SUhWdVpHVm1hVzVsWkQ0b1lYTjVibU1nS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxSaUE5SUhKbGMyOXNkbVU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCbGJtTnZaR1ZrUTI5c1JXNTBjbWxsY3pvZ1VISmxjSEp2WTJWemMwWjFibU4wYVc5dVVtVjBkWEp1Vkhsd1pWdGRJRDBnVzEwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhCeVpYQnliMk5sYzNOcGJtZEdkVzVqZEdsdmJuTXViR1Z1WjNSb095QXJLMmtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjR1lnUFNCd2NtVndjbTlqWlhOemFXNW5SblZ1WTNScGIyNXpXMmxkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lXUnBiVkpsWkU5d2RHbHZibk11WkdsemRHRnVZMlZHYmtGeVozTXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR2x0VW1Wa1QzQjBhVzl1Y3k1a2FYTjBZVzVqWlVadVFYSm5jeUE5SUZ0ZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jR1lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqYjJ4SmJuQjFkRTVoYldVZ1BTQndaaTVwYm5CMWRITmJNRjB1Ym1GdFpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCdFpYUnlhV05KYm5CMWRFNWhiV1VnUFNCd1ppNXBibkIxZEhOYk1WMHVibUZ0WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0I3Wlc1MGNtbGxjeXdnYjNCMGFXOXVjMzA2SUZCeVpYQnliMk5sYzNOR2RXNWpkR2x2YmxKbGRIVnlibFI1Y0dVZ1BWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHRjNZV2wwSUhCbUxtRndjR3g1S0h0YlkyOXNTVzV3ZFhST1lXMWxYVG9nWTI5c2RXMXVjMXRwWFN3Z1cyMWxkSEpwWTBsdWNIVjBUbUZ0WlYwNklHMWxkSEpwWTNOYmFWMHNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1TGk0b1pHbHRVbVZrVDNCMGFXOXVjeTV3Y21Wd2NtOWpaWE56YVc1blJuVnVZMEZ5WjNOYmFWMGdQejhnZTMwcGZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaVzVqYjJSbFpFTnZiRVZ1ZEhKcFpYTXVjSFZ6YUNoN1pXNTBjbWxsY3l3Z2IzQjBhVzl1YzMwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUnBiVkpsWkU5d2RHbHZibk11WkdsemRHRnVZMlZHYmtGeVozTXVjSFZ6YUNodmNIUnBiMjV6S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmxiblJ5YVdWeklEMGdZMjlzZFcxdWMxdHBYUzUwYjB4cGMzUW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnZjSFJwYjI1eklEMGdlMzA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWlc1amIyUmxaRU52YkVWdWRISnBaWE11Y0hWemFDaDdaVzUwY21sbGN5d2diM0IwYVc5dWMzMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JwYlZKbFpFOXdkR2x2Ym5NdVpHbHpkR0Z1WTJWR2JrRnlaM011Y0hWemFDaHZjSFJwYjI1ektUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2NtVnpJRDBnWVhkaGFYUWdaMlYwVG05eWJXRnNhWHBsWkVWdFltVmtaR2x1WjNNb1pXNWpiMlJsWkVOdmJFVnVkSEpwWlhNdWJXRndLQ2hwZENrZ1BUNGdhWFF1Wlc1MGNtbGxjeWtzSUcxbGRHaHZaQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdiV1YwY21samN5d2dkMlZwWjJoMGN5d2dZV2RuY21WbllYUnBiMjVOWlhSb2IyUXNJR1JwYlZKbFpFOXdkR2x2Ym5Nc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhWcFQzQjBhVzl1YzF0Q1dWQkJVMU5mVEVGU1IwVmZSRUZVUVY5WFFWSk9TVTVIWFNBL0lIVnVaR1ZtYVc1bFpDQTZJSEJ5YjJkeVpYTnpSblZ1WXlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxLSEpsY3lrN1hHNGdJQ0FnSUNBZ0lDQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVZxWldOMEtHVXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQWdJR052Ym5OMElISmxjeUE5SUdGM1lXbDBJR1JwYlZKbFpGSmxjMUJ5YjIxcGMyVTdYRzRnSUNBZ0lDQWdJSEJuTG1Oc2IzTmxLQ2s3WEc0Z0lDQWdJQ0FnSUhOMVlpNTFibk4xWW5OamNtbGlaU2dwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1kyOXVjM1FnY21WeklEMGdZWGRoYVhRZ1oyVjBSR2x0VW1Wa0tDazdYRzVjYmlBZ0lDQWdJR2xtSUNoamJIVnpkR1Z5UlcxaVpXUmthVzVuY3lBbUppQnlaWE1wSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWTJ4MWMzUmxjbEJuSUQwZ1JFY3VWR0Z6YTBKaGNsQnliMmR5WlhOelNXNWthV05oZEc5eUxtTnlaV0YwWlNoZ1EyeDFjM1JsY21sdVp5QmxiV0psWkdScGJtZHpJQzR1TG1BcE8xeHVJQ0FnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdOc2RYTjBaWEpTWlhNZ1BTQmhkMkZwZENCblpYUkVZbk5qWVc1WGIzSnJaWElvY21Weld6QmRMQ0J5WlhOYk1WMHNYRzRnSUNBZ0lDQWdJQ0FnSUNCa2FXMVNaV1JQY0hScGIyNXpMbVJpVTJOaGJrVndjMmxzYjI0Z1B6OGdNQzR3TVN3Z1pHbHRVbVZrVDNCMGFXOXVjeTVrWWxOallXNU5hVzVRZEhNZ1B6OGdOQ2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWTJ4MWMzUmxja052YkU1aGJXVWdQU0IwWVdKc1pTNWpiMngxYlc1ekxtZGxkRlZ1ZFhObFpFNWhiV1VvSjBOc2RYTjBaWElnS0VSQ1UwTkJUaWtuS1R0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCamJIVnpkR1Z5UTI5c0lEMGdkR0ZpYkdVdVkyOXNkVzF1Y3k1aFpHUk9aWGRUZEhKcGJtY29ZMngxYzNSbGNrTnZiRTVoYldVcE8xeHVJQ0FnSUNBZ0lDQWdJR05zZFhOMFpYSkRiMnd1YVc1cGRDZ29hU2tnUFQ0Z1kyeDFjM1JsY2xKbGMxdHBYUzUwYjFOMGNtbHVaeWdwS1R0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYzJOaGRIUmxjbEJzYjNRcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FvYzJOaGRIUmxjbEJzYjNRZ1lYTWdSRWN1VTJOaGRIUmxjbEJzYjNSV2FXVjNaWElwTG5CeWIzQnpMbU52Ykc5eVEyOXNkVzF1VG1GdFpTQTlJR05zZFhOMFpYSkRiMnhPWVcxbE8xeHVJQ0FnSUNBZ0lDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1ozSnZheTV6YUdWc2JDNWxjbkp2Y2lnblEyeDFjM1JsY21sdVp5QmxiV0psWkdScGJtZHpJR1poYVd4bFpDY3BPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTnZiR1V1WlhKeWIzSW9aU2s3WEc0Z0lDQWdJQ0FnSUgwZ1ptbHVZV3hzZVNCN1hHNGdJQ0FnSUNBZ0lDQWdZMngxYzNSbGNsQm5MbU5zYjNObEtDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoeVpYTXBJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaVzFpWldSWVEyOXNJRDBnZEdGaWJHVXVZMjlzZFcxdWN5NWllVTVoYldVb1pXMWlaV1JEYjJ4elRtRnRaWE5iTUYwcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCbGJXSmxaRmxEYjJ3Z1BTQjBZV0pzWlM1amIyeDFiVzV6TG1KNVRtRnRaU2hsYldKbFpFTnZiSE5PWVcxbGMxc3hYU2s3WEc0Z0lDQWdJQ0FnSUdWdFltVmtXRU52YkM1cGJtbDBLQ2hwS1NBOVBpQnlaWE5iTUYxYmFWMHBPMXh1SUNBZ0lDQWdJQ0JsYldKbFpGbERiMnd1YVc1cGRDZ29hU2tnUFQ0Z2NtVnpXekZkVzJsZEtUdGNiaUFnSUNBZ0lDQWdhV1lnS0hCdmMzUlFjbTlqWlhOemFXNW5SblZ1WXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmpiMnd4U1c1d2RYUk9ZVzFsSUQwZ2NHOXpkRkJ5YjJObGMzTnBibWRHZFc1akxtbHVjSFYwYzFzd1hTNXVZVzFsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1kyOXNNa2x1Y0hWMFRtRnRaU0E5SUhCdmMzUlFjbTlqWlhOemFXNW5SblZ1WXk1cGJuQjFkSE5iTVYwdWJtRnRaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHRjNZV2wwSUhCdmMzUlFjbTlqWlhOemFXNW5SblZ1WTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1Y0hKbGNHRnlaU2g3VzJOdmJERkpibkIxZEU1aGJXVmRPaUJsYldKbFpGaERiMndzSUZ0amIyd3lTVzV3ZFhST1lXMWxYVG9nWlcxaVpXUlpRMjlzTENBdUxpNXdiM04wVUhKdlkwWjFibU5CY21kemZTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0xtTmhiR3dvZEhKMVpTazdYRzRnSUNBZ0lDQWdJQ0FnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWjNKdmF5NXphR1ZzYkM1bGNuSnZjaWduVUc5emRDMXdjbTlqWlhOemFXNW5JR1poYVd4bFpDY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjMjlzWlM1bGNuSnZjaWhsS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYVdZZ0tITmpZWFIwWlhKUWJHOTBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RXa3VjMlYwVlhCa1lYUmxTVzVrYVdOaGRHOXlLQ2h6WTJGMGRHVnlVR3h2ZENCaGN5QkVSeTVUWTJGMGRHVnlVR3h2ZEZacFpYZGxjaWt1Y205dmRDd2dabUZzYzJVcE8xeHVJQ0FnSUNBZ0lDQWdJQ2h6WTJGMGRHVnlVR3h2ZENCaGN5QkVSeTVUWTJGMGRHVnlVR3h2ZEZacFpYZGxjaWt1YUdWc2NGVnliQ0E5SUNjdmFHVnNjQzlqYjIxd2RYUmxMM05sY1hWbGJtTmxMWE53WVdObEp6dGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjMk5oZEhSbGNsQnNiM1FnWVhNZ1JFY3VVMk5oZEhSbGNsQnNiM1JXYVdWM1pYSTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0JuY205ckxuTm9aV3hzTG1WeWNtOXlLQ2RFYVcxbGJuTnBiMjVoYkdsMGVTQnlaV1IxWTNScGIyNGdabUZwYkdWa0p5azdYRzRnSUNBZ0lDQmpiMjV6YjJ4bExtVnljbTl5S0dVcE8xeHVJQ0FnSUNBZ2NHY3VZMnh2YzJVb0tUdGNiaUFnSUNBZ0lHbG1JQ2h6WTJGMGRHVnlVR3h2ZENsY2JpQWdJQ0FnSUNBZ2RXa3VjMlYwVlhCa1lYUmxTVzVrYVdOaGRHOXlLQ2h6WTJGMGRHVnlVR3h2ZENCaGN5QkVSeTVUWTJGMGRHVnlVR3h2ZEZacFpYZGxjaWt1Y205dmRDd2dabUZzYzJVcE8xeHVJQ0FnSUgxY2JpQWdmVHRjYmlBZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObFBFUkhMbE5qWVhSMFpYSlFiRzkwVm1sbGQyVnlJSHdnZFc1a1pXWnBibVZrUGloaGMzbHVZeUFvY21WemIyeDJaU3dnY21WcVpXTjBLU0E5UGlCN1hHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHbG1JQ2gxYVU5d2RHbHZibk11Wm1GemRGSnZkME52ZFc1MElDWW1JSFJoWW14bExuSnZkME52ZFc1MElENGdkV2xQY0hScGIyNXpMbVpoYzNSU2IzZERiM1Z1ZENBbUppQWhkV2xQY0hScGIyNXpXMEpaVUVGVFUxOU1RVkpIUlY5RVFWUkJYMWRCVWs1SlRrZGRLU0I3WEc0Z0lDQWdJQ0FnSUhWcExtUnBZV3h2WnlncFhHNGdJQ0FnSUNBZ0lDQWdMbUZrWkNoMWFTNWthWFpVWlhoMEtDZEJibUZzZVhOcGN5QnRhV2RvZENCMFlXdGxJSE5sZG1WeVlXd2diV2x1ZFhSbGN5NGdSRzhnZVc5MUlIZGhiblFnZEc4Z1kyOXVkR2x1ZFdVL0p5a3BYRzRnSUNBZ0lDQWdJQ0FnTG05dVQwc29ZWE41Ym1NZ0tDa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjbVZ6SUQwZ1lYZGhhWFFnWkc5U1pXUjFZMlVvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WemIyeDJaU2h5WlhNcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpXcGxZM1FvWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ2ZTbGNiaUFnSUNBZ0lDQWdJQ0F1YjI1RFlXNWpaV3dvS0NrZ1BUNGdjbVZ6YjJ4MlpTaDFibVJsWm1sdVpXUXBLVnh1SUNBZ0lDQWdJQ0FnSUM1emFHOTNLQ2s3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnlaWE1nUFNCaGQyRnBkQ0JrYjFKbFpIVmpaU2dwTzF4dUlDQWdJQ0FnSUNCeVpYTnZiSFpsS0hKbGN5azdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdjbVZxWldOMEtHVXBPMXh1SUNBZ0lIMWNiaUFnZlNrN1hHNTlYRzRpWFgwPSIsImltcG9ydCB7IGNyZWF0ZU11bHRpRGltUmVkV29ya2VyIH0gZnJvbSAnLi9tdWx0aS1kaW0tcmVkLXdvcmtlci1jcmVhdG9yJztcbmltcG9ydCB7IG5vcm1hbGl6ZSB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3ZlY3Rvci1vcGVyYXRpb25zJztcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXROb3JtYWxpemVkRW1iZWRkaW5ncyhkYXRhQ29scywgbWV0aG9kTmFtZSwgZGlzdGFuY2VNZXRyaWNzLCB3ZWlnaHRzLCBkaXN0YW5jZUFnZ3JlZ2F0aW9uLCBvcHRpb25zLCBwcm9ncmVzc0Z1bmMpIHtcbiAgICBsZXQgZGltZW5zaW9uYWxpdHlSZWR1Y2VSZXMgPSBhd2FpdCBjcmVhdGVNdWx0aURpbVJlZFdvcmtlcihkYXRhQ29scywgZGlzdGFuY2VNZXRyaWNzLCBtZXRob2ROYW1lLCB3ZWlnaHRzLCBkaXN0YW5jZUFnZ3JlZ2F0aW9uLCBvcHRpb25zLCBwcm9ncmVzc0Z1bmMpO1xuICAgIGRpbWVuc2lvbmFsaXR5UmVkdWNlUmVzID0gZGltZW5zaW9uYWxpdHlSZWR1Y2VSZXMubWFwKChpdCkgPT4gbm9ybWFsaXplKGl0KSk7XG4gICAgcmV0dXJuIGRpbWVuc2lvbmFsaXR5UmVkdWNlUmVzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWlcxaVpXUmthVzVuY3kxemNHRmpaUzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkltVnRZbVZrWkdsdVozTXRjM0JoWTJVdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJSVUVzVDBGQlR5eEZRVUZETEhWQ1FVRjFRaXhGUVVGRExFMUJRVTBzWjBOQlFXZERMRU5CUVVNN1FVRkZka1VzVDBGQlR5eEZRVUZETEZOQlFWTXNSVUZCUXl4TlFVRk5MR2xFUVVGcFJDeERRVUZETzBGQlNURkZMRTFCUVUwc1EwRkJReXhMUVVGTExGVkJRVlVzZFVKQlFYVkNMRU5CUXpORExGRkJRWE5DTEVWQlEzUkNMRlZCUVN0Q0xFVkJReTlDTEdWQlFTdENMRVZCUXk5Q0xFOUJRV2xDTEVWQlEycENMRzFDUVVFNFF5eEZRVU01UXl4UFFVRlpMRVZCUVVVc1dVRkJiVVk3U1VGRmFrY3NTVUZCU1N4MVFrRkJkVUlzUjBGRGJrSXNUVUZCVFN4MVFrRkJkVUlzUTBGRE0wSXNVVUZCVVN4RlFVRkZMR1ZCUVdVc1JVRkJSU3hWUVVGVkxFVkJRVVVzVDBGQlR5eEZRVUZGTEcxQ1FVRnRRaXhGUVVGRkxFOUJRVThzUlVGQlJTeFpRVUZaTEVOQlF6TkdMRU5CUVVNN1NVRkZWaXgxUWtGQmRVSXNSMEZCUnl4MVFrRkJkVUlzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRExGTkJRVk1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUXpkRkxFOUJRVThzZFVKQlFYVkNMRU5CUVVNN1FVRkRha01zUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdUV0YwY21sNGZTQm1jbTl0SUNkQVpHRjBZV2R5YjJzdGJHbGljbUZ5YVdWekwzVjBhV3h6TDNOeVl5OTBlWEJsTFdSbFkyeGhjbUYwYVc5dWN5YzdYRzVwYlhCdmNuUWdlMHR1YjNkdVRXVjBjbWxqYzMwZ1puSnZiU0FuTGk0dmRIbHdaV1F0YldWMGNtbGpjeWM3WEc1cGJYQnZjblFnZTJOeVpXRjBaVTExYkhScFJHbHRVbVZrVjI5eWEyVnlmU0JtY205dElDY3VMMjExYkhScExXUnBiUzF5WldRdGQyOXlhMlZ5TFdOeVpXRjBiM0luTzF4dWFXMXdiM0owSUh0RWFYTjBZVzVqWlVGblozSmxaMkYwYVc5dVRXVjBhRzlrZlNCbWNtOXRJQ2N1TGk5a2FYTjBZVzVqWlMxdFlYUnlhWGd2ZEhsd1pYTW5PMXh1YVcxd2IzSjBJSHR1YjNKdFlXeHBlbVY5SUdaeWIyMGdKMEJrWVhSaFozSnZheTFzYVdKeVlYSnBaWE12ZFhScGJITXZjM0pqTDNabFkzUnZjaTF2Y0dWeVlYUnBiMjV6Snp0Y2JtbHRjRzl5ZENCN1JHbHRVbVZrZFdOMGFXOXVUV1YwYUc5a2MzMGdabkp2YlNBbkxpOTBlWEJsY3ljN1hHNWNibHh1Wlhod2IzSjBJR0Z6ZVc1aklHWjFibU4wYVc5dUlHZGxkRTV2Y20xaGJHbDZaV1JGYldKbFpHUnBibWR6S0Z4dUlDQmtZWFJoUTI5c2N6b2dRWEp5WVhrOFlXNTVXMTArTEZ4dUlDQnRaWFJvYjJST1lXMWxPaUJFYVcxU1pXUjFZM1JwYjI1TlpYUm9iMlJ6TEZ4dUlDQmthWE4wWVc1alpVMWxkSEpwWTNNNklFdHViM2R1VFdWMGNtbGpjMXRkTEZ4dUlDQjNaV2xuYUhSek9pQnVkVzFpWlhKYlhTeGNiaUFnWkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmpvZ1JHbHpkR0Z1WTJWQloyZHlaV2RoZEdsdmJrMWxkR2h2WkN4Y2JpQWdiM0IwYVc5dWN6b2dZVzU1TENCd2NtOW5jbVZ6YzBaMWJtTS9PaUFvWlhCdlkyZzZJRzUxYldKbGNpd2daWEJ2WTJoelRHVnVaM1JvT2lCdWRXMWlaWElzSUdWdFltVmtaR2x1WnpvZ2JuVnRZbVZ5VzExYlhTa2dQVDRnZG05cFpGeHVLVG9nVUhKdmJXbHpaVHhOWVhSeWFYZytJSHRjYmlBZ2JHVjBJR1JwYldWdWMybHZibUZzYVhSNVVtVmtkV05sVW1Wek9pQk5ZWFJ5YVhnZ1BWeHVJQ0FnSUNBZ0lDQWdJR0YzWVdsMElHTnlaV0YwWlUxMWJIUnBSR2x0VW1Wa1YyOXlhMlZ5S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdaR0YwWVVOdmJITXNJR1JwYzNSaGJtTmxUV1YwY21samN5d2diV1YwYUc5a1RtRnRaU3dnZDJWcFoyaDBjeXdnWkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2Yml3Z2IzQjBhVzl1Y3l3Z2NISnZaM0psYzNOR2RXNWpYRzRnSUNBZ0lDQWdJQ0FnS1R0Y2JseHVJQ0JrYVcxbGJuTnBiMjVoYkdsMGVWSmxaSFZqWlZKbGN5QTlJR1JwYldWdWMybHZibUZzYVhSNVVtVmtkV05sVW1WekxtMWhjQ2dvYVhRcElEMCtJRzV2Y20xaGJHbDZaU2hwZENrcE8xeHVJQ0J5WlhSMWNtNGdaR2x0Wlc1emFXOXVZV3hwZEhsU1pXUjFZMlZTWlhNN1hHNTlYRzVjYmlKZGZRPT0iLCJpbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcbmltcG9ydCB7IERJTUVOU0lPTkFMSVRZX1JFRFVDRVJfVEVSTUlOQVRFX0VWRU5UIH0gZnJvbSAnLi9jb25zdHMnO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICcuLi9kaXN0YW5jZS1tYXRyaXgvdXRpbHMnO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZU11bHRpRGltUmVkV29ya2VyKGRhdGEsIG1ldHJpY3MsIG1ldGhvZCwgd2VpZ2h0cywgYWdncmVnYXRpb25NZXRob2QsIG9wdGlvbnMsIHByb2dyZXNzRnVuYykge1xuICAgIGlmICghb3B0aW9ucy5kaXN0YW5jZUZuQXJncylcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdvcHRpb25zLmRpc3RhbmNlRm5BcmdzIG11c3QgYmUgZGVmaW5lZCcpO1xuICAgIGlmIChkYXRhLmxlbmd0aCAhPT0gbWV0cmljcy5sZW5ndGggfHwgZGF0YS5sZW5ndGggIT09IG9wdGlvbnMuZGlzdGFuY2VGbkFyZ3MubGVuZ3RoIHx8IGRhdGEubGVuZ3RoICE9PSB3ZWlnaHRzLmxlbmd0aClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhLCBtZXRyaWNzIGFuZCBvcHRpb25zIGFuZCB3ZWlnaHRzIG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGgnKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKG5ldyBVUkwoJy4vbXVsaXQtY29sdW1uLWRpbS1yZWR1Y2VyLXdvcmtlcicsIGltcG9ydC5tZXRhLnVybCkpO1xuICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgY29sdW1uc0RhdGE6IGRhdGEsXG4gICAgICAgICAgICBkaXN0YW5jZU1ldHJpY3M6IG1ldHJpY3MsXG4gICAgICAgICAgICBtZXRob2Q6IG1ldGhvZCxcbiAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXG4gICAgICAgICAgICB3ZWlnaHRzOiB3ZWlnaHRzLFxuICAgICAgICAgICAgYWdncmVnYXRpb25NZXRob2Q6IGFnZ3JlZ2F0aW9uTWV0aG9kLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdGVybWluYXRlU3ViID0gZ3Jvay5ldmVudHMub25DdXN0b21FdmVudChESU1FTlNJT05BTElUWV9SRURVQ0VSX1RFUk1JTkFURV9FVkVOVCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgd29ya2VyPy50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIHRlcm1pbmF0ZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgd29ya2VyLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGVtYmVkZGluZywgZXBvY2hOdW0sIGVwb2Noc0xlbmd0aCB9IH0pID0+IHtcbiAgICAgICAgICAgIGlmICghaXNOaWwoZXBvY2hOdW0pICYmICFpc05pbChlcG9jaHNMZW5ndGgpKSB7XG4gICAgICAgICAgICAgICAgcHJvZ3Jlc3NGdW5jICYmIHByb2dyZXNzRnVuYyhlcG9jaE51bSwgZXBvY2hzTGVuZ3RoLCBlbWJlZGRpbmcpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRlcm1pbmF0ZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgaWYgKGVycm9yKVxuICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShlbWJlZGRpbmcpO1xuICAgICAgICAgICAgLy8gdGVybWluYXRlIHRoZSB3b3JrZXIgYWZ0ZXIgc29tZSB0aW1lLiBpbW1pZGlhdGUgdGVybWluYXRpb24gY2F1c2VzIGNyYXNoZXMuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHdvcmtlci50ZXJtaW5hdGUoKSwgMTAwKTtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJYVnNkR2t0WkdsdExYSmxaQzEzYjNKclpYSXRZM0psWVhSdmNpNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW0xMWJIUnBMV1JwYlMxeVpXUXRkMjl5YTJWeUxXTnlaV0YwYjNJdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRMEVzVDBGQlR5eExRVUZMTEVsQlFVa3NUVUZCVFN4dFFrRkJiVUlzUTBGQlF6dEJRVU14UXl4UFFVRlBMRVZCUVVNc2MwTkJRWE5ETEVWQlFVTXNUVUZCVFN4VlFVRlZMRU5CUVVNN1FVRkphRVVzVDBGQlR5eEZRVUZETEV0QlFVc3NSVUZCUXl4TlFVRk5MREJDUVVFd1FpeERRVUZETzBGQlJTOURMRTFCUVUwc1EwRkJReXhMUVVGTExGVkJRVlVzZFVKQlFYVkNMRU5CUVVNc1NVRkJhMElzUlVGQlJTeFBRVUYxUWl4RlFVRkZMRTFCUVRKQ0xFVkJRM0JJTEU5QlFXbENMRVZCUVVVc2FVSkJRVFJETEVWQlF5OUVMRTlCUVZrc1JVRkJSU3haUVVGdFJqdEpRVVZxUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExHTkJRV003VVVGRGVrSXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXgzUTBGQmQwTXNRMEZCUXl4RFFVRkRPMGxCUXpWRUxFbEJRVWtzU1VGQlNTeERRVUZETEUxQlFVMHNTMEZCU3l4UFFVRlBMRU5CUVVNc1RVRkJUU3hKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTEV0QlFVc3NUMEZCVHl4RFFVRkRMR05CUVdNc1EwRkJReXhOUVVGTkxFbEJRVWtzU1VGQlNTeERRVUZETEUxQlFVMHNTMEZCU3l4UFFVRlBMRU5CUVVNc1RVRkJUVHRSUVVOdVNDeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMR2xGUVVGcFJTeERRVUZETEVOQlFVTTdTVUZEY2tZc1QwRkJUeXhKUVVGSkxFOUJRVThzUTBGQlF5eFZRVUZUTEU5QlFVOHNSVUZCUlN4TlFVRk5PMUZCUTNwRExFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExHMURRVUZ0UXl4RlFVRkZMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjZSaXhOUVVGTkxFTkJRVU1zVjBGQlZ5eERRVUZETzFsQlEycENMRmRCUVZjc1JVRkJSU3hKUVVGSk8xbEJRMnBDTEdWQlFXVXNSVUZCUlN4UFFVRlBPMWxCUTNoQ0xFMUJRVTBzUlVGQlJTeE5RVUZOTzFsQlEyUXNUMEZCVHl4RlFVRkZMRTlCUVU4N1dVRkRhRUlzVDBGQlR5eEZRVUZGTEU5QlFVODdXVUZEYUVJc2FVSkJRV2xDTEVWQlFVVXNhVUpCUVdsQ08xTkJRM0pETEVOQlFVTXNRMEZCUXp0UlFVTklMRTFCUVUwc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNZVUZCWVN4RFFVRkRMSE5EUVVGelF5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1JVRkJSVHRaUVVOd1J5eEpRVUZKTzJkQ1FVTkdMRTFCUVUwc1JVRkJSU3hUUVVGVExFVkJRVVVzUTBGQlF6dGhRVU55UWp0dlFrRkJVenRuUWtGRFVpeFpRVUZaTEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNN1lVRkROVUk3VVVGRFNDeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTklMRTFCUVUwc1EwRkJReXhUUVVGVExFZEJRVWNzUTBGQlF5eEZRVUZETEVsQlFVa3NSVUZCUlN4RlFVRkRMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzVVVGQlVTeEZRVUZGTEZsQlFWa3NSVUZCUXl4RlFVRkRMRVZCUVVVc1JVRkJSVHRaUVVONFJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZsQlFWa3NRMEZCUXl4RlFVRkZPMmRDUVVNMVF5eFpRVUZaTEVsQlFVa3NXVUZCV1N4RFFVRkRMRkZCUVZFc1JVRkJSU3haUVVGWkxFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVTTdaMEpCUTJoRkxFOUJRVTg3WVVGRFVqdFpRVU5FTEZsQlFWa3NRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJRenRaUVVNelFpeEpRVUZKTEV0QlFVczdaMEpCUTFBc1RVRkJUU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZET3p0blFrRkZaQ3hQUVVGUExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdXVUZEY2tJc09FVkJRVGhGTzFsQlF6bEZMRlZCUVZVc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RlFVRkZMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRE5VTXNRMEZCUXl4RFFVRkRPMGxCUTBvc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRFRDeERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0TGJtOTNiazFsZEhKcFkzTjlJR1p5YjIwZ0p5NHVMM1I1Y0dWa0xXMWxkSEpwWTNNdmRIbHdaV1F0YldWMGNtbGpjeWM3WEc1cGJYQnZjblFnS2lCaGN5Qm5jbTlySUdaeWIyMGdKMlJoZEdGbmNtOXJMV0Z3YVM5bmNtOXJKenRjYm1sdGNHOXlkQ0I3UkVsTlJVNVRTVTlPUVV4SlZGbGZVa1ZFVlVORlVsOVVSVkpOU1U1QlZFVmZSVlpGVGxSOUlHWnliMjBnSnk0dlkyOXVjM1J6Snp0Y2JtbHRjRzl5ZENCN1RXRjBjbWw0ZlNCbWNtOXRJQ2RBWkdGMFlXZHliMnN0YkdsaWNtRnlhV1Z6TDNWMGFXeHpMM055WXk5MGVYQmxMV1JsWTJ4aGNtRjBhVzl1Y3ljN1hHNXBiWEJ2Y25RZ2UwUnBiVkpsWkhWamRHbHZiazFsZEdodlpITjlJR1p5YjIwZ0p5NHZkSGx3WlhNbk8xeHVhVzF3YjNKMElIdEVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a2ZTQm1jbTl0SUNjdUxpOWthWE4wWVc1alpTMXRZWFJ5YVhndmRIbHdaWE1uTzF4dWFXMXdiM0owSUh0cGMwNXBiSDBnWm5KdmJTQW5MaTR2WkdsemRHRnVZMlV0YldGMGNtbDRMM1YwYVd4ekp6dGNibHh1Wlhod2IzSjBJR0Z6ZVc1aklHWjFibU4wYVc5dUlHTnlaV0YwWlUxMWJIUnBSR2x0VW1Wa1YyOXlhMlZ5S0dSaGRHRTZJRUZ5Y21GNVBHRnVlVnRkUGl3Z2JXVjBjbWxqY3pvZ1MyNXZkMjVOWlhSeWFXTnpXMTBzSUcxbGRHaHZaRG9nUkdsdFVtVmtkV04wYVc5dVRXVjBhRzlrY3l4Y2JpQWdkMlZwWjJoMGN6b2diblZ0WW1WeVcxMHNJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtPaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtMRnh1SUNCdmNIUnBiMjV6T2lCaGJua3NJSEJ5YjJkeVpYTnpSblZ1WXo4NklDaGxjRzlqYURvZ2JuVnRZbVZ5TENCbGNHOWphSE5NWlc1bmRHZzZJRzUxYldKbGNpd2daVzFpWldSa2FXNW5PaUJ1ZFcxaVpYSmJYVnRkS1NBOVBpQjJiMmxrWEc0cE9pQlFjbTl0YVhObFBFMWhkSEpwZUQ0Z2UxeHVJQ0JwWmlBb0lXOXdkR2x2Ym5NdVpHbHpkR0Z1WTJWR2JrRnlaM01wWEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZHZjSFJwYjI1ekxtUnBjM1JoYm1ObFJtNUJjbWR6SUcxMWMzUWdZbVVnWkdWbWFXNWxaQ2NwTzF4dUlDQnBaaUFvWkdGMFlTNXNaVzVuZEdnZ0lUMDlJRzFsZEhKcFkzTXViR1Z1WjNSb0lIeDhJR1JoZEdFdWJHVnVaM1JvSUNFOVBTQnZjSFJwYjI1ekxtUnBjM1JoYm1ObFJtNUJjbWR6TG14bGJtZDBhQ0I4ZkNCa1lYUmhMbXhsYm1kMGFDQWhQVDBnZDJWcFoyaDBjeTVzWlc1bmRHZ3BYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0Nka1lYUmhMQ0J0WlhSeWFXTnpJR0Z1WkNCdmNIUnBiMjV6SUdGdVpDQjNaV2xuYUhSeklHMTFjM1FnYUdGMlpTQjBhR1VnYzJGdFpTQnNaVzVuZEdnbktUdGNiaUFnY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sS0daMWJtTjBhVzl1S0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnZTF4dUlDQWdJR052Ym5OMElIZHZjbXRsY2lBOUlHNWxkeUJYYjNKclpYSW9ibVYzSUZWU1RDZ25MaTl0ZFd4cGRDMWpiMngxYlc0dFpHbHRMWEpsWkhWalpYSXRkMjl5YTJWeUp5d2dhVzF3YjNKMExtMWxkR0V1ZFhKc0tTazdYRzRnSUNBZ2QyOXlhMlZ5TG5CdmMzUk5aWE56WVdkbEtIdGNiaUFnSUNBZ0lHTnZiSFZ0Ym5ORVlYUmhPaUJrWVhSaExGeHVJQ0FnSUNBZ1pHbHpkR0Z1WTJWTlpYUnlhV056T2lCdFpYUnlhV056TEZ4dUlDQWdJQ0FnYldWMGFHOWtPaUJ0WlhSb2IyUXNYRzRnSUNBZ0lDQnZjSFJwYjI1ek9pQnZjSFJwYjI1ekxGeHVJQ0FnSUNBZ2QyVnBaMmgwY3pvZ2QyVnBaMmgwY3l4Y2JpQWdJQ0FnSUdGblozSmxaMkYwYVc5dVRXVjBhRzlrT2lCaFoyZHlaV2RoZEdsdmJrMWxkR2h2WkN4Y2JpQWdJQ0I5S1R0Y2JpQWdJQ0JqYjI1emRDQjBaWEp0YVc1aGRHVlRkV0lnUFNCbmNtOXJMbVYyWlc1MGN5NXZia04xYzNSdmJVVjJaVzUwS0VSSlRVVk9VMGxQVGtGTVNWUlpYMUpGUkZWRFJWSmZWRVZTVFVsT1FWUkZYMFZXUlU1VUtTNXpkV0p6WTNKcFltVW9LQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnZDI5eWEyVnlQeTUwWlhKdGFXNWhkR1VvS1R0Y2JpQWdJQ0FnSUgwZ1ptbHVZV3hzZVNCN1hHNGdJQ0FnSUNBZ0lIUmxjbTFwYm1GMFpWTjFZaTUxYm5OMVluTmpjbWxpWlNncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcE8xeHVJQ0FnSUhkdmNtdGxjaTV2Ym0xbGMzTmhaMlVnUFNBb2UyUmhkR0U2SUh0bGNuSnZjaXdnWlcxaVpXUmthVzVuTENCbGNHOWphRTUxYlN3Z1pYQnZZMmh6VEdWdVozUm9mWDBwSUQwK0lIdGNiaUFnSUNBZ0lHbG1JQ2doYVhOT2FXd29aWEJ2WTJoT2RXMHBJQ1ltSUNGcGMwNXBiQ2hsY0c5amFITk1aVzVuZEdncEtTQjdYRzRnSUNBZ0lDQWdJSEJ5YjJkeVpYTnpSblZ1WXlBbUppQndjbTluY21WemMwWjFibU1vWlhCdlkyaE9kVzBzSUdWd2IyTm9jMHhsYm1kMGFDd2daVzFpWldSa2FXNW5LVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdkR1Z5YldsdVlYUmxVM1ZpTG5WdWMzVmljMk55YVdKbEtDazdYRzRnSUNBZ0lDQnBaaUFvWlhKeWIzSXBYRzRnSUNBZ0lDQWdJSEpsYW1WamRDaGxjbkp2Y2lrN1hHNGdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJSEpsYzI5c2RtVW9aVzFpWldSa2FXNW5LVHRjYmlBZ0lDQWdJQzh2SUhSbGNtMXBibUYwWlNCMGFHVWdkMjl5YTJWeUlHRm1kR1Z5SUhOdmJXVWdkR2x0WlM0Z2FXMXRhV1JwWVhSbElIUmxjbTFwYm1GMGFXOXVJR05oZFhObGN5QmpjbUZ6YUdWekxseHVJQ0FnSUNBZ2MyVjBWR2x0Wlc5MWRDZ29LU0E5UGlCM2IzSnJaWEl1ZEdWeWJXbHVZWFJsS0Nrc0lERXdNQ2s3WEc0Z0lDQWdmVHRjYmlBZ2ZTazdYRzU5WEc0aVhYMD0iLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbi8vIHRlc3RzIGZvciBkaW1lbnNpb25hbGl0eSByZWR1Y3Rpb25cbmltcG9ydCB7IGNhdGVnb3J5LCBleHBlY3QsIHRlc3QgfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy90ZXN0JztcbmltcG9ydCB7IERpbVJlZHVjdGlvbk1ldGhvZHMgfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9tdWx0aS1jb2x1bW4tZGltZW5zaW9uYWxpdHktcmVkdWN0aW9uL3R5cGVzJztcbmltcG9ydCB7IE51bWJlck1ldHJpY3NOYW1lcywgU3RyaW5nTWV0cmljc05hbWVzIH0gZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdHlwZWQtbWV0cmljcyc7XG5pbXBvcnQgeyBtdWx0aUNvbFJlZHVjZURpbWVuc2lvbmFsaXR5IH0gZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvbXVsdGktY29sdW1uLWRpbWVuc2lvbmFsaXR5LXJlZHVjdGlvbi9yZWR1Y2UtZGltZW5zaW9uYWxpdHknO1xuY29uc3QgREVNT0dfQ09MTkFNRVMgPSB7XG4gICAgU1VCSjogJ3N1YmonLFxuICAgIFNUVURZOiAnc3R1ZHknLFxuICAgIFNJVEU6ICdzaXRlJyxcbiAgICBBR0U6ICdhZ2UnLFxuICAgIFNFWDogJ3NleCcsXG4gICAgUkFDRTogJ3JhY2UnLFxuICAgIERJU0VBU0U6ICdkaXNlYXNlJyxcbiAgICBXRUlHSFQ6ICd3ZWlnaHQnLFxuICAgIEhFSUdIVDogJ2hlaWdodCcsXG59O1xuY2F0ZWdvcnkoJ0RpbWVuc2lvbmFsaXR5IHJlZHVjdGlvbjogVU1BUCcsICgpID0+IHtcbiAgICB0ZXN0KCdOdW1lcmljIGNvbHVtbicsICgpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICB5aWVsZCB0ZXN0RGltZW5zaW9uYWxpdHlSZWR1Y3Rpb25VSShbREVNT0dfQ09MTkFNRVMuQUdFXSwgRGltUmVkdWN0aW9uTWV0aG9kcy5VTUFQLCBbTnVtYmVyTWV0cmljc05hbWVzLkRpZmZlcmVuY2VdKTtcbiAgICB9KSwgeyB0aW1lb3V0OiAzMDAwMCB9KTtcbiAgICB0ZXN0KCdTdHJpbmcgY29sdW1uJywgKCkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIHlpZWxkIHRlc3REaW1lbnNpb25hbGl0eVJlZHVjdGlvblVJKFtERU1PR19DT0xOQU1FUy5TRVhdLCBEaW1SZWR1Y3Rpb25NZXRob2RzLlVNQVAsIFtTdHJpbmdNZXRyaWNzTmFtZXMuT25laG90XSk7XG4gICAgfSksIHsgdGltZW91dDogMzAwMDAgfSk7XG4gICAgdGVzdCgnTnVtZXJpYyBhbmQgc3RyaW5nIGNvbHVtbnMnLCAoKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgeWllbGQgdGVzdERpbWVuc2lvbmFsaXR5UmVkdWN0aW9uVUkoW0RFTU9HX0NPTE5BTUVTLlNFWCwgREVNT0dfQ09MTkFNRVMuQUdFXSwgRGltUmVkdWN0aW9uTWV0aG9kcy5VTUFQLCBbU3RyaW5nTWV0cmljc05hbWVzLk9uZWhvdCwgTnVtYmVyTWV0cmljc05hbWVzLkRpZmZlcmVuY2VdKTtcbiAgICB9KSk7XG4gICAgdGVzdCgnQWxsIGRlbW9nIGNvbHVtbnMnLCAoKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgY29uc3QgYWxsRGVtb2dDb2xzID0gZ3Jvay5kYXRhLmRlbW8uZGVtb2coMTApLmNvbHVtbnMudG9MaXN0KClcbiAgICAgICAgICAgIC5maWx0ZXIoKGNvbCkgPT4gT2JqZWN0LnZhbHVlcyhERU1PR19DT0xOQU1FUykuaW5jbHVkZXMoY29sLm5hbWUpKTtcbiAgICAgICAgO1xuICAgICAgICBjb25zdCBkaXN0RnVuY3MgPSBhbGxEZW1vZ0NvbHMubWFwKChjb2wpID0+IGNvbC50eXBlID09PSBERy5DT0xVTU5fVFlQRS5TVFJJTkcgP1xuICAgICAgICAgICAgU3RyaW5nTWV0cmljc05hbWVzLk9uZWhvdCA6IE51bWJlck1ldHJpY3NOYW1lcy5EaWZmZXJlbmNlKTtcbiAgICAgICAgY29uc3QgY29sTmFtZXMgPSBhbGxEZW1vZ0NvbHMubWFwKChjb2wpID0+IGNvbC5uYW1lKTtcbiAgICAgICAgeWllbGQgdGVzdERpbWVuc2lvbmFsaXR5UmVkdWN0aW9uVUkoY29sTmFtZXMsIERpbVJlZHVjdGlvbk1ldGhvZHMuVU1BUCwgZGlzdEZ1bmNzKTtcbiAgICB9KSk7XG59KTtcbmNhdGVnb3J5KCdEaW1lbnNpb25hbGl0eSByZWR1Y3Rpb246IFQtU05FJywgKCkgPT4ge1xuICAgIHRlc3QoJ051bWVyaWMgY29sdW1uJywgKCkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIHlpZWxkIHRlc3REaW1lbnNpb25hbGl0eVJlZHVjdGlvblVJKFtERU1PR19DT0xOQU1FUy5BR0VdLCBEaW1SZWR1Y3Rpb25NZXRob2RzLlRfU05FLCBbTnVtYmVyTWV0cmljc05hbWVzLkRpZmZlcmVuY2VdKTtcbiAgICB9KSwgeyB0aW1lb3V0OiAzMDAwMCB9KTtcbiAgICB0ZXN0KCdTdHJpbmcgY29sdW1uJywgKCkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIHlpZWxkIHRlc3REaW1lbnNpb25hbGl0eVJlZHVjdGlvblVJKFtERU1PR19DT0xOQU1FUy5TRVhdLCBEaW1SZWR1Y3Rpb25NZXRob2RzLlRfU05FLCBbU3RyaW5nTWV0cmljc05hbWVzLk9uZWhvdF0pO1xuICAgIH0pLCB7IHRpbWVvdXQ6IDMwMDAwIH0pO1xuICAgIHRlc3QoJ051bWVyaWMgYW5kIHN0cmluZyBjb2x1bW5zJywgKCkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIHlpZWxkIHRlc3REaW1lbnNpb25hbGl0eVJlZHVjdGlvblVJKFtERU1PR19DT0xOQU1FUy5TRVgsIERFTU9HX0NPTE5BTUVTLkFHRV0sIERpbVJlZHVjdGlvbk1ldGhvZHMuVF9TTkUsIFtTdHJpbmdNZXRyaWNzTmFtZXMuT25laG90LCBOdW1iZXJNZXRyaWNzTmFtZXMuRGlmZmVyZW5jZV0pO1xuICAgIH0pKTtcbiAgICB0ZXN0KCdBbGwgZGVtb2cgY29sdW1ucycsICgpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCBhbGxEZW1vZ0NvbHMgPSBncm9rLmRhdGEuZGVtby5kZW1vZygxMCkuY29sdW1ucy50b0xpc3QoKVxuICAgICAgICAgICAgLmZpbHRlcigoY29sKSA9PiBPYmplY3QudmFsdWVzKERFTU9HX0NPTE5BTUVTKS5pbmNsdWRlcyhjb2wubmFtZSkpO1xuICAgICAgICBjb25zdCBkaXN0RnVuY3MgPSBhbGxEZW1vZ0NvbHMubWFwKChjb2wpID0+IGNvbC50eXBlID09PSBERy5DT0xVTU5fVFlQRS5TVFJJTkcgP1xuICAgICAgICAgICAgU3RyaW5nTWV0cmljc05hbWVzLk9uZWhvdCA6IE51bWJlck1ldHJpY3NOYW1lcy5EaWZmZXJlbmNlKTtcbiAgICAgICAgY29uc3QgY29sTmFtZXMgPSBhbGxEZW1vZ0NvbHMubWFwKChjb2wpID0+IGNvbC5uYW1lKTtcbiAgICAgICAgeWllbGQgdGVzdERpbWVuc2lvbmFsaXR5UmVkdWN0aW9uVUkoY29sTmFtZXMsIERpbVJlZHVjdGlvbk1ldGhvZHMuVF9TTkUsIGRpc3RGdW5jcyk7XG4gICAgfSkpO1xufSk7XG5mdW5jdGlvbiB0ZXN0RGltZW5zaW9uYWxpdHlSZWR1Y3Rpb25VSShjb2x1bW5zLCBtZXRob2ROYW1lLCBtZXRyaWNzKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgY29uc3QgZGYgPSBncm9rLmRhdGEuZGVtby5kZW1vZygxMDApO1xuICAgICAgICBjb25zdCBfdHYgPSBncm9rLnNoZWxsLmFkZFRhYmxlVmlldyhkZik7XG4gICAgICAgIGNvbnN0IGRpbVJlZFJlc3VsdCA9IHlpZWxkIG11bHRpQ29sUmVkdWNlRGltZW5zaW9uYWxpdHkoZGYsIGNvbHVtbnMubWFwKChjKSA9PiBkZi5jb2woYykpLCBtZXRob2ROYW1lLCBtZXRyaWNzLCBjb2x1bW5zLm1hcCgoKSA9PiAxKSwgY29sdW1ucy5tYXAoKCkgPT4gdW5kZWZpbmVkKSwgJ0VVQ0xJREVBTicsIHRydWUsIHRydWUsIHsgcHJlcHJvY2Vzc2luZ0Z1bmNBcmdzOiBjb2x1bW5zLm1hcCgoKSA9PiAoe30pKSB9KTtcbiAgICAgICAgZXhwZWN0KCEhZGltUmVkUmVzdWx0LCB0cnVlLCAnTm8gc2NhdHRlcnBsb3QgcmV0dXJuZWQnKTtcbiAgICAgICAgY29uc3QgYWRkZWRFbWJlZGRpbmdzQ29scyA9IGRmLmNvbHVtbnMubmFtZXMoKS5maWx0ZXIoKGMpID0+IGMudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdlbWJlZCcpKTtcbiAgICAgICAgZXhwZWN0KGFkZGVkRW1iZWRkaW5nc0NvbHMubGVuZ3RoLCAyLCAnV3JvbmcgbnVtYmVyIG9mIGVtYmVkZGluZ3MgYWRkZWQnKTtcbiAgICAgICAgY29uc3QgY2x1c3RlckNvbE5hbWUgPSBkZi5jb2x1bW5zLm5hbWVzKCkuZmluZCgoYykgPT4gYy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ2NsdXN0ZXInKSk7XG4gICAgICAgIGV4cGVjdCghIWNsdXN0ZXJDb2xOYW1lLCB0cnVlLCAnTm8gY2x1c3RlciBjb2x1bW4gYWRkZWQnKTtcbiAgICAgICAgZm9yIChjb25zdCBlbWJlZENvbE5hbWUgb2YgYWRkZWRFbWJlZGRpbmdzQ29scykge1xuICAgICAgICAgICAgY29uc3QgYyA9IGRmLmNvbChlbWJlZENvbE5hbWUpO1xuICAgICAgICAgICAgZXhwZWN0KG5ldyBBcnJheShjLmxlbmd0aCkuZmlsbChudWxsKS5ldmVyeSgoXywgaSkgPT4gIWMuaXNOb25lKGkpICYmICFpc05hTihjLmdldChpKSkpLCB0cnVlLCAnRW1iZWRkaW5nIGNvbHVtbiBoYXMgbnVsbC1pc2ggdmFsdWVzJyk7XG4gICAgICAgIH1cbiAgICAgICAgeWllbGQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTAwKSk7XG4gICAgfSk7XG59XG4iLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5pbXBvcnQgeyBydW5UZXN0cywgdGVzdHMgfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy90ZXN0JztcbmltcG9ydCAnLi90ZXN0cy9kaW0tcmVkdWN0aW9uLXRlc3RzJztcbmV4cG9ydCBjb25zdCBfcGFja2FnZSA9IG5ldyBERy5QYWNrYWdlKCk7XG5leHBvcnQgeyB0ZXN0cyB9O1xuLy9uYW1lOiB0ZXN0XG4vL2lucHV0OiBzdHJpbmcgY2F0ZWdvcnkge29wdGlvbmFsOiB0cnVlfVxuLy9pbnB1dDogc3RyaW5nIHRlc3Qge29wdGlvbmFsOiB0cnVlfVxuLy9pbnB1dDogb2JqZWN0IHRlc3RDb250ZXh0IHtvcHRpb25hbDogdHJ1ZX1cbi8vb3V0cHV0OiBkYXRhZnJhbWUgcmVzdWx0XG5leHBvcnQgZnVuY3Rpb24gdGVzdChjYXRlZ29yeSwgdGVzdCwgdGVzdENvbnRleHQpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgcnVuVGVzdHMoeyBjYXRlZ29yeSwgdGVzdCwgdGVzdENvbnRleHQgfSk7XG4gICAgICAgIHJldHVybiBERy5EYXRhRnJhbWUuZnJvbU9iamVjdHMoZGF0YSk7XG4gICAgfSk7XG59XG4iXSwibmFtZXMiOlsiX3NjcmlwdERpciIsImV4cG9ydENwcERic2NhbkxpYiIsImRvY3VtZW50IiwiY3VycmVudFNjcmlwdCIsInNyYyIsInVuZGVmaW5lZCIsInJlYWR5UHJvbWlzZVJlc29sdmUiLCJyZWFkeVByb21pc2VSZWplY3QiLCJNb2R1bGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInJlYWRCaW5hcnkiLCJtb2R1bGVPdmVycmlkZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJFTlZJUk9OTUVOVF9JU19XRUIiLCJ3aW5kb3ciLCJFTlZJUk9OTUVOVF9JU19XT1JLRVIiLCJpbXBvcnRTY3JpcHRzIiwic2NyaXB0RGlyZWN0b3J5IiwicHJvY2VzcyIsInZlcnNpb25zIiwibm9kZSIsInNlbGYiLCJsb2NhdGlvbiIsImhyZWYiLCJpbmRleE9mIiwic3Vic3RyIiwicmVwbGFjZSIsImxhc3RJbmRleE9mIiwidXJsIiwieGhyIiwiWE1MSHR0cFJlcXVlc3QiLCJvcGVuIiwicmVzcG9uc2VUeXBlIiwic2VuZCIsIlVpbnQ4QXJyYXkiLCJjb25zb2xlIiwibG9nIiwiYmluZCIsIndhc21CaW5hcnkiLCJ3YXNtTWVtb3J5IiwiZXJyIiwid2FybiIsIldlYkFzc2VtYmx5IiwiYWJvcnQiLCJIRUFQOCIsIkhFQVBVOCIsIkhFQVBVMzIiLCJBQk9SVCIsInVwZGF0ZU1lbW9yeVZpZXdzIiwiYiIsImJ1ZmZlciIsIkludDhBcnJheSIsIkludDE2QXJyYXkiLCJJbnQzMkFycmF5IiwiVWludDE2QXJyYXkiLCJVaW50MzJBcnJheSIsIkZsb2F0MzJBcnJheSIsIkZsb2F0NjRBcnJheSIsIl9fQVRQUkVSVU5fXyIsIl9fQVRJTklUX18iLCJfX0FUUE9TVFJVTl9fIiwicnVuRGVwZW5kZW5jaWVzIiwicnVuRGVwZW5kZW5jeVdhdGNoZXIiLCJkZXBlbmRlbmNpZXNGdWxmaWxsZWQiLCJ3aGF0IiwiZSIsIlJ1bnRpbWVFcnJvciIsIndhc21CaW5hcnlGaWxlIiwicGF0aCIsImlzRGF0YVVSSSIsImZpbGVuYW1lIiwic3RhcnRzV2l0aCIsImdldEJpbmFyeSIsImZpbGUiLCJpbnN0YW50aWF0ZUFycmF5QnVmZmVyIiwiYmluYXJ5RmlsZSIsImltcG9ydHMiLCJyZWNlaXZlciIsImZldGNoIiwidGhlbiIsImNyZWRlbnRpYWxzIiwicmVzcG9uc2UiLCJjYXRjaCIsImdldEJpbmFyeVByb21pc2UiLCJiaW5hcnkiLCJpbnN0YW50aWF0ZSIsImluc3RhbmNlIiwicmVhc29uIiwiY2FsbFJ1bnRpbWVDYWxsYmFja3MiLCJjYWxsYmFja3MiLCJsZW5ndGgiLCJzaGlmdCIsIkV4Y2VwdGlvbkluZm8iLCJleGNQdHIiLCJ0aGlzIiwicHRyIiwic2V0X3R5cGUiLCJ0eXBlIiwiZ2V0X3R5cGUiLCJzZXRfZGVzdHJ1Y3RvciIsImRlc3RydWN0b3IiLCJnZXRfZGVzdHJ1Y3RvciIsInNldF9jYXVnaHQiLCJjYXVnaHQiLCJnZXRfY2F1Z2h0Iiwic2V0X3JldGhyb3duIiwicmV0aHJvd24iLCJnZXRfcmV0aHJvd24iLCJpbml0Iiwic2V0X2FkanVzdGVkX3B0ciIsImFkanVzdGVkUHRyIiwiZ2V0X2FkanVzdGVkX3B0ciIsImdldF9leGNlcHRpb25fcHRyIiwiX19fY3hhX2lzX3BvaW50ZXJfdHlwZSIsImFkanVzdGVkIiwiZW1zY3JpcHRlbl9yZWFsbG9jX2J1ZmZlciIsInNpemUiLCJncm93IiwiYnl0ZUxlbmd0aCIsImdldENGdW5jIiwiaWRlbnQiLCJVVEY4RGVjb2RlciIsIlRleHREZWNvZGVyIiwiY2NhbGwiLCJyZXR1cm5UeXBlIiwiYXJnVHlwZXMiLCJhcmdzIiwib3B0cyIsInRvQyIsInN0ciIsInJldCIsImxlbiIsImkiLCJjIiwiY2hhckNvZGVBdCIsImxlbmd0aEJ5dGVzVVRGOCIsInN0YWNrQWxsb2MiLCJvdXRQdHIiLCJtYXhCeXRlc1RvV3JpdGUiLCJoZWFwIiwib3V0SWR4IiwiZW5kSWR4IiwidSIsInN0cmluZ1RvVVRGOEFycmF5Iiwic3RyaW5nVG9VVEY4Iiwic3RyaW5nVG9VVEY4T25TdGFjayIsImFyciIsImFycmF5Iiwic2V0IiwiZnVuYyIsImNBcmdzIiwic3RhY2siLCJjb252ZXJ0ZXIiLCJzdGFja1NhdmUiLCJhcHBseSIsInN0YWNrUmVzdG9yZSIsImhlYXBPckFycmF5IiwiaWR4IiwibWF4Qnl0ZXNUb1JlYWQiLCJlbmRQdHIiLCJkZWNvZGUiLCJzdWJhcnJheSIsInUwIiwidTEiLCJ1MiIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsImNoIiwiVVRGOEFycmF5VG9TdHJpbmciLCJCb29sZWFuIiwiY29udmVydFJldHVyblZhbHVlIiwib25Eb25lIiwiY2FsbGVkUnVuIiwid2FzbUltcG9ydHMiLCJkZXN0IiwibnVtIiwiY29weVdpdGhpbiIsInJlcXVlc3RlZFNpemUiLCJ4Iiwib2xkU2l6ZSIsIm1heEhlYXBTaXplIiwiY3V0RG93biIsIm92ZXJHcm93bkhlYXBTaXplIiwiTWF0aCIsIm1pbiIsIm1heCIsImNhbGxiYWNrIiwiaW5mbyIsInJlY2VpdmVJbnN0YW5jZSIsIm1vZHVsZSIsImNiIiwiZXhwb3J0cyIsInVuc2hpZnQiLCJpZCIsImNsZWFySW50ZXJ2YWwiLCJyZW1vdmVSdW5EZXBlbmRlbmN5IiwicmVzdWx0IiwiaW5zdGFudGlhdGVTdHJlYW1pbmciLCJjcmVhdGVXYXNtIiwiYXJndW1lbnRzIiwicnVuIiwiZG9SdW4iLCJwb3N0UnVuIiwicHJlUnVuIiwic2V0VGltZW91dCIsIm51bWVyaWNBcmdzIiwiZXZlcnkiLCJydW5DYWxsZXIiLCJwb3AiLCJyZWFkeSIsImRlZmluZSIsIl9fZXNNb2R1bGUiLCJkaWdlc3RMZW5ndGgiLCJibG9ja1NpemUiLCJLIiwiaGFzaEJsb2NrcyIsInciLCJ2IiwicCIsInBvcyIsImEiLCJkIiwiZiIsImciLCJoIiwiaiIsInQxIiwidDIiLCJIYXNoIiwic3RhdGUiLCJ0ZW1wIiwiYnVmZmVyTGVuZ3RoIiwiYnl0ZXNIYXNoZWQiLCJmaW5pc2hlZCIsInJlc2V0IiwicHJvdG90eXBlIiwiY2xlYW4iLCJ1cGRhdGUiLCJkYXRhIiwiZGF0YUxlbmd0aCIsIkVycm9yIiwiZGF0YVBvcyIsImZpbmlzaCIsIm91dCIsImxlZnQiLCJiaXRMZW5IaSIsImJpdExlbkxvIiwicGFkTGVuZ3RoIiwiZGlnZXN0IiwiX3NhdmVTdGF0ZSIsIl9yZXN0b3JlU3RhdGUiLCJmcm9tIiwiSE1BQyIsImtleSIsImlubmVyIiwib3V0ZXIiLCJwYWQiLCJpc3RhdGUiLCJvc3RhdGUiLCJoYXNoIiwiaG1hYyIsImZpbGxCdWZmZXIiLCJjb3VudGVyIiwiaGtkZlNhbHQiLCJoa2RmIiwic2FsdCIsIm9rbSIsImhtYWNfIiwiYnVmcG9zIiwiZmlsbCIsInBia2RmMiIsInBhc3N3b3JkIiwiaXRlcmF0aW9ucyIsImRrTGVuIiwicHJmIiwiY3RyIiwidCIsImRrIiwiayIsImZhY3RvcnkiLCJzaGEyNTYiLCJzdHIxIiwic3RyMiIsIm9wdGlvbnMiLCJqYXJvRGlzdCIsImNhc2VTZW5zaXRpdmUiLCJ0b1VwcGVyQ2FzZSIsIm0iLCJsZW4xIiwibGVuMiIsImZsb29yIiwic3RyMUhhc2giLCJBcnJheSIsInN0cjJIYXNoIiwicG9pbnQiLCJjaGFyQXQiLCJqYXJvIiwicHJlZml4IiwibWluSW5kZXgiLCJfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJjYWNoZWRNb2R1bGUiLCJsb2FkZWQiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwiY2FsbCIsImFtZE8iLCJkZWZpbml0aW9uIiwibyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsImNodW5rSWQiLCJnbG9iYWxUaGlzIiwiRnVuY3Rpb24iLCJobWQiLCJjcmVhdGUiLCJjaGlsZHJlbiIsIm9iaiIsInByb3AiLCJoYXNPd25Qcm9wZXJ0eSIsInIiLCJTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsInZhbHVlIiwic2NyaXB0VXJsIiwic2NyaXB0cyIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiYmFzZVVSSSIsIkRHIiwiZ3JvayIsInRlc3REYXRhIiwiY29sdW1ucyIsImFkZCIsIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwicmVqZWN0ZWQiLCJkb25lIiwiU1RBTkRBUlRfVElNRU9VVCIsIkJFTkNITUFSS19USU1FT1VUIiwic3RkTG9nIiwic3RkSW5mbyIsInN0ZFdhcm4iLCJzdGRFcnJvciIsImVycm9yIiwidGVzdHMiLCJhdXRvVGVzdHNDYXROYW1lIiwiZGVtb0NhdE5hbWUiLCJkZXRlY3RvcnNDYXROYW1lIiwiY29yZUNhdE5hbWUiLCJ3YXNSZWdpc3RlcmVkIiwiY3VycmVudENhdGVnb3J5IiwiYXNzdXJlIiwiRGltUmVkdWN0aW9uTWV0aG9kcyIsIlN0cmluZ01ldHJpY3NOYW1lcyIsIlZlY3Rvck1ldHJpY3NOYW1lcyIsIkJpdEFycmF5TWV0cmljc05hbWVzIiwiSW50QXJyYXlNZXRyaWNzTmFtZXMiLCJOdW1iZXJNZXRyaWNzTmFtZXMiLCJOdW1iZXJBcnJheU1ldHJpY3NOYW1lcyIsIkRpc3RhbmNlTWV0cmljc1N1YmplY3RzIiwibm90TnVsbCIsIm5hbWUiLCJUZXN0Q29udGV4dCIsImNvbnN0cnVjdG9yIiwiY2F0Y2hVbmhhbmRsZWQiLCJyZXBvcnQiLCJUZXN0IiwiY2F0ZWdvcnkiLCJ0ZXN0IiwiX2EiLCJ0aW1lb3V0IiwicHVzaCIsImV4cGVjdCIsImFjdHVhbCIsImV4cGVjdGVkIiwidGVzdHNfIiwiY2xlYXIiLCJhZGROYW1lc3BhY2UiLCJzIiwiUmVnRXhwIiwibnFOYW1lIiwiZ2V0UmVzdWx0IiwidG9TdHJpbmciLCJleGVjVGVzdCIsInByZWRpY2F0ZSIsImxvZ3MiLCJjYXRlZ29yeVRpbWVvdXQiLCJwYWNrYWdlTmFtZSIsInZlcmJvc2UiLCJfYiIsIl9jIiwiX2QiLCJfZSIsIl9mIiwiZmlsdGVyIiwidG9Mb3dlckNhc2UiLCJza2lwIiwic2tpcFJlYXNvbiIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInN1Y2Nlc3MiLCJtcyIsInNraXBwZWQiLCJ0aW1lb3V0XyIsImlzQWdncmVnYXRlZCIsImNvbCIsInN0YXRzIiwic3VtIiwiZGYiLCJyZW1vdmUiLCJyb3dzIiwicmVtb3ZlV2hlcmUiLCJ0b0NzdiIsImpvaW4iLCJwYXJhbXMiLCJyZXMiLCJrZXlzIiwicmVkdWNlIiwiYWNjIiwiZGVsYXkiLCJ0ZXN0VGltZW91dCIsInRpbWVvdXRQcm9taXNlIiwiXyIsInJhY2UiLCJjbGVhclRpbWVvdXQiLCJwZXEiLCJkaXN0YW5jZSIsInRtcCIsIm4iLCJsc3QiLCJwdiIsIm12Iiwic2MiLCJlcSIsInh2IiwibXllcnNfMzIiLCJtaGMiLCJwaGMiLCJoc2l6ZSIsImNlaWwiLCJ2c2l6ZSIsInZsZW4iLCJwYiIsIm1iIiwieGgiLCJwaCIsIm1oIiwic2NvcmUiLCJteWVyc194IiwiQml0QXJyYXkiLCJhcmciLCJkZWZhdWx0VmFsdWUiLCJfbGVuZ3RoIiwiX3ZlcnNpb24iLCJfdXBkYXRlTGV2ZWwiLCJfc2VsZWN0ZWRDb3VudCIsIl9zZWxlY3RlZENvdW50VmVyc2lvbiIsIl9zZWxlY3RlZEluZGV4ZXNWZXJzaW9uIiwiX3ZlcnNpb25lZE5hbWUiLCJfdmVyc2lvbmVkTmFtZVZlcnNpb24iLCJTSFJJTktfVEhSRVNIT0xEIiwiYnVmZiIsIl9jcmVhdGVCdWZmZXIiLCJfZGF0YSIsImdldFJhd0RhdGEiLCJhc3N1cmVHb2V6IiwiYXJnTmFtZSIsImFzc3VyZUluUmFuZ2UiLCJjb3B5IiwiZHN0IiwiY291bnQiLCJjb3B5RnJvbSIsIm90aGVyIiwibGVuZ3RoSW5JbnRzIiwidmVyc2lvbiIsImluY3JlbWVudFZlcnNpb24iLCJub3RpZnkiLCJ2ZXJzaW9uZWROYW1lIiwic2V0TGVuZ3RoIiwibkludHNOZWVkZWQiLCJuZXdEYXRhIiwic3RhdGljIiwic2V0MSIsInNldDIiLCJ2YWx1ZXMiLCJmbGFnIiwic2V0Qml0IiwiZnJvbVNlcSIsImJ5dGVzIiwibnVtMSIsIm51bTIiLCJjb3VudEJpdHMiLCJlcXVhbHMiLCJnZXRCaXQiLCJjbG9uZSIsImJpdEFycmF5Iiwic2V0QWxsIiwiaW52ZXJ0IiwiZmxhZ3MiLCJzZXRJbmRleGVzIiwiaW5kZXhlcyIsInNldEZhc3QiLCJldmVyeUluZGV4IiwiaW5kZXgiLCJhbnlJbmRleCIsInNldFdoZXJlIiwiY2hlY2siLCJhbGxvd0NsZWFyIiwiZ2V0UmFuZ2UiLCJ0byIsImZyb21WYWx1ZXMiLCJnZXRSYW5nZUFzTGlzdCIsInNldFJhbmdlIiwiZW5kIiwic2V0VHJ1ZSIsInNldEZhbHNlIiwic2V0UmFuZG9tIiwicmFuZG9tIiwiYW5kIiwiYW5kTm90Iiwibm90QW5kIiwibm90Iiwib3IiLCJ4b3IiLCJpbnNlcnRBdCIsIm9sZGxlbmd0aCIsInJlbW92ZUF0IiwiY29udGFpbnMiLCJyZW1vdmVCeU1hc2siLCJtYXNrIiwiZHN0SWR4Iiwic3JjSWR4IiwiZmluZE5leHQiLCJiaXQiLCJ0cnVlQ291bnQiLCJmYWxzZUNvdW50IiwiX29uQml0Q291bnQiLCJyZW1haW5pbmdCaXRzIiwiY291bnRXaGVyZSIsImFuZFdpdGhDb3VudEJpdHMiLCJzZWNvbmQiLCJhbGxUcnVlIiwiYWxsRmFsc2UiLCJhbnlUcnVlIiwiYW55RmFsc2UiLCJ1bnVzZWRCaXRzIiwibnVtSW50cyIsIl9maXJzdE9uQml0IiwiZmluZFByZXYiLCJfbGFzdE9uQml0IiwiaGFtbWluZyIsImRpc3RhbmNlRiIsInNjb3JpbmdNYXRyaXgiLCJhbHBoYWJldEluZGV4ZXMiLCJtYXRyaXgiLCJtaW5DaGFyQ29kZSIsIm1hcCIsInNjb3JyaW5nQXJyYXkiLCJlbnRyaWVzIiwiZm9yRWFjaCIsIm1hdHJpeFJvdyIsImtleTIiLCJpbmRleDIiLCJnZXREaXN0YW5jZUYiLCJ0aHJlc2hvbGQiLCJzZXExIiwic2VxMiIsImRpZmYiLCJzMWwiLCJzMmwiLCJ0aHJlc2hvbGRMaW1pdCIsImFicyIsImRlZmF1bHRBcmdzIiwiZ2FwT3BlbiIsImdhcEV4dGVuZCIsIk1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcyIsIm1tRGlzdGFuY2VGdW5jdGlvbnMiLCJIQU1NSU5HIiwiTEVWRU5TSFRFSU4iLCJORUVETEVNQU5OX1dVTlNDSCIsImNoYXJDb2RlQXJyYXkiLCJ2ZXJ0aWNhbEdhcHMiLCJob3Jpem9udGFsR2FwcyIsInByZXZSb3ciLCJjdXJyUm93IiwiZGlhZ29uYWwiLCJ0b3AiLCJtYXhTY29yZSIsIk1PTk9NRVJfQ0hFTUlDQUxfRElTVEFOQ0UiLCJ0YW5pbW90b1NpbWlsYXJpdHkiLCJ5IiwidG90YWwiLCJjb21tb24iLCJnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5Iiwic2ltaWxhcml0eSIsIlRhbmltb3RvIiwiRGljZSIsIkFzeW1tZXRyaWMiLCJCcmF1bkJsYW5xdWV0IiwiQ29zaW5lIiwiS3VsY3p5bnNraSIsIk1jQ29ubmF1Z2hleSIsIlJvZ290R29sZGJlcmciLCJSdXNzZWwiLCJTb2thbCIsIkhhbW1pbmciLCJFdWNsaWRlYW4iLCJ2ZWN0b3JEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwicSIsInBvdyIsInNxcnQiLCJzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiTGV2ZW5zaHRlaW4iLCJKYXJvV2lua2xlciIsIk1hbmhhdHRhbiIsInMxIiwiczIiLCJkaXN0IiwiT25laG90IiwiYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiZGljZVNpbWlsYXJpdHkiLCJhc3ltbWV0cmljU2ltaWxhcml0eSIsImJyYXVuQmxhbnF1ZXRTaW1pbGFyaXR5IiwiY29zaW5lU2ltaWxhcml0eSIsInRvdGFsUHJvZCIsImt1bGN6eW5za2lTaW1pbGFyaXR5IiwibWNDb25uYXVnaGV5U2ltaWxhcml0eSIsInJvZ290R29sZGJlcmdTaW1pbGFyaXR5IiwicnVzc2VsU2ltaWxhcml0eSIsInNva2FsU2ltaWxhcml0eSIsImludEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsIlRhbmltb3RvSW50QXJyYXkiLCJudW1iZXJEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiRGlmZmVyZW5jZSIsInJhbmdlIiwibnVtYmVyQXJyYXlEaXN0YW5jZU1ldHJpY3MiLCJDb21tb25JdGVtcyIsIm1vc3RDb21tb24iLCJTZXQiLCJhcnIxIiwiYXJyMiIsImkxIiwiaTIiLCJoYXMiLCJjb21tb25JdGVtc0NvdW50IiwiQXZhaWxhYmxlTWV0cmljcyIsInZhbCIsInVpIiwiQllQQVNTX0xBUkdFX0RBVEFfV0FSTklORyIsIlNIT1dfU0NBVFRFUlBMT1RfUFJPR1JFU1MiLCJXRUJHU0xBR0dSRUdBVElPTiIsIldFQkdQVURJU1RBTkNFIiwiTWF0cml4TWF0cml4T3BUeXBlIiwiTWF0cml4T3BUeXBlIiwiTWF0cml4U2NhbGFyT3BUeXBlIiwiRVVDTElERUFOIiwiTUFOSEFUVEFOIiwiVEFOSU1PVE8iLCJMRVZFTlNURUlOIiwiTkVFRExFTUFOX1dVTlNDSCIsIlNPS0FMIiwiQ09TSU5FIiwiQVNZTU1FVFJJQyIsIk9uZUhvdCIsIkRJTUVOU0lPTkFMSVRZX1JFRFVDRVJfVEVSTUlOQVRFX0VWRU5UIiwiRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMiLCJpc05pbCIsImdldEVtYmVkZGluZ1ZpZXdlck5hbWUiLCJtZXRob2QiLCJpdCIsImFzeW5jIiwibXVsdGlDb2xSZWR1Y2VEaW1lbnNpb25hbGl0eSIsInRhYmxlIiwibWV0cmljcyIsIndlaWdodHMiLCJwcmVwcm9jZXNzaW5nRnVuY3Rpb25zIiwiYWdncmVnYXRpb25NZXRob2QiLCJwbG90RW1iZWRkaW5ncyIsImNsdXN0ZXJFbWJlZGRpbmdzIiwiZGltUmVkT3B0aW9ucyIsInByZXByb2Nlc3NpbmdGdW5jQXJncyIsInVpT3B0aW9ucyIsInBvc3RQcm9jZXNzaW5nRnVuYyIsInBvc3RQcm9jRnVuY0FyZ3MiLCJzY2F0dGVyUGxvdFByb3BzIiwic2hvd1hBeGlzIiwic2hvd1lBeGlzIiwic2hvd1hTZWxlY3RvciIsInNob3dZU2VsZWN0b3IiLCJ0diIsImRvUmVkdWNlIiwicGciLCJzY2F0dGVyUGxvdE5hbWUiLCJzY2F0dGVyUGxvdCIsImVtYmVkQ29sc05hbWVzIiwiYXhlcyIsImNvbE5hbWVJbmQiLCJuYW1lcyIsImluY2x1ZGVzIiwiZ2V0RW1iZWRkaW5nQ29sc05hbWVzIiwicHJvZ3Jlc3NGdW5jIiwiX25FcG9jaCIsImVwb2Noc0xlbmd0aCIsImVtYmVkZGluZ3MiLCJlbWJlZFhDb2wiLCJlbWJlZFlDb2wiLCJieU5hbWUiLCJyb3dDb3VudCIsInRpdGxlIiwicm9vdCIsInByb2dyZXNzIiwidG9GaXhlZCIsImdldERpbVJlZCIsInJlc29sdmVGIiwic3ViIiwidmlld2VyIiwiZ2V0T3B0aW9ucyIsImxvb2siLCJ1bnN1YnNjcmliZSIsImNsb3NlIiwiZGltUmVkUmVzUHJvbWlzZSIsImVuY29kZWRDb2xFbnRyaWVzIiwicGYiLCJkaXN0YW5jZUZuQXJncyIsImNvbElucHV0TmFtZSIsImlucHV0cyIsIm1ldHJpY0lucHV0TmFtZSIsInRvTGlzdCIsImRhdGFDb2xzIiwibWV0aG9kTmFtZSIsImRpc3RhbmNlTWV0cmljcyIsImRpc3RhbmNlQWdncmVnYXRpb24iLCJkaW1lbnNpb25hbGl0eVJlZHVjZVJlcyIsIndvcmtlciIsIldvcmtlciIsIlVSTCIsInBvc3RNZXNzYWdlIiwiY29sdW1uc0RhdGEiLCJ0ZXJtaW5hdGVTdWIiLCJzdWJzY3JpYmUiLCJ0ZXJtaW5hdGUiLCJvbm1lc3NhZ2UiLCJlbWJlZGRpbmciLCJlcG9jaE51bSIsImNyZWF0ZU11bHRpRGltUmVkV29ya2VyIiwic3VtT2ZTcXVhcmVzIiwibWVhbiIsInN0ZERldkludmVyc2UiLCJub3JtYWxpemUiLCJnZXROb3JtYWxpemVkRW1iZWRkaW5ncyIsImNsdXN0ZXJQZyIsImNsdXN0ZXJSZXMiLCJlbWJlZFgiLCJlbWJlZFkiLCJlcHNpbG9uIiwibWluUHRzIiwiY2x1c3RlcnMiLCJnZXREYnNjYW5Xb3JrZXIiLCJkYlNjYW5FcHNpbG9uIiwiZGJTY2FuTWluUHRzIiwiY2x1c3RlckNvbE5hbWUiLCJnZXRVbnVzZWROYW1lIiwiYWRkTmV3U3RyaW5nIiwicHJvcHMiLCJjb2xvckNvbHVtbk5hbWUiLCJjb2wxSW5wdXROYW1lIiwiY29sMklucHV0TmFtZSIsInByZXBhcmUiLCJoZWxwVXJsIiwiZmFzdFJvd0NvdW50Iiwib25PSyIsIm9uQ2FuY2VsIiwic2hvdyIsIkRFTU9HX0NPTE5BTUVTIiwiU1VCSiIsIlNUVURZIiwiU0lURSIsIkFHRSIsIlNFWCIsIlJBQ0UiLCJESVNFQVNFIiwiV0VJR0hUIiwiSEVJR0hUIiwidGVzdERpbWVuc2lvbmFsaXR5UmVkdWN0aW9uVUkiLCJhZGRlZEVtYmVkZGluZ3NDb2xzIiwiZmluZCIsImVtYmVkQ29sTmFtZSIsImlzTm9uZSIsImlzTmFOIiwiVU1BUCIsImFsbERlbW9nQ29scyIsImRpc3RGdW5jcyIsImNvbE5hbWVzIiwiVF9TTkUiLCJfcGFja2FnZSIsInRlc3RDb250ZXh0IiwiX2ciLCJwYWNrYWdlXyIsInBhY2thZ2UiLCJwYWNrYWdlSWQiLCJtb2R1bGVUZXN0cyIsInRlc3RGdW5jdGlvbnMiLCJ0YWdzIiwic3BsaXQiLCJjYXQiLCJvdXRwdXRzIiwibW9kdWxlQXV0b1Rlc3RzIiwibW9kdWxlRGVtbyIsIm1vZHVsZURldGVjdG9ycyIsInBhY2tGdW5jdGlvbnMiLCJsaXN0IiwicmVnIiwiZGVtbyIsImlzQXJyYXkiLCJtYXRjaEFsbCIsInBhcnNlSW50Iiwid2FpdCIsImZyaWVuZGx5TmFtZSIsImhhc1RhZyIsInNlbVR5cGUiLCJpbml0QXV0b1Rlc3RzIiwicmVzdWx0cyIsImNhdGVnb3JpZXMiLCJyZWRlZmluZUNvbnNvbGUiLCJleGNsdWRlIiwic29tZSIsImJlZm9yZSIsImJlZm9yZVN0YXR1cyIsImFmdGVyIiwiYWZ0ZXJTdGF0dXMiLCJzdWNjZXNzZnVsIiwiZmFpbGVkIiwiZmFpbGVkXyIsInBhc3NlZCIsImxvZ2dlciIsImRlc2NyaXB0aW9uIiwicnVuVGVzdHMiXSwic291cmNlUm9vdCI6IiJ9
|
|
1
|
+
var eda_test;(()=>{var t={5540:(t,e,n)=>{"use strict";t=n.hmd(t);var i,r=(i="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(t={}){var e,n,r=void 0!==t?t:{};r.ready=new Promise((function(t,i){e=t,n=i}));var o,s=Object.assign({},r),a="object"==typeof window,c="function"==typeof importScripts,l=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(a||c)&&(c?l=self.location.href:"undefined"!=typeof document&&document.currentScript&&(l=document.currentScript.src),i&&(l=i),l=0!==l.indexOf("blob:")?l.substr(0,l.replace(/[?#].*/,"").lastIndexOf("/")+1):"",c&&(o=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)})),r.print||console.log.bind(console);var u,h,f=r.printErr||console.warn.bind(console);Object.assign(r,s),s=null,r.arguments&&r.arguments,r.thisProgram&&r.thisProgram,r.quit&&r.quit,r.wasmBinary&&(u=r.wasmBinary),r.noExitRuntime,"object"!=typeof WebAssembly&&E("no native wasm support detected");var d,y,g,m=!1;function p(){var t=h.buffer;r.HEAP8=d=new Int8Array(t),r.HEAP16=new Int16Array(t),r.HEAP32=new Int32Array(t),r.HEAPU8=y=new Uint8Array(t),r.HEAPU16=new Uint16Array(t),r.HEAPU32=g=new Uint32Array(t),r.HEAPF32=new Float32Array(t),r.HEAPF64=new Float64Array(t)}var x=[],C=[],A=[],v=0,b=null,_=null;function E(t){r.onAbort&&r.onAbort(t),f(t="Aborted("+t+")"),m=!0,t+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(t);throw n(e),e}var N,w;function M(t){return t.startsWith("data:application/octet-stream;base64,")}function S(t){try{if(t==N&&u)return new Uint8Array(u);if(o)return o(t);throw"both async and sync fetching of the wasm failed"}catch(t){E(t)}}function I(t,e,n){return function(t){return u||!a&&!c||"function"!=typeof fetch?Promise.resolve().then((function(){return S(t)})):fetch(t,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+t+"'";return e.arrayBuffer()})).catch((function(){return S(t)}))}(t).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(t){return t})).then(n,(function(t){f("failed to asynchronously prepare wasm: "+t),E(t)}))}function O(t){for(;t.length>0;)t.shift()(r)}function T(t){this.excPtr=t,this.ptr=t-24,this.set_type=function(t){g[this.ptr+4>>2]=t},this.get_type=function(){return g[this.ptr+4>>2]},this.set_destructor=function(t){g[this.ptr+8>>2]=t},this.get_destructor=function(){return g[this.ptr+8>>2]},this.set_caught=function(t){t=t?1:0,d[this.ptr+12|0]=t},this.get_caught=function(){return 0!=d[this.ptr+12|0]},this.set_rethrown=function(t){t=t?1:0,d[this.ptr+13|0]=t},this.get_rethrown=function(){return 0!=d[this.ptr+13|0]},this.init=function(t,e){this.set_adjusted_ptr(0),this.set_type(t),this.set_destructor(e)},this.set_adjusted_ptr=function(t){g[this.ptr+16>>2]=t},this.get_adjusted_ptr=function(){return g[this.ptr+16>>2]},this.get_exception_ptr=function(){if(W(this.get_type()))return g[this.excPtr>>2];var t=this.get_adjusted_ptr();return 0!==t?t:this.excPtr}}function L(t){var e=h.buffer;try{return h.grow(t-e.byteLength+65535>>>16),p(),1}catch(t){}}function R(t){return r["_"+t]}M(N="wasmDbscan.wasm")||(w=N,N=r.locateFile?r.locateFile(w,l):l+w);var D="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function k(t,e,n,i,r){var o={string:t=>{var e=0;return null!=t&&0!==t&&(e=function(t){var e=function(t){for(var e=0,n=0;n<t.length;++n){var i=t.charCodeAt(n);i<=127?e++:i<=2047?e+=2:i>=55296&&i<=57343?(e+=4,++n):e+=3}return e}(t)+1,n=F(e);return function(t,e,n){!function(t,e,n,i){if(!(i>0))return 0;for(var r=n+i-1,o=0;o<t.length;++o){var s=t.charCodeAt(o);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&t.charCodeAt(++o)),s<=127){if(n>=r)break;e[n++]=s}else if(s<=2047){if(n+1>=r)break;e[n++]=192|s>>6,e[n++]=128|63&s}else if(s<=65535){if(n+2>=r)break;e[n++]=224|s>>12,e[n++]=128|s>>6&63,e[n++]=128|63&s}else{if(n+3>=r)break;e[n++]=240|s>>18,e[n++]=128|s>>12&63,e[n++]=128|s>>6&63,e[n++]=128|63&s}}e[n]=0}(t,y,e,n)}(t,n,e),n}(t)),e},array:t=>{var e,n,i=F(t.length);return e=t,n=i,d.set(e,n),i}},s=R(t),a=[],c=0;if(i)for(var l=0;l<i.length;l++){var u=o[n[l]];u?(0===c&&(c=U()),a[l]=u(i[l])):a[l]=i[l]}var h=s.apply(null,a);return function(t){return 0!==c&&B(c),function(t){return"string"===e?(n=t)?function(t,e,n){for(var i=e+n,r=e;t[r]&&!(r>=i);)++r;if(r-e>16&&t.buffer&&D)return D.decode(t.subarray(e,r));for(var o="";e<r;){var s=t[e++];if(128&s){var a=63&t[e++];if(192!=(224&s)){var c=63&t[e++];if((s=224==(240&s)?(15&s)<<12|a<<6|c:(7&s)<<18|a<<12|c<<6|63&t[e++])<65536)o+=String.fromCharCode(s);else{var l=s-65536;o+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else o+=String.fromCharCode((31&s)<<6|a)}else o+=String.fromCharCode(s)}return o}(y,n,i):"":"boolean"===e?Boolean(t):t;var n,i}(t)}(h)}var P,H={__cxa_throw:function(t,e,n){throw new T(t).init(e,n),t},abort:function(){E("")},emscripten_memcpy_big:function(t,e,n){y.copyWithin(t,e,e+n)},emscripten_resize_heap:function(t){var e,n=y.length,i=2147483648;if((t>>>=0)>i)return!1;for(var r=1;r<=4;r*=2){var o=n*(1+.2/r);if(o=Math.min(o,t+100663296),L(Math.min(i,(e=Math.max(t,o))+(65536-e%65536)%65536)))return!0}return!1}},U=(function(){var t,e,i,o,s={env:H,wasi_snapshot_preview1:H};function a(t,e){var n,i=t.exports;return r.asm=i,h=r.asm.memory,p(),r.asm.__indirect_function_table,n=r.asm.__wasm_call_ctors,C.unshift(n),function(){if(v--,r.monitorRunDependencies&&r.monitorRunDependencies(v),0==v&&(null!==b&&(clearInterval(b),b=null),_)){var t=_;_=null,t()}}(),i}if(v++,r.monitorRunDependencies&&r.monitorRunDependencies(v),r.instantiateWasm)try{return r.instantiateWasm(s,a)}catch(t){f("Module.instantiateWasm callback failed with error: "+t),n(t)}(t=u,e=N,i=s,o=function(t){a(t.instance)},t||"function"!=typeof WebAssembly.instantiateStreaming||M(e)||"function"!=typeof fetch?I(e,i,o):fetch(e,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,i).then(o,(function(t){return f("wasm streaming compile failed: "+t),f("falling back to ArrayBuffer instantiation"),I(e,i,o)}))}))).catch(n)}(),r._dbscan=function(){return(r._dbscan=r.asm.dbscan).apply(null,arguments)},r._malloc=function(){return(r._malloc=r.asm.malloc).apply(null,arguments)},r._free=function(){return(r._free=r.asm.free).apply(null,arguments)},function(){return(U=r.asm.stackSave).apply(null,arguments)}),B=function(){return(B=r.asm.stackRestore).apply(null,arguments)},F=function(){return(F=r.asm.stackAlloc).apply(null,arguments)},W=function(){return(W=r.asm.__cxa_is_pointer_type).apply(null,arguments)};function V(){function t(){P||(P=!0,r.calledRun=!0,m||(O(C),e(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)t=r.postRun.shift(),A.unshift(t);var t;O(A)}()))}v>0||(function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)t=r.preRun.shift(),x.unshift(t);var t;O(x)}(),v>0||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),t()}),1)):t()))}if(r.ccall=k,r.cwrap=function(t,e,n,i){var r=!n||n.every((t=>"number"===t||"boolean"===t));return"string"!==e&&r&&!i?R(t):function(){return k(t,e,n,arguments)}},_=function t(){P||V(),P||(_=t)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return V(),t.ready});"object"==typeof exports?t.exports=r:"function"==typeof define&&n.amdO?define([],(function(){return r})):"object"==typeof exports&&(exports.exportCppDbscanLib=r)},9982:function(t,e,n){var i;!function(){var e={};!function(t){"use strict";t.__esModule=!0,t.digestLength=32,t.blockSize=64;var e=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function n(t,n,i,r,o){for(var s,a,c,l,u,h,f,d,y,g,m,p,x;o>=64;){for(s=n[0],a=n[1],c=n[2],l=n[3],u=n[4],h=n[5],f=n[6],d=n[7],g=0;g<16;g++)m=r+4*g,t[g]=(255&i[m])<<24|(255&i[m+1])<<16|(255&i[m+2])<<8|255&i[m+3];for(g=16;g<64;g++)p=((y=t[g-2])>>>17|y<<15)^(y>>>19|y<<13)^y>>>10,x=((y=t[g-15])>>>7|y<<25)^(y>>>18|y<<14)^y>>>3,t[g]=(p+t[g-7]|0)+(x+t[g-16]|0);for(g=0;g<64;g++)p=(((u>>>6|u<<26)^(u>>>11|u<<21)^(u>>>25|u<<7))+(u&h^~u&f)|0)+(d+(e[g]+t[g]|0)|0)|0,x=((s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10))+(s&a^s&c^a&c)|0,d=f,f=h,h=u,u=l+p|0,l=c,c=a,a=s,s=p+x|0;n[0]+=s,n[1]+=a,n[2]+=c,n[3]+=l,n[4]+=u,n[5]+=h,n[6]+=f,n[7]+=d,r+=64,o-=64}return r}var i=function(){function e(){this.digestLength=t.digestLength,this.blockSize=t.blockSize,this.state=new Int32Array(8),this.temp=new Int32Array(64),this.buffer=new Uint8Array(128),this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this.reset()}return e.prototype.reset=function(){return this.state[0]=1779033703,this.state[1]=3144134277,this.state[2]=1013904242,this.state[3]=2773480762,this.state[4]=1359893119,this.state[5]=2600822924,this.state[6]=528734635,this.state[7]=1541459225,this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this},e.prototype.clean=function(){for(var t=0;t<this.buffer.length;t++)this.buffer[t]=0;for(t=0;t<this.temp.length;t++)this.temp[t]=0;this.reset()},e.prototype.update=function(t,e){if(void 0===e&&(e=t.length),this.finished)throw new Error("SHA256: can't update because hash was finished.");var i=0;if(this.bytesHashed+=e,this.bufferLength>0){for(;this.bufferLength<64&&e>0;)this.buffer[this.bufferLength++]=t[i++],e--;64===this.bufferLength&&(n(this.temp,this.state,this.buffer,0,64),this.bufferLength=0)}for(e>=64&&(i=n(this.temp,this.state,t,i,e),e%=64);e>0;)this.buffer[this.bufferLength++]=t[i++],e--;return this},e.prototype.finish=function(t){if(!this.finished){var e=this.bytesHashed,i=this.bufferLength,r=e/536870912|0,o=e<<3,s=e%64<56?64:128;this.buffer[i]=128;for(var a=i+1;a<s-8;a++)this.buffer[a]=0;this.buffer[s-8]=r>>>24&255,this.buffer[s-7]=r>>>16&255,this.buffer[s-6]=r>>>8&255,this.buffer[s-5]=r>>>0&255,this.buffer[s-4]=o>>>24&255,this.buffer[s-3]=o>>>16&255,this.buffer[s-2]=o>>>8&255,this.buffer[s-1]=o>>>0&255,n(this.temp,this.state,this.buffer,0,s),this.finished=!0}for(a=0;a<8;a++)t[4*a+0]=this.state[a]>>>24&255,t[4*a+1]=this.state[a]>>>16&255,t[4*a+2]=this.state[a]>>>8&255,t[4*a+3]=this.state[a]>>>0&255;return this},e.prototype.digest=function(){var t=new Uint8Array(this.digestLength);return this.finish(t),t},e.prototype._saveState=function(t){for(var e=0;e<this.state.length;e++)t[e]=this.state[e]},e.prototype._restoreState=function(t,e){for(var n=0;n<this.state.length;n++)this.state[n]=t[n];this.bytesHashed=e,this.finished=!1,this.bufferLength=0},e}();t.Hash=i;var r=function(){function t(t){this.inner=new i,this.outer=new i,this.blockSize=this.inner.blockSize,this.digestLength=this.inner.digestLength;var e=new Uint8Array(this.blockSize);if(t.length>this.blockSize)(new i).update(t).finish(e).clean();else for(var n=0;n<t.length;n++)e[n]=t[n];for(n=0;n<e.length;n++)e[n]^=54;for(this.inner.update(e),n=0;n<e.length;n++)e[n]^=106;for(this.outer.update(e),this.istate=new Uint32Array(8),this.ostate=new Uint32Array(8),this.inner._saveState(this.istate),this.outer._saveState(this.ostate),n=0;n<e.length;n++)e[n]=0}return t.prototype.reset=function(){return this.inner._restoreState(this.istate,this.inner.blockSize),this.outer._restoreState(this.ostate,this.outer.blockSize),this},t.prototype.clean=function(){for(var t=0;t<this.istate.length;t++)this.ostate[t]=this.istate[t]=0;this.inner.clean(),this.outer.clean()},t.prototype.update=function(t){return this.inner.update(t),this},t.prototype.finish=function(t){return this.outer.finished?this.outer.finish(t):(this.inner.finish(t),this.outer.update(t,this.digestLength).finish(t)),this},t.prototype.digest=function(){var t=new Uint8Array(this.digestLength);return this.finish(t),t},t}();function o(t){var e=(new i).update(t),n=e.digest();return e.clean(),n}function s(t,e){var n=new r(t).update(e),i=n.digest();return n.clean(),i}function a(t,e,n,i){var r=i[0];if(0===r)throw new Error("hkdf: cannot expand more");e.reset(),r>1&&e.update(t),n&&e.update(n),e.update(i),e.finish(t),i[0]++}t.HMAC=r,t.hash=o,t.default=o,t.hmac=s;var c=new Uint8Array(t.digestLength);t.hkdf=function(t,e,n,i){void 0===e&&(e=c),void 0===i&&(i=32);for(var o=new Uint8Array([1]),l=s(e,t),u=new r(l),h=new Uint8Array(u.digestLength),f=h.length,d=new Uint8Array(i),y=0;y<i;y++)f===h.length&&(a(h,u,n,o),f=0),d[y]=h[f++];return u.clean(),h.fill(0),o.fill(0),d},t.pbkdf2=function(t,e,n,i){for(var o=new r(t),s=o.digestLength,a=new Uint8Array(4),c=new Uint8Array(s),l=new Uint8Array(s),u=new Uint8Array(i),h=0;h*s<i;h++){var f=h+1;a[0]=f>>>24&255,a[1]=f>>>16&255,a[2]=f>>>8&255,a[3]=f>>>0&255,o.reset(),o.update(e),o.update(a),o.finish(l);for(var d=0;d<s;d++)c[d]=l[d];for(d=2;d<=n;d++){o.reset(),o.update(l).finish(l);for(var y=0;y<s;y++)c[y]^=l[y]}for(d=0;d<s&&h*s+d<i;d++)u[h*s+d]=c[d]}for(h=0;h<s;h++)c[h]=l[h]=0;for(h=0;h<4;h++)a[h]=0;return o.clean(),u}}(e);var r=e.default;for(var o in e)r[o]=e[o];"object"==typeof t.exports?t.exports=r:void 0===(i=function(){return r}.call(e,n,e,t))||(t.exports=i)}()},944:(t,e)=>{"use strict";e.Vb=void 0,e.Vb=function(t,e,n){var i=function(t,e,n){if(0===t.length||0===e.length)return 0;if(n&&!n.caseSensitive&&(t=t.toUpperCase(),e=e.toUpperCase()),t===e)return 1;for(var i=0,r=t.length,o=e.length,s=Math.floor(Math.max(r,o)/2)-1,a=new Array(r),c=new Array(o),l=0;l<r;l++)for(var u=Math.max(0,l-s);u<=Math.min(o,l+s+1);u++)if(!a[l]&&!c[u]&&t[l]===e[u]){++i,a[l]=c[u]=!0;break}if(0===i)return 0;var h=0,f=0;for(l=0;l<r;l++)if(a[l]){for(;!c[f];)f++;t.charAt(l)!==e.charAt(f++)&&h++}return(i/r+i/o+(i-(h/=2))/i)/3}(t,e,n),r=0;if(i>.7){for(var o=Math.min(t.length,e.length),s=0;t[s]===e[s]&&s<4&&s<o;)++r,s++;i+=.1*r*(1-i)}return i}}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var o=e[i]={id:i,loaded:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.m=t,n.amdO={},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.u=t=>t+".js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.hmd=t=>((t=Object.create(t)).children||(t.children=[]),Object.defineProperty(t,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+t.id)}}),t),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t;n.g.importScripts&&(t=n.g.location+"");var e=n.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var i=e.getElementsByTagName("script");if(i.length)for(var r=i.length-1;r>-1&&(!t||!/^http(s?):/.test(t));)t=i[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=t})(),n.b=document.baseURI||self.location.href;var i={};(()=>{"use strict";n.r(i),n.d(i,{_package:()=>_t,test:()=>Et,tests:()=>f});const t=DG,e=grok;n(9982);const r=t.DataFrame.fromCsv('countries,fasta,smiles,molregno,LON,Zip Code,Street Address Line 1,ImageUrl,user_id,error_message,xray,flag,magnitude,CS-id,pdb_id,accel_a,time_offset,chart,fit,Questions,empty_number,empty_string\nBelgium,MSNFHNEHVMQFYRNNLKTKGVFGRQ,CC(C(=O)OCCCc1cccnc1)c2cccc(c2)C(=O)c3ccccc3,1480014,36.276729583740234,995042300,14016 ROUTE 31W,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,1,1,1QBS,1,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[2.497360340644872, 1.7058694986686864, 5.278052678195135, 0.16000320889028383],""points"":[{""x"":0.10000000149011612,""y"":2.374499797821045},{""x"":0.6000000238418579,""y"":2.6242473125457764},{""x"":1.100000023841858,""y"":2.367267608642578},{""x"":1.600000023841858,""y"":2.6723148822784424},{""x"":2.0999999046325684,""y"":2.6537344455718994},{""x"":2.5999999046325684,""y"":2.3651671409606934},{""x"":3.0999999046325684,""y"":2.5654284954071045},{""x"":3.5999999046325684,""y"":2.4160959720611572},{""x"":4.099999904632568,""y"":2.286726713180542},{""x"":4.599999904632568,""y"":2.5100042819976807},{""x"":5.099999904632568,""y"":1.6676985025405884},{""x"":5.599999904632568,""y"":0.680136501789093},{""x"":6.099999904632568,""y"":0.3391543924808502},{""x"":6.599999904632568,""y"":0.09038983285427094},{""x"":7.099999904632568,""y"":0.19802775979042053}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[7.525235855508179, 1.3186911876809984, 5.335672608564294, 0.7860743343958098],""points"":[{""x"":0.10000000149011612,""y"":7.988070487976074},{""x"":0.6000000238418579,""y"":7.018453121185303},{""x"":1.100000023841858,""y"":8.115279197692871},{""x"":1.600000023841858,""y"":7.486658096313477},{""x"":2.0999999046325684,""y"":7.396438121795654},{""x"":2.5999999046325684,""y"":7.477052211761475},{""x"":3.0999999046325684,""y"":6.913095474243164},{""x"":3.5999999046325684,""y"":8.01385498046875},{""x"":4.099999904632568,""y"":6.985900402069092},{""x"":4.599999904632568,""y"":6.970335960388184},{""x"":5.099999904632568,""y"":5.448817253112793},{""x"":5.599999904632568,""y"":2.5534818172454834},{""x"":6.099999904632568,""y"":1.893947958946228},{""x"":6.599999904632568,""y"":0.6340042352676392},{""x"":7.099999904632568,""y"":0.8403874039649963}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,100,abc\nBurundi,MDYKETLLMPKTDFPMRGGLPNKEPQIQEKW,COc1ccc2cc(ccc2c1)C(C)C(=O)Oc3ccc(C)cc3OC,1480015,36.276729583740234,995073444,80 STATE HIGHWAY 310,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,2,2,1ZP8,2,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[4.431460753103398, 2.1691498799246745, 5.266445597102774, 0.7825762827017926],""points"":[{""x"":0.10000000149011612,""y"":4.751083850860596},{""x"":0.6000000238418579,""y"":4.203000068664551},{""x"":1.100000023841858,""y"":4.415858745574951},{""x"":1.600000023841858,""y"":4.68414306640625},{""x"":2.0999999046325684,""y"":4.198400974273682},{""x"":2.5999999046325684,""y"":4.179222106933594},{""x"":3.0999999046325684,""y"":4.638473987579346},{""x"":3.5999999046325684,""y"":4.708553314208984},{""x"":4.099999904632568,""y"":4.291589260101318},{""x"":4.599999904632568,""y"":4.038082599639893},{""x"":5.099999904632568,""y"":3.4349939823150635},{""x"":5.599999904632568,""y"":1.2194708585739136},{""x"":6.099999904632568,""y"":1.1920831203460693},{""x"":6.599999904632568,""y"":0.5352635979652405},{""x"":7.099999904632568,""y"":0.3346920311450958}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[2.339458017970126, -1.0734184310171178, 4.746332950550934, 0.2482416857595658],""points"":[{""x"":0.10000000149011612,""y"":0.2139337658882141},{""x"":0.6000000238418579,""y"":0.4269562065601349},{""x"":1.100000023841858,""y"":0.2441573292016983},{""x"":1.600000023841858,""y"":0.146635964512825},{""x"":2.0999999046325684,""y"":0.08818462491035461},{""x"":2.5999999046325684,""y"":0.2560656666755676},{""x"":3.0999999046325684,""y"":0.42434045672416687},{""x"":3.5999999046325684,""y"":0.37111231684684753},{""x"":4.099999904632568,""y"":0.5581737160682678},{""x"":4.599999904632568,""y"":1.183590054512024},{""x"":5.099999904632568,""y"":1.5629843473434448},{""x"":5.599999904632568,""y"":2.3211288452148438},{""x"":6.099999904632568,""y"":2.229961633682251},{""x"":6.599999904632568,""y"":2.2560226917266846},{""x"":7.099999904632568,""y"":2.2142398357391357}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nCameroon,MIEVFLFGIVLGLIPITLAGLFVTAYLQYRRGDQLDL,COc1ccc2cc(ccc2c1)C(C)C(=O)OCCCc3cccnc3,1480016,36.26095962524414,995153596,30-56 WHITESTONE EXPY,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,3,3,2BDJ,3,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[4.6760652578642325, 0.9046956320756703, 5.651408971856738, 0.07738846012184185],""points"":[{""x"":0.10000000149011612,""y"":4.32425594329834},{""x"":0.6000000238418579,""y"":4.668442249298096},{""x"":1.100000023841858,""y"":4.379785060882568},{""x"":1.600000023841858,""y"":5.0345139503479},{""x"":2.0999999046325684,""y"":4.878653526306152},{""x"":2.5999999046325684,""y"":4.3451313972473145},{""x"":3.0999999046325684,""y"":4.336992263793945},{""x"":3.5999999046325684,""y"":5.037430286407471},{""x"":4.099999904632568,""y"":5.0092692375183105},{""x"":4.599999904632568,""y"":4.151902675628662},{""x"":5.099999904632568,""y"":3.4066951274871826},{""x"":5.599999904632568,""y"":2.3732759952545166},{""x"":6.099999904632568,""y"":1.673728108406067},{""x"":6.599999904632568,""y"":0.48574790358543396},{""x"":7.099999904632568,""y"":0.2783052325248718}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[2.938395863010111, -1.4658480661392117, 5.462702751996584, 0.3473139023615039],""points"":[{""x"":0.10000000149011612,""y"":0.4941710829734802},{""x"":0.6000000238418579,""y"":0.15323974192142487},{""x"":1.100000023841858,""y"":0.46373432874679565},{""x"":1.600000023841858,""y"":0.3370431363582611},{""x"":2.0999999046325684,""y"":0.5179030299186707},{""x"":2.5999999046325684,""y"":0.27899765968322754},{""x"":3.0999999046325684,""y"":0.22075064480304718},{""x"":3.5999999046325684,""y"":0.5789918899536133},{""x"":4.099999904632568,""y"":0.21169911324977875},{""x"":4.599999904632568,""y"":0.27857646346092224},{""x"":5.099999904632568,""y"":1.0906332731246948},{""x"":5.599999904632568,""y"":1.8520300388336182},{""x"":6.099999904632568,""y"":2.7177059650421143},{""x"":6.599999904632568,""y"":2.8680918216705322},{""x"":7.099999904632568,""y"":3.2413077354431152}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nCanada,MMELVLKTIIGPIVVGVVLRIVDKWLNKDK,CC(C(=O)NCCS)c1cccc(c1)C(=O)c2ccccc2,1480017,36.26095962524414,99515,30-56 WHITESTONE EXPY,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,4,4,1IAN,4,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[0.8597390975430008, 1.0957625732481946, 5.260537067987958, 0.07974187998177736],""points"":[{""x"":0.10000000149011612,""y"":0.8190152645111084},{""x"":0.6000000238418579,""y"":0.8421689867973328},{""x"":1.100000023841858,""y"":0.8740922212600708},{""x"":1.600000023841858,""y"":0.8924275040626526},{""x"":2.0999999046325684,""y"":0.8249067664146423},{""x"":2.5999999046325684,""y"":0.9327669143676758},{""x"":3.0999999046325684,""y"":0.8522974252700806},{""x"":3.5999999046325684,""y"":0.8174492716789246},{""x"":4.099999904632568,""y"":0.8394647240638733},{""x"":4.599999904632568,""y"":0.7139387726783752},{""x"":5.099999904632568,""y"":0.5561167597770691},{""x"":5.599999904632568,""y"":0.3276226818561554},{""x"":6.099999904632568,""y"":0.12479474395513535},{""x"":6.599999904632568,""y"":0.13006797432899475},{""x"":7.099999904632568,""y"":0.059702079743146896}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[5.760930219582546, 1.6591793293833013, 4.667155929720851, 0.7858109544121652],""points"":[{""x"":0.10000000149011612,""y"":6.156993389129639},{""x"":0.6000000238418579,""y"":5.236701965332031},{""x"":1.100000023841858,""y"":6.010560512542725},{""x"":1.600000023841858,""y"":5.495512962341309},{""x"":2.0999999046325684,""y"":6.087770462036133},{""x"":2.5999999046325684,""y"":5.79986572265625},{""x"":3.0999999046325684,""y"":5.597546577453613},{""x"":3.5999999046325684,""y"":5.520902156829834},{""x"":4.099999904632568,""y"":5.360654354095459},{""x"":4.599999904632568,""y"":3.5539746284484863},{""x"":5.099999904632568,""y"":1.577236294746399},{""x"":5.599999904632568,""y"":1.0001264810562134},{""x"":6.099999904632568,""y"":0.9305797815322876},{""x"":6.599999904632568,""y"":0.6033638715744019},{""x"":7.099999904632568,""y"":0.4203685522079468}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nColombia,MDRTDEVSNHTHDKPTLTWFEEIFEEYHSPFHN,FC(F)(F)c1ccc(OC2CCNCC2)cc1,1480029,36.3309440612793,995152050,1 COURT HOUSE SQUARE,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,5,5,4UJ1,5,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[6.4995088314153655, 2.4270351004539914, 5.178659535348579, 0.625653346241577],""points"":[{""x"":0.10000000149011612,""y"":6.496231555938721},{""x"":0.6000000238418579,""y"":6.42543363571167},{""x"":1.100000023841858,""y"":7.040063858032227},{""x"":1.600000023841858,""y"":6.1115403175354},{""x"":2.0999999046325684,""y"":6.680728435516357},{""x"":2.5999999046325684,""y"":6.406774520874023},{""x"":3.0999999046325684,""y"":6.611269474029541},{""x"":3.5999999046325684,""y"":5.889094352722168},{""x"":4.099999904632568,""y"":6.75344705581665},{""x"":4.599999904632568,""y"":6.361435890197754},{""x"":5.099999904632568,""y"":4.1666975021362305},{""x"":5.599999904632568,""y"":1.172118902206421},{""x"":6.099999904632568,""y"":0.801048994064331},{""x"":6.599999904632568,""y"":0.4640021026134491},{""x"":7.099999904632568,""y"":0.0010357667924836278}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[1.4734381347446401, 1.1649805188074196, 4.82958608866421, 0.09500545496710007],""points"":[{""x"":0.10000000149011612,""y"":1.5279096364974976},{""x"":0.6000000238418579,""y"":1.3559974431991577},{""x"":1.100000023841858,""y"":1.5246378183364868},{""x"":1.600000023841858,""y"":1.5567657947540283},{""x"":2.0999999046325684,""y"":1.4114240407943726},{""x"":2.5999999046325684,""y"":1.4045010805130005},{""x"":3.0999999046325684,""y"":1.4769829511642456},{""x"":3.5999999046325684,""y"":1.4875500202178955},{""x"":4.099999904632568,""y"":1.2991987466812134},{""x"":4.599999904632568,""y"":0.922961413860321},{""x"":5.099999904632568,""y"":0.6520044803619385},{""x"":5.599999904632568,""y"":0.15350978076457977},{""x"":6.099999904632568,""y"":0.1078903079032898},{""x"":6.599999904632568,""y"":0.17276449501514435},{""x"":7.099999904632568,""y"":0.14066608250141144}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nCosta Rica,MKSTKEEIQTIKTLLKDSRTAKYHKRLQIVL,CC(C)Cc1ccc(cc1)C(C)C(=O)N2CCCC2C(=O)OCCCc3ccccc3,1480018,36.3309440612793,995084218,4041 SOUTHWESTERN BLVD,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,6,6,2BPW,6,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[2.4833641843311227, -1.8945978742090062, 4.671127708092568, 0.24159861311815153],""points"":[{""x"":0.10000000149011612,""y"":0.0969524160027504},{""x"":0.6000000238418579,""y"":0.028483040630817413},{""x"":1.100000023841858,""y"":0.22087176144123077},{""x"":1.600000023841858,""y"":0.0068915546871721745},{""x"":2.0999999046325684,""y"":0.4305879771709442},{""x"":2.5999999046325684,""y"":0.44774115085601807},{""x"":3.0999999046325684,""y"":0.45346319675445557},{""x"":3.5999999046325684,""y"":0.2370593100786209},{""x"":4.099999904632568,""y"":0.4657953977584839},{""x"":4.599999904632568,""y"":1.155200719833374},{""x"":5.099999904632568,""y"":2.2294070720672607},{""x"":5.599999904632568,""y"":2.4311530590057373},{""x"":6.099999904632568,""y"":2.33846116065979},{""x"":6.599999904632568,""y"":2.608201026916504},{""x"":7.099999904632568,""y"":2.8136143684387207}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[5.224573521642033, 1.4454033924198528, 5.6014197746076535, 0.2823216054197577],""points"":[{""x"":0.10000000149011612,""y"":4.95027494430542},{""x"":0.6000000238418579,""y"":5.1754679679870605},{""x"":1.100000023841858,""y"":5.276752948760986},{""x"":1.600000023841858,""y"":5.589294910430908},{""x"":2.0999999046325684,""y"":5.616994857788086},{""x"":2.5999999046325684,""y"":5.120813846588135},{""x"":3.0999999046325684,""y"":5.340766906738281},{""x"":3.5999999046325684,""y"":4.876471042633057},{""x"":4.099999904632568,""y"":4.94999361038208},{""x"":4.599999904632568,""y"":5.162564754486084},{""x"":5.099999904632568,""y"":4.399557590484619},{""x"":5.599999904632568,""y"":2.7977969646453857},{""x"":6.099999904632568,""y"":1.0229872465133667},{""x"":6.599999904632568,""y"":0.48275601863861084},{""x"":7.099999904632568,""y"":0.10408931970596313}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nCuba,MHAILRYFIRRLFYHIFYKIYSLISKKHQSLPSDVRQF,COc1ccc2c(c1)c(CC(=O)N3CCCC3C(=O)Oc4ccc(C)cc4OC)c(C)n2C(=O)c5ccc(Cl)cc5,1480019,36.33115768432617,995081928,1227 US HIGHWAY 11,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,7,7,1QBS,7,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[3.320838679713925, -1.2421619987316728, 4.831325425225256, 0.3236011098403072],""points"":[{""x"":0.10000000149011612,""y"":0.3727470338344574},{""x"":0.6000000238418579,""y"":0.12365014106035233},{""x"":1.100000023841858,""y"":0.48422467708587646},{""x"":1.600000023841858,""y"":0.2264465093612671},{""x"":2.0999999046325684,""y"":0.16821794211864471},{""x"":2.5999999046325684,""y"":0.3879014551639557},{""x"":3.0999999046325684,""y"":0.5470244884490967},{""x"":3.5999999046325684,""y"":0.3419053554534912},{""x"":4.099999904632568,""y"":0.7655120491981506},{""x"":4.599999904632568,""y"":1.2346516847610474},{""x"":5.099999904632568,""y"":2.453336715698242},{""x"":5.599999904632568,""y"":2.9565491676330566},{""x"":6.099999904632568,""y"":3.335299491882324},{""x"":6.599999904632568,""y"":3.240290880203247},{""x"":7.099999904632568,""y"":3.1107218265533447}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[3.6401853521511094, 1.26211588875013, 5.399028074402744, 0.5089580830068091],""points"":[{""x"":0.10000000149011612,""y"":3.8585598468780518},{""x"":0.6000000238418579,""y"":3.6077206134796143},{""x"":1.100000023841858,""y"":3.855252265930176},{""x"":1.600000023841858,""y"":3.619039297103882},{""x"":2.0999999046325684,""y"":3.839388370513916},{""x"":2.5999999046325684,""y"":3.335283041000366},{""x"":3.0999999046325684,""y"":3.571141481399536},{""x"":3.5999999046325684,""y"":3.4155046939849854},{""x"":4.099999904632568,""y"":3.7316646575927734},{""x"":4.599999904632568,""y"":3.0680155754089355},{""x"":5.099999904632568,""y"":2.891066551208496},{""x"":5.599999904632568,""y"":1.6022753715515137},{""x"":6.099999904632568,""y"":0.7652576565742493},{""x"":6.599999904632568,""y"":0.6875326037406921},{""x"":7.099999904632568,""y"":0.5828871726989746}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nItaly,MSNFHNEHVMQFYRNNLKTKGVFGRQ,CC(C)Cc1ccc(cc1)C(C)C(=O)N2CCCC2C(=O)OCCO[N+](=O)[O-],1480020,36.33115768432617,99502,"168-46 91ST AVE., 2ND FLR",https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,8,8,1ZP8,8,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[2.293592105923809, 1.3781586549141835, 5.1025898038676605, 0.03493851245291291],""points"":[{""x"":0.10000000149011612,""y"":2.1287283897399902},{""x"":0.6000000238418579,""y"":2.267972230911255},{""x"":1.100000023841858,""y"":2.398442506790161},{""x"":1.600000023841858,""y"":2.5130622386932373},{""x"":2.0999999046325684,""y"":2.3255116939544678},{""x"":2.5999999046325684,""y"":2.127340793609619},{""x"":3.0999999046325684,""y"":2.47259783744812},{""x"":3.5999999046325684,""y"":2.131181478500366},{""x"":4.099999904632568,""y"":2.090421438217163},{""x"":4.599999904632568,""y"":2.02299165725708},{""x"":5.099999904632568,""y"":1.1105059385299683},{""x"":5.599999904632568,""y"":0.4494485855102539},{""x"":6.099999904632568,""y"":0.1375635862350464},{""x"":6.599999904632568,""y"":0.036351121962070465},{""x"":7.099999904632568,""y"":0.1619771122932434}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[5.953125499439879, 1.2528620255306528, 5.187637440149802, 0.3110348753260886],""points"":[{""x"":0.10000000149011612,""y"":5.6585283279418945},{""x"":0.6000000238418579,""y"":5.911152362823486},{""x"":1.100000023841858,""y"":5.924920082092285},{""x"":1.600000023841858,""y"":5.8469438552856445},{""x"":2.0999999046325684,""y"":5.929472923278809},{""x"":2.5999999046325684,""y"":6.190037727355957},{""x"":3.0999999046325684,""y"":6.236179828643799},{""x"":3.5999999046325684,""y"":6.141019344329834},{""x"":4.099999904632568,""y"":5.295210838317871},{""x"":4.599999904632568,""y"":5.265801906585693},{""x"":5.099999904632568,""y"":3.3722851276397705},{""x"":5.599999904632568,""y"":1.8299226760864258},{""x"":6.099999904632568,""y"":0.32690900564193726},{""x"":6.599999904632568,""y"":0.6274543404579163},{""x"":7.099999904632568,""y"":0.8441857099533081}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nRwanda,MPNSEPASLLELFNSIATQGELVRSLKAGNASK,CC(C)Cc1ccc(cc1)C(C)C(=O)N2CCCC2C(=O)OCCO,1480021,36.33137130737305,995037247,"168-46 91ST AVE., 2ND FLR",https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,9,9,2BDJ,9,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[3.8209972202654474, 1.3779216716448506, 5.299882228439686, 0.06040645519069608],""points"":[{""x"":0.10000000149011612,""y"":3.7821109294891357},{""x"":0.6000000238418579,""y"":3.542433023452759},{""x"":1.100000023841858,""y"":3.7008674144744873},{""x"":1.600000023841858,""y"":3.717301607131958},{""x"":2.0999999046325684,""y"":4.024452209472656},{""x"":2.5999999046325684,""y"":4.013899326324463},{""x"":3.0999999046325684,""y"":3.945094347000122},{""x"":3.5999999046325684,""y"":3.866621971130371},{""x"":4.099999904632568,""y"":3.7461626529693604},{""x"":4.599999904632568,""y"":3.3454740047454834},{""x"":5.099999904632568,""y"":2.61944317817688},{""x"":5.599999904632568,""y"":0.999405026435852},{""x"":6.099999904632568,""y"":0.46259793639183044},{""x"":6.599999904632568,""y"":0.054134611040353775},{""x"":7.099999904632568,""y"":0.05711187422275543}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[5.6318079657726035, 1.8495493770000595, 5.391793312471116, 0.17060707587348442],""points"":[{""x"":0.10000000149011612,""y"":5.458079814910889},{""x"":0.6000000238418579,""y"":5.554427146911621},{""x"":1.100000023841858,""y"":5.799983024597168},{""x"":1.600000023841858,""y"":5.364140033721924},{""x"":2.0999999046325684,""y"":5.864485740661621},{""x"":2.5999999046325684,""y"":5.4509806632995605},{""x"":3.0999999046325684,""y"":5.702574729919434},{""x"":3.5999999046325684,""y"":5.7314534187316895},{""x"":4.099999904632568,""y"":5.5123443603515625},{""x"":4.599999904632568,""y"":5.724395751953125},{""x"":5.099999904632568,""y"":4.354506969451904},{""x"":5.599999904632568,""y"":1.7307666540145874},{""x"":6.099999904632568,""y"":0.6305936574935913},{""x"":6.599999904632568,""y"":0.035183437168598175},{""x"":7.099999904632568,""y"":0.7575169205665588}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\nSwitzerland,IRVVGRYLIEVWKAAGMDMDKVLFLWSSDEI,CN1CCC(CC1)Oc2ccc(cc2)C(F)(F)F,1480028,36.33137130737305,99504,92-11 179TH PLACE,https://datagrok.ai/img/slides/access-db-connect.png,id,ErrorMessage,"COMPND \nATOM \nEND",flag,9,10,1IAN,10,1.23,<chart></chart>,"{""series"":[{""name"":""Run:2023-08-08"",""fitFunction"":""sigmoid"",""fitLineColor"":""#1f77b4"",""pointColor"":""#1f77b4"",""showPoints"":""points"",""parameters"":[1.1190255865097471, 2.3163895161544437, 5.4968866182279195, 0.2035204047289052],""points"":[{""x"":0.10000000149011612,""y"":1.1057683229446411},{""x"":0.6000000238418579,""y"":1.1019697189331055},{""x"":1.100000023841858,""y"":1.0818607807159424},{""x"":1.600000023841858,""y"":1.062997817993164},{""x"":2.0999999046325684,""y"":1.046447515487671},{""x"":2.5999999046325684,""y"":1.1217249631881714},{""x"":3.0999999046325684,""y"":1.2166996002197266},{""x"":3.5999999046325684,""y"":1.215477705001831},{""x"":4.099999904632568,""y"":1.0581893920898438},{""x"":4.599999904632568,""y"":1.1747995615005493},{""x"":5.099999904632568,""y"":1.0181127786636353},{""x"":5.599999904632568,""y"":0.5344523191452026},{""x"":6.099999904632568,""y"":0.2569526433944702},{""x"":6.599999904632568,""y"":0.1912207305431366},{""x"":7.099999904632568,""y"":0.15060538053512573}]},{""name"":""Run:2023-08-08"",""fitLineColor"":""#ffbb78"",""pointColor"":""#ffbb78"",""showPoints"":""points"",""parameters"":[3.1038581025805785, 2.0032224204185245, 5.087602825989163, 0.13277988512492753],""points"":[{""x"":0.10000000149011612,""y"":3.0498509407043457},{""x"":0.6000000238418579,""y"":2.805217742919922},{""x"":1.100000023841858,""y"":3.3415253162384033},{""x"":1.600000023841858,""y"":3.0549843311309814},{""x"":2.0999999046325684,""y"":3.250074863433838},{""x"":2.5999999046325684,""y"":3.0432586669921875},{""x"":3.0999999046325684,""y"":3.265852451324463},{""x"":3.5999999046325684,""y"":2.9475724697113037},{""x"":4.099999904632568,""y"":3.1929898262023926},{""x"":4.599999904632568,""y"":2.7460060119628906},{""x"":5.099999904632568,""y"":1.6175861358642578},{""x"":5.599999904632568,""y"":0.3006608486175537},{""x"":6.099999904632568,""y"":0.3444803059101105},{""x"":6.599999904632568,""y"":0.015537971630692482},{""x"":7.099999904632568,""y"":0.5527358055114746}]}],""chartOptions"":{""xAxisName"":""Conc."",""yAxisName"":""Activity"",""title"":""Dose-Response curves""}}",text,,\n,,,,,,,,,,,,,,,,,,,,,');r.columns.add(t.Column.fromList(t.TYPE.BYTE_ARRAY,"BinaryImage",Array.from(new Uint8Array(11))));var o=function(t,e,n,i){return new(n||(n=Promise))((function(r,o){function s(t){try{c(i.next(t))}catch(t){o(t)}}function a(t){try{c(i.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((i=i.apply(t,e||[])).next())}))};const s=3e4,a=108e5,c=console.log.bind(console),l=console.info.bind(console),u=console.warn.bind(console),h=console.error.bind(console),f={},d="Auto Tests",y="Demo",g="Detectors",m="Core",p={};let x;var C,A,v,b,_,E,N,w,M,S;!function(t){t.notNull=function(t,e){if(null==t)throw new Error(`${null==e?"Value":e} not defined`)}}(C||(C={}));class I{constructor(t,e){this.catchUnhandled=!0,this.report=!1,void 0!==t&&(this.catchUnhandled=t),void 0!==e&&(this.report=e)}}class O{constructor(t,e,n,i){var r;this.category=t,this.name=e,null!=i||(i={}),null!==(r=i.timeout)&&void 0!==r||(i.timeout=s),this.options=i,this.test=()=>o(this,void 0,void 0,(function*(){return new Promise(((t,e)=>o(this,void 0,void 0,(function*(){let i="";try{i=yield n()}catch(t){e(t)}t(i)}))))}))}}function T(t,e,n){null==f[x]&&(f[x]={}),null==f[x].tests&&(f[x].tests=[]),f[x].tests.push(new O(x,t,e,n))}function L(t,e=!0,n){if(n=n?`${n}, `:"",t!==e)throw new Error(`${n}Expected "${e}", got "${t}"`)}function R(t,e,n){var i;x=t,e(),f[x]&&(f[x].clear=null===(i=null==n?void 0:n.clear)||void 0===i||i,f[x].timeout=null==n?void 0:n.timeout,f[x].benchmarks=null==n?void 0:n.benchmarks)}function D(t,e){return t.replace(new RegExp(e.name,"gi"),e.nqName)}function k(e){return o(this,void 0,void 0,(function*(){return`${e.toString()}\n${e.stack?yield t.Logger.translateStackTrace(e.stack):""}`}))}function P(n,i,r,l,u,f){var d,y,g,m,p,x,C,A;return o(this,void 0,void 0,(function*(){let o;r.length=0;let v="package";const b=null!=i&&n.name.toLowerCase()!==i.toLowerCase();let _=(null===(d=n.options)||void 0===d?void 0:d.skipReason)||b,E=b?"skipped":null===(y=n.options)||void 0===y?void 0:y.skipReason;if(t.Test.isInBenchmark&&!(null===(g=n.options)||void 0===g?void 0:g.benchmark))return void c(`SKIPPED: ${n.category} ${n.name} doesnt available in benchmark mode`);_||c(`Started ${n.category} ${n.name}`);const N=Date.now();try{if(_)o={success:!0,result:E,ms:0,skipped:!0};else{let e=(null===(m=n.options)||void 0===m?void 0:m.timeout)===s&&l?l:null===(p=n.options)||void 0===p?void 0:p.timeout;e=t.Test.isInBenchmark?a:e,o={success:!0,result:null!==(x=yield U(n.test,e))&&void 0!==x?x:"OK",ms:0,skipped:!1}}}catch(t){h(t),o={success:!1,result:yield k(t),ms:0,skipped:!1}}if((null===(C=n.options)||void 0===C?void 0:C.isAggregated)&&o.result.constructor===t.DataFrame){const t=o.result.col("success");if(t&&(o.success=t.stats.sum===t.length),!f){const t=o.result;t.columns.remove("stack"),t.rows.removeWhere((t=>t.get("success"))),o.result=t}o.result=o.result.toCsv()}if(o.logs=r.join("\n"),o.ms=Date.now()-N,_||c(`Finished ${n.category} ${n.name} for ${o.ms} ms`),o.category=n.category,o.name=n.name,!b){let i={success:o.success,result:o.result,ms:o.ms,skipped:o.skipped,package:u,category:n.category,name:n.name,logs:o.logs};if(o.result.constructor==Object){const t=Object.keys(o.result).reduce(((t,e)=>Object.assign(Object.assign({},t),{["result."+e]:o.result[e]})),{});i=Object.assign(Object.assign({},i),t)}i.result instanceof t.DataFrame&&(i.result=JSON.stringify(null===(A=i.result)||void 0===A?void 0:A.toJson())||""),null!=e.shell.reportTest?yield e.shell.reportTest(v,i):yield fetch(`${e.dapi.root}/log/tests/${v}`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify(i)})}return o}))}function H(t){return o(this,void 0,void 0,(function*(){yield new Promise((e=>setTimeout(e,t)))}))}function U(t,e,n="EXECUTION TIMEOUT"){return o(this,void 0,void 0,(function*(){let i=null;const r=new Promise(((t,r)=>{i=setTimeout((()=>{r(n)}),e)}));try{return yield Promise.race([t(),r])}finally{i&&clearTimeout(i)}}))}t.DataFrame.fromColumns([t.Column.fromStrings("col",["val1","val2","val3"])]),function(t){t.UMAP="UMAP",t.T_SNE="t-SNE"}(A||(A={})),function(t){t.Levenshtein="Levenshtein",t.JaroWinkler="Jaro-Winkler",t.Manhattan="Manhattan",t.Onehot="One-Hot"}(v||(v={})),function(t){t.Euclidean="Euclidean"}(b||(b={})),function(t){t.Tanimoto="Tanimoto",t.Dice="Dice",t.Asymmetric="Asymmetric",t.BraunBlanquet="Braun-Blanquet",t.Cosine="Cosine",t.Kulczynski="Kulczynski",t.McConnaughey="Mc-Connaughey",t.RogotGoldberg="Rogot-Goldberg",t.Russel="Russel",t.Sokal="Sokal",t.Hamming="Hamming",t.Euclidean="Euclidean"}(_||(_={})),function(t){t.TanimotoIntArray="TanimotoIntArray"}(E||(E={})),(S=N||(N={})).Vector="Vector",S.String="String",S.BitArray="BitArray",S.MacroMolecule="MacroMolecule",S.Number="Number",S.IntArray="IntArray",S.NumberArray="NumberArray",function(t){t.Difference="Difference"}(w||(w={})),function(t){t.CommonItems="Common Items"}(M||(M={}));const B=new Uint32Array(65536),F=(t,e)=>{if(t.length<e.length){const n=e;e=t,t=n}return 0===e.length?t.length:t.length<=32?((t,e)=>{const n=t.length,i=e.length,r=1<<n-1;let o=-1,s=0,a=n,c=n;for(;c--;)B[t.charCodeAt(c)]|=1<<c;for(c=0;c<i;c++){let t=B[e.charCodeAt(c)];const n=t|s;t|=(t&o)+o^o,s|=~(t|o),o&=t,s&r&&a++,o&r&&a--,s=s<<1|1,o=o<<1|~(n|s),s&=n}for(c=n;c--;)B[t.charCodeAt(c)]=0;return a})(t,e):((t,e)=>{const n=e.length,i=t.length,r=[],o=[],s=Math.ceil(n/32),a=Math.ceil(i/32);for(let t=0;t<s;t++)o[t]=-1,r[t]=0;let c=0;for(;c<a-1;c++){let s=0,a=-1;const l=32*c,u=Math.min(32,i)+l;for(let e=l;e<u;e++)B[t.charCodeAt(e)]|=1<<e;for(let t=0;t<n;t++){const n=B[e.charCodeAt(t)],i=o[t/32|0]>>>t&1,c=r[t/32|0]>>>t&1,l=n|s,u=((n|c)&a)+a^a|n|c;let h=s|~(u|a),f=a&u;h>>>31^i&&(o[t/32|0]^=1<<t),f>>>31^c&&(r[t/32|0]^=1<<t),h=h<<1|i,f=f<<1|c,a=f|~(l|h),s=h&l}for(let e=l;e<u;e++)B[t.charCodeAt(e)]=0}let l=0,u=-1;const h=32*c,f=Math.min(32,i-h)+h;for(let e=h;e<f;e++)B[t.charCodeAt(e)]|=1<<e;let d=i;for(let t=0;t<n;t++){const n=B[e.charCodeAt(t)],s=o[t/32|0]>>>t&1,a=r[t/32|0]>>>t&1,c=n|l,h=((n|a)&u)+u^u|n|a;let f=l|~(h|u),y=u&h;d+=f>>>i-1&1,d-=y>>>i-1&1,f>>>31^s&&(o[t/32|0]^=1<<t),y>>>31^a&&(r[t/32|0]^=1<<t),f=f<<1|s,y=y<<1|a,u=y|~(c|f),l=f&c}for(let e=h;e<f;e++)B[t.charCodeAt(e)]=0;return d})(t,e)};var W=n(944);class V{constructor(t,e=!1){if(this._length=0,this._version=0,this._updateLevel=0,this._selectedCount=0,this._selectedCountVersion=-1,this._selectedIndexesVersion=-1,this._versionedName="",this._versionedNameVersion=-1,this.SHRINK_THRESHOLD=256,"number"==typeof t){const n=t,i=V._createBuffer(n);if(e)for(let t=0;t<i.length;t++)i[t]=-1;this._data=i,this._length=n}else{if(!(t instanceof Uint32Array))throw new Error("Invalid constructor");this._data=t,this._length=e}}getRawData(){return this._data}assureGoez(t,e){if(t<0)throw new Error(`${e} should be greater than zero`)}assureInRange(t,e,n,i){if(t<e||t>n)throw new Error(`Argument ${i} (${t}) out of range (${e}, ${n})`)}copy(t,e,n){for(let i=0;i<n;i++)e[i]=t[i]}copyFrom(t){if(this._length!=t._length)throw new Error(`Lengths differ (${this._length} != ${t._length})`);this.copy(t._data,this._data,this.lengthInInts),this._version++}get length(){return this._length}get buffer(){return this._data}set buffer(t){this._data=t,this._version++}get version(){return this._version}set version(t){this._version=t}incrementVersion(t=!0){this._version++}get lengthInInts(){return Math.floor((this._length+31)/32)}get versionedName(){return this._version==this._versionedNameVersion?this._versionedName:""}set versionedName(t){this._versionedName=t,this._versionedNameVersion=this._version}get self(){return this}setLength(t){if(t<0)throw new Error("should be >= 0");if(t==this._length)return;const e=Math.floor((t+31)/32);if(e>this._data.length||e+this.SHRINK_THRESHOLD<this._data.length){const t=new Uint32Array(e);this.copy(this._data,t,e>this._data.length?this._data.length:e),this._data=t}t>this._length&&(this._length%32>0&&(this._data[this.lengthInInts-1]&=(1<<(this._length%32&31))-1),this._data.fill(0,this.lengthInInts,e)),this._length=t,this._version++}static fromAnd(t,e){if(t._length!=e._length)throw new Error(`Lengths differ (${t._length} != ${e._length})`);const n=new V(t._length);n._length=t._length,n._data=V._createBuffer(n._length),n._version=0;const i=t.lengthInInts;for(let r=0;r<i;r++)n._data[r]=t._data[r]&e._data[r];return n}static _createBuffer(t){return new Uint32Array(Math.floor((t+31)/32))}static fromValues(t){const e=new V(t.length);e._version=0;for(let n=0;n<e._length;n++)t[n]&&(e._data[Math.floor(n/32)]|=1<<(n%32&31));return e}static fromSeq(t,e){const n=new V(t);for(let i=0;i<t;++i)n.setBit(i,e(i));return n._version=0,n}static fromString(t){return V.fromSeq(t.length,(e=>"1"==t.charAt(e)))}static fromUint32Array(t,e){const n=new V(t);return n._data=e,n}static fromBytes(t){const e=t.length,n=new V(8*e);n._data=new Uint32Array(Math.floor((e+3)/4)),n._length=8*e;let i=0,r=0;for(;e-r>=4;)n._data[i++]=255&t[r]|(255&t[r+1])<<8|(255&t[r+2])<<16|(255&t[r+3])<<24,r+=4;return e-r==3&&(n._data[i]=(255&t[r+2])<<16),e-r==2&&(n._data[i]|=(255&t[r+1])<<8),e-r==1&&(n._data[i]|=255&t[r]),n._version=0,n}toString(){return`${this._length} bits, ${this.countBits(!0)} set`}equals(t){if(this==t)return!0;if(null==t)return!1;if(this._length!=t._length)return!1;if(0==this._length)return!0;for(let e=0;e<this._data.length-1;e++)if(this._data[e]!=t._data[e])return!1;for(let e=8*(this._data.length-1);e<this._length;e++)if(this.getBit(e)!=t.getBit(e))return!1;return!0}clone(){const t=new V(0,!1);return t._data=Uint32Array.from(this._data),t._length=this._length,t._version=this._version,t}init(t,e){this.setAll(!1,!1);for(let e=0;e<this._length;e++)t(e)&&(this._data[Math.floor(e/32)]|=1<<(e%32&31));return this.incrementVersion(e),this}invert(t=!0){for(let t=0;t<this._data.length;t++)this._data[t]^=-1;this.incrementVersion(t)}setAll(t,e=!1){const n=t?-1:0,i=this.lengthInInts;for(let t=0;t<i;t++)this._data[t]=n;this.incrementVersion(e)}setIndexes(t,e=!0,n=!0,i=!0){n&&this.setAll(!e,!1);for(const n of t)this.setFast(n,e);this.incrementVersion(i)}everyIndex(t,e=!0){for(const n of t)if(this.getBit(n)!=e)return!1;return!0}anyIndex(t,e=!0){for(const n of t)if(this.getBit(n)==e)return!0;return!1}setWhere(t,e=!0,n=!0,i=!0,r=!0){if(n&&r&&this.setAll(!e,!1),r)for(let n=0;n<this._length;n++)t(n)&&this.setFast(n,e);else for(let n=0;n<this._length;n++)this.setFast(n,t(n)?e:!e);this.incrementVersion(i)}getRange(t,e){this.assureInRange(t,0,this._length-1,"from"),this.assureInRange(e,0,this._length,"to");const n=[];for(let i=t;i<e;++i)n.push(this.getBit(i));return V.fromValues(n)}getRangeAsList(t,e){this.assureInRange(t,0,this._length-1,"from"),this.assureInRange(e,0,this._length,"to");const n=[];for(let i=t;i<e;++i)n.push(this.getBit(i));return n}setRange(t,e,n,i=!0){this.assureInRange(t,0,this._length-1,"from"),this.assureInRange(e,0,this._length-1,"to");const r=Math.min(t,e),o=Math.max(t,e);if(n)for(let t=r;t<=o;t++)this.setTrue(t);else for(let t=r;t<=o;t++)this.setFalse(t);return this.incrementVersion(i),this}setRandom(t,e,n=!0){if(t<0||t>this._length)throw new Error("n must be >= 0 && <= Count");t>this._length/2&&this.setRandom(this._length-t,!e),this.setAll(!e);for(let n=0;n<t;){const t=Math.floor(Math.random()*this._length);this.getBit(t)!=e&&(this.setFast(t,e),n++)}this.incrementVersion(n)}and(t,e=!0){if(this._length!=t._length)throw new Error("Array lengths differ.");for(let e=0,n=this.lengthInInts;e<n;e++)this._data[e]&=t._data[e];return this.incrementVersion(e),this}andNot(t,e=!0){if(this._length!=t._length)throw new Error("Array lengths differ.");const n=this.lengthInInts;for(let e=0;e<n;e++)this._data[e]&=~t._data[e];return this.incrementVersion(e),this}notAnd(t,e=!0){if(this._length!=t._length)throw new Error("Array lengths differ.");for(let e=0,n=this.lengthInInts;e<n;e++)this._data[e]=~this._data[e]&t._data[e];return this.incrementVersion(e),this}not(t=!0){for(let t=0,e=this.lengthInInts;t<e;t++)this._data[t]=~this._data[t];return this.incrementVersion(t),this}or(t,e=!0){if(this._length!=t._length)throw new Error("Array lengths differ.");for(let e=0,n=this.lengthInInts;e<n;e++)this._data[e]|=t._data[e];return this.incrementVersion(e),this}xor(t,e=!0){if(this._length!=t._length)throw new Error("Array lengths differ.");for(let e=0,n=this.lengthInInts;e<n;e++)this._data[e]^=t._data[e];return this.incrementVersion(e),this}insertAt(t,e,n=!1){if(this.assureInRange(t,0,this._length,"pos"),0==e)return;const i=this._length;this.setLength(this._length+e);for(let n=i-1;n>=t;n--)this.setBit(n+e,this.getBit(n));for(let i=t;i<t+e;i++)this.setBit(i,n)}removeAt(t,e=1){if(e<0)throw new Error("n cannot be negative");if(this.assureInRange(t,0,this._length-e,"pos"),this.contains(!0))for(let n=t;n<this._length-e;n++)this.setBit(n,this.getBit(n+e));this.setLength(this._length-e)}removeByMask(t,e=!0){if(this._length!=t.length)throw new Error("length != mask.length");if(t==this)this.setLength(t.countBits(!e)),this.setAll(!e);else{let n=0;for(let i=-1;-1!=(i=t.findNext(i,!e));)this.setFast(n++,this.getBit(i));this._length=n,this._version++}return this}getBit(t){return!!(this._data[Math.floor(t/32)]&1<<(31&t))}setBit(t,e,n=!0){this.setFast(t,e),this._version++}setFast(t,e){e?this._data[Math.floor(t/32)]|=1<<(31&t):this._data[Math.floor(t/32)]&=~(1<<(31&t))}setTrue(t){this._data[Math.floor(t/32)]|=1<<(31&t)}setFalse(t){this._data[Math.floor(t/32)]&=~(1<<(31&t))}trueCount(){return this.countBits(!0)}falseCount(){return this.countBits(!1)}countBits(t){if(0==this._length)return 0;if(this._selectedCountVersion!=this._version){this._selectedCount=0;const t=this.lengthInInts;let e=0;for(;e<t-1;e++)for(let t=this._data[e];0!=t;t>>>=8)this._selectedCount+=V._onBitCount[255&t];let n=this._data[e];const i=31&this._length;for(0!=i&&(n&=~(4294967295<<i));0!=n;n>>>=8)this._selectedCount+=V._onBitCount[255&n];this._selectedCountVersion=this._version}return t?this._selectedCount:this._length-this._selectedCount}countWhere(t){let e=0;if(this.trueCount()==this._length)for(let n=0;n<this._length;n++)e+=t(n)?1:0;else for(let n=-1;-1!=(n=this.findNext(n,!0));)e+=t(n)?1:0;return e}andWithCountBits(t,e){if(0==this._length)return 0;let n=0;const i=this.lengthInInts;let r=0;for(;r<i-1;r++)for(let e=this._data[r]&t._data[r];0!=e;e>>>=8)n+=V._onBitCount[255&e];let o=this._data[r]&t._data[r];const s=31&this._length;for(0!=s&&(o&=~(4294967295<<s));0!=o;o>>>=8)n+=V._onBitCount[255&o];return e?n:this._length-n}clear(){this.setLength(0)}contains(t){return this.findNext(-1,t)>=0}get allTrue(){return this.countBits(!0)==this._length}get allFalse(){return this.countBits(!1)==this._length}get anyTrue(){return this.countBits(!0)>0}get anyFalse(){return this.countBits(!1)>0}findNext(t,e=!0){if(this.assureInRange(t,-1,this._length,"index"),t>=this._length-1)return-1;let n=31&(t=t<0?0:t+1);const i=this.lengthInInts;for(let r=Math.floor(t/32);r<i;r++){let i=e?this._data[r]:~this._data[r];if(0!=n)i&=4294967295<<n&4294967295,n=0;else if(!e&&-4294967296==i)continue;for(let e=0;0!=i;e+=8,i>>>=8){const n=V._firstOnBit[255&i];if(n>=0)return(t=n+32*r+e)>=this._length?-1:t}}return-1}findPrev(t,e=!0){if(0==t)return-1;this.assureInRange(t,-1,this._length,"index");let n=1+(t=t<0?this._length-1:t-1)&31;for(let i=Math.floor(t/32);i>=0;i--){let t=e?this._data[i]:~this._data[i];0!=n&&(t&=~(4294967295<<n),n=0);for(let e=24;0!=t;e-=8,t<<=8){const n=V._lastOnBit[t>>>24];if(n>=0)return n+32*i+e}}return-1}}function G(t={}){const e=function(){if(!t||!t.scoringMatrix||!t.alphabetIndexes)return(t,e)=>t===e?0:1;if(t.scoringMatrix.length!==Object.keys(t.alphabetIndexes).length)throw new Error("Scoring matrix and alphabet indexes should have the same length");const e=t.alphabetIndexes,n=t.scoringMatrix,i=Math.min(...Object.keys(e).map((t=>t.charCodeAt(0))))+1,r=new Float32Array((n.length+i)*(n.length+i));return Object.entries(e).forEach((([t,i])=>{const o=n[i];Object.entries(e).forEach((([e,i])=>{r[t.charCodeAt(0)*n.length+e.charCodeAt(0)]=o[i]}))})),(t,e)=>1-r[t.charCodeAt(0)*n.length+e.charCodeAt(0)]}(),n=t?.threshold??0;return(t,i)=>{let r=0;const o=t.length,s=i.length,a=Math.ceil(Math.max(o,s)*(1-n));o!==s&&(r=Math.abs(o-s));let c=0;for(let n=0;n<Math.min(o,s);n++)if(t[n]!==i[n]&&(c+=e(t[n],i[n]),c>a))return 1;return c+=r,c/=Math.max(o,s),c}}V._onBitCount=Int8Array.from([0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8]),V._firstOnBit=Int8Array.from([-1,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0]),V._lastOnBit=Int8Array.from([-1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7]);const j={gapOpen:1,gapExtend:.6,scoringMatrix:[[4,-1,-2,-2,0,-1,-1,0,-2,-1,-1,-1,-1,-2,-1,1,0,-3,-2,0,-2,-1,0,-4],[-1,5,0,-2,-3,1,0,-2,0,-3,-2,2,-1,-3,-2,-1,-1,-3,-2,-3,-1,0,-1,-4],[-2,0,6,1,-3,0,0,0,1,-3,-3,0,-2,-3,-2,1,0,-4,-2,-3,3,0,-1,-4],[-2,-2,1,6,-3,0,2,-1,-1,-3,-4,-1,-3,-3,-1,0,-1,-4,-3,-3,4,1,-1,-4],[0,-3,-3,-3,9,-3,-4,-3,-3,-1,-1,-3,-1,-2,-3,-1,-1,-2,-2,-1,-3,-3,-2,-4],[-1,1,0,0,-3,5,2,-2,0,-3,-2,1,0,-3,-1,0,-1,-2,-1,-2,0,3,-1,-4],[-1,0,0,2,-4,2,5,-2,0,-3,-3,1,-2,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-2,0,-1,-3,-2,-2,6,-2,-4,-4,-2,-3,-3,-2,0,-2,-2,-3,-3,-1,-2,-1,-4],[-2,0,1,-1,-3,0,0,-2,8,-3,-3,-1,-2,-1,-2,-1,-2,-2,2,-3,0,0,-1,-4],[-1,-3,-3,-3,-1,-3,-3,-4,-3,4,2,-3,1,0,-3,-2,-1,-3,-1,3,-3,-3,-1,-4],[-1,-2,-3,-4,-1,-2,-3,-4,-3,2,4,-2,2,0,-3,-2,-1,-2,-1,1,-4,-3,-1,-4],[-1,2,0,-1,-3,1,1,-2,-1,-3,-2,5,-1,-3,-1,0,-1,-3,-2,-2,0,1,-1,-4],[-1,-1,-2,-3,-1,0,-2,-3,-2,1,2,-1,5,0,-2,-1,-1,-1,-1,1,-3,-1,-1,-4],[-2,-3,-3,-3,-2,-3,-3,-3,-1,0,0,-3,0,6,-4,-2,-2,1,3,-1,-3,-3,-1,-4],[-1,-2,-2,-1,-3,-1,-1,-2,-2,-3,-3,-1,-2,-4,7,-1,-1,-4,-3,-2,-2,-1,-2,-4],[1,-1,1,0,-1,0,0,0,-1,-2,-2,0,-1,-2,-1,4,1,-3,-2,-2,0,0,0,-4],[0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-2,-1,1,5,-2,-2,0,-1,-1,0,-4],[-3,-3,-4,-4,-2,-2,-3,-2,-2,-3,-2,-3,-1,1,-4,-3,-2,11,2,-3,-4,-3,-2,-4],[-2,-2,-2,-3,-2,-1,-2,-3,2,-1,-1,-2,-1,3,-3,-2,-2,2,7,-1,-3,-2,-1,-4],[0,-3,-3,-3,-1,-2,-2,-3,-3,3,1,-2,1,-1,-2,-2,0,-3,-1,4,-3,-2,-1,-4],[-2,-1,3,4,-3,0,1,-1,0,-3,-4,0,-3,-3,-2,0,-1,-4,-3,-3,4,1,-1,-4],[-1,0,0,1,-3,3,4,-2,0,-3,-3,1,-1,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,0,0,-2,-1,-1,-1,-1,-1,-4],[-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,1]],alphabetIndexes:{A:0,R:1,N:2,D:3,C:4,Q:5,E:6,G:7,H:8,I:9,L:10,K:11,M:12,F:13,P:14,S:15,T:16,W:17,Y:18,V:19,B:20,Z:21,X:22,"*":23}};var $;!function(t){t.HAMMING="Hamming",t.LEVENSHTEIN="Levenshtein",t.NEEDLEMANN_WUNSCH="Needlemann-Wunsch",t.MONOMER_CHEMICAL_DISTANCE="Monomer chemical distance"}($||($={}));const K={[$.HAMMING]:G,[$.LEVENSHTEIN]:function(){return(t,e)=>F(t,e)/Math.max(t.length,e.length)},[$.NEEDLEMANN_WUNSCH]:function(t){const e=new Uint16Array(65536),{gapOpen:n,gapExtend:i,scoringMatrix:r,alphabetIndexes:o}={...j,...t};Object.entries(o).forEach((([t,n])=>e[t.charCodeAt(0)]=n));const s=[new Float32Array(1e4),new Float32Array(1e4)];return(t,o)=>{const a=new Array(t.length+1).fill(!1),c=new Array(t.length+1).fill(!1);let l=0,u=1;for(let e=1;e<t.length+1;e++)s[0][e]=-n-(e-1)*i,s[1][e]=0;s[0][0]=0;for(let h=1;h<o.length+1;h++){s[u][0]=-n-(h-1)*i;for(let f=1;f<t.length+1;f++){const d=s[l][f-1]+r[e[t.charCodeAt(f-1)]][e[o.charCodeAt(h-1)]],y=s[l][f]-(a[f]?i:n),g=s[u][f-1]-(c[f-1]?i:n);s[u][f]=Math.max(d,g,y),s[u][f]===d?(a[f]=!1,c[f]=!1):s[u][f]===g?(a[f]=!1,c[f]=!0):(a[f]=!0,c[f]=!1)}l=u,u=(u+1)%2}const h=Math.max(t.length,o.length);return(h-s[l][t.length])/h}},[$.MONOMER_CHEMICAL_DISTANCE]:G};function Y(t,e){const n=t.trueCount()+e.trueCount();if(0==n)return 1;const i=t.andWithCountBits(e,!0);return i/(n-i)}function z(t){return 0===t?3402823e32:1/t-1}_.Tanimoto,_.Dice,_.Asymmetric,_.BraunBlanquet,_.Cosine,_.Kulczynski,_.McConnaughey,_.RogotGoldberg,_.Russel,_.Sokal,_.Hamming,_.Euclidean,_.Tanimoto,_.Dice,_.Asymmetric,_.BraunBlanquet,_.Cosine,_.Kulczynski,_.McConnaughey,_.RogotGoldberg,_.Russel,_.Sokal,_.Hamming,_.Euclidean,_.Tanimoto,_.Dice,_.Cosine,_.Tanimoto,_.Asymmetric,_.Cosine,_.Sokal,$.HAMMING,$.LEVENSHTEIN,$.MONOMER_CHEMICAL_DISTANCE,$.NEEDLEMANN_WUNSCH;const Q={[b.Euclidean]:function(t,e){let n=0;const i=t.length;if(i!==e.length)throw new Error("The dimensionality of the vectors must match");for(let r=0;r<i;++r)n+=Math.pow(t[r]-e[r],2);return Math.sqrt(n)}},q={[v.Levenshtein]:F,[v.JaroWinkler]:W.Vb,[v.Manhattan]:function(t,e){if(t.length!==e.length)return 1;{let n=0;for(let i=1;i<t.length;i++)n+=t[i]==e[i]?0:1;return n/t.length}},[v.Onehot]:function(t,e){return t===e?0:1}},X={[_.Tanimoto]:function(t,e){return 1-Y(t,e)},[_.Dice]:function(t,e){return 1-function(t,e){const n=t.trueCount()+e.trueCount();return 0==n?0:2*t.andWithCountBits(e,!0)/n}(t,e)},[_.Asymmetric]:function(t,e){return 1-function(t,e){const n=Math.min(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e)},[_.BraunBlanquet]:function(t,e){return z(function(t,e){const n=Math.max(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e))},[_.Cosine]:function(t,e){return 1-function(t,e){const n=t.trueCount()*e.trueCount();return 0==n?0:t.andWithCountBits(e,!0)/Math.sqrt(n)}(t,e)},[_.Kulczynski]:function(t,e){return z(function(t,e){const n=t.trueCount()+e.trueCount(),i=t.trueCount()*e.trueCount();return 0==i?0:t.andWithCountBits(e,!0)*n/(2*i)}(t,e))},[_.McConnaughey]:function(t,e){return z(function(t,e){const n=t.trueCount()+e.trueCount(),i=t.trueCount()*e.trueCount();return 0==i?0:(t.andWithCountBits(e,!0)*n-i)/i}(t,e))},[_.RogotGoldberg]:function(t,e){return z(function(t,e){const n=t.andWithCountBits(e,!0),i=t.countBits(!0)+e.countBits(!0),r=t.length,o=r-i+n;return n==r||o==r?1:n/i+o/(2*r-i)}(t,e))},[_.Russel]:function(t,e){return z(function(t,e){return 0==t.length?0:t.andWithCountBits(e,!0)/t.length}(t,e))},[_.Sokal]:function(t,e){return 1-function(t,e){const n=t.trueCount()+e.trueCount(),i=t.andWithCountBits(e,!0);return i/(2*n-3*i)}(t,e)},[_.Hamming]:function(t,e){return t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0)},[_.Euclidean]:function(t,e){return Math.sqrt(t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0))}},J={[E.TanimotoIntArray]:function(t,e){return z(Y(new V(t,32*t.length),new V(e,32*e.length)))}},Z={[w.Difference]:function(t){if(t&&null!=t.range&&t.range>0){const e=t.range;return(t,n)=>Math.abs(t-n)/e}return(t,e)=>Math.abs(t-e)}},tt={[M.CommonItems]:function(t){const e=function(t){const e=t?.mostCommon??new Set;return(t,n)=>{const i=t.length,r=n.length;let o=0,s=0,a=0;for(;s<i&&a<r;)t[s]===n[a]?(e?.has(t[s])||++o,++s,++a):t[s]<n[a]?++s:++a;return o}}(t);return(t,n)=>0===n.length||0===t.length?1e4:Math.min(t.length,n.length)/(e(t,n)+1e-4)}},et={[N.Vector]:{[b.Euclidean]:Q[b.Euclidean]},[N.String]:{[v.Levenshtein]:q[v.Levenshtein],[v.JaroWinkler]:q[v.JaroWinkler],[v.Manhattan]:q[v.Manhattan],[v.Onehot]:q[v.Onehot]},[N.BitArray]:{[_.Tanimoto]:X[_.Tanimoto],[_.Dice]:X[_.Dice],[_.Asymmetric]:X[_.Asymmetric],[_.BraunBlanquet]:X[_.BraunBlanquet],[_.Cosine]:X[_.Cosine],[_.Kulczynski]:X[_.Kulczynski],[_.McConnaughey]:X[_.McConnaughey],[_.RogotGoldberg]:X[_.RogotGoldberg],[_.Russel]:X[_.Russel],[_.Sokal]:X[_.Sokal]},[N.MacroMolecule]:{[$.HAMMING]:K[$.HAMMING],[$.LEVENSHTEIN]:K[$.LEVENSHTEIN],[$.NEEDLEMANN_WUNSCH]:K[$.NEEDLEMANN_WUNSCH],[$.MONOMER_CHEMICAL_DISTANCE]:K[$.MONOMER_CHEMICAL_DISTANCE]},[N.Number]:{[w.Difference]:Z[w.Difference]},[N.IntArray]:{[E.TanimotoIntArray]:J[E.TanimotoIntArray]},[N.NumberArray]:{[M.CommonItems]:tt[M.CommonItems]}};Object.keys(et).reduce(((t,e)=>{for(const n of Object.keys(et[e]))t[n]=e;return t}),{});const nt=ui,it="bypassLargeDataWarning",rt="show-scatterplot-progress";var ot,st,at,ct,lt,ut,ht,ft=function(t,e,n,i){return new(n||(n=Promise))((function(r,o){function s(t){try{c(i.next(t))}catch(t){o(t)}}function a(t){try{c(i.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((i=i.apply(t,e||[])).next())}))};n(5540),(st=ot||(ot={})).EUCLIDEAN="EUCLIDEAN",st.MANHATTAN="MANHATTAN",ot.EUCLIDEAN,ot.MANHATTAN,(ct=at||(at={})).HAMMING="Hamming",ct.EUCLIDEAN="Euclidean",ct.MANHATTAN="Manhattan",ct.TANIMOTO="Tanimoto",ct.LEVENSTEIN="Levenshtein",ct.NEEDLEMAN_WUNSCH="Needlemann-Wunsch",ct.MONOMER_CHEMICAL_DISTANCE="Monomer chemical distance",ct.SOKAL="Sokal",ct.COSINE="Cosine",ct.ASYMMETRIC="Asymmetric",ct.Difference="Difference",ct.OneHot="One-Hot",at.HAMMING,at.EUCLIDEAN,at.MANHATTAN,at.TANIMOTO,at.LEVENSTEIN,at.NEEDLEMAN_WUNSCH,at.MONOMER_CHEMICAL_DISTANCE,at.SOKAL,at.COSINE,at.ASYMMETRIC,at.Difference,at.OneHot,at.HAMMING,at.EUCLIDEAN,at.MANHATTAN,at.TANIMOTO,at.SOKAL,at.COSINE,at.ASYMMETRIC,at.LEVENSTEIN,at.NEEDLEMAN_WUNSCH,at.MONOMER_CHEMICAL_DISTANCE,at.Difference,at.OneHot,new Set([at.HAMMING,at.LEVENSTEIN,at.NEEDLEMAN_WUNSCH,at.MONOMER_CHEMICAL_DISTANCE,at.OneHot]),new Set([at.HAMMING,at.EUCLIDEAN,at.MANHATTAN,at.MONOMER_CHEMICAL_DISTANCE,at.LEVENSTEIN,at.NEEDLEMAN_WUNSCH,at.TANIMOTO,at.COSINE,at.SOKAL,at.ASYMMETRIC,at.OneHot,at.Difference]),new Set([at.EUCLIDEAN,at.MANHATTAN,at.OneHot,at.Difference]),new Set([at.EUCLIDEAN,at.MANHATTAN,at.Difference]),new Set([at.EUCLIDEAN,at.MANHATTAN,at.Difference]),new Set([at.TANIMOTO,at.COSINE,at.SOKAL,at.ASYMMETRIC]),function(t){t.ADD="ADD",t.SUB="SUB",t.MULT="MULT"}(lt||(lt={})),function(t){t.SQUARE="SQUARE",t.INVERSE="INVERSE",t.TRANSPOSE="TRANSPOSE",t.NORM="NORM",t.COLUMN_NORM="COLUMN_NORM"}(ut||(ut={})),function(t){t.SCALARMULT="SCALARMULT",t.SCALARADD="SCALARADD",t.SCALARPOW="SCALARPOW"}(ht||(ht={})),Object.prototype.toString;const dt="dimensionality-reducer-terminate-event";var yt,gt;(gt=yt||(yt={})).EUCLIDEAN="EUCLIDEAN",gt.MANHATTAN="MANHATTAN";const mt=t=>null==t;function pt(t,e){return`${e} (${t.length>4?`${t.length} columns`:t.map((t=>t.name)).join(", ")})`}async function xt(i,r,o,s,a,c,l,u=!0,h=!1,f={preprocessingFuncArgs:[]},d={},y=null,g={}){const m={showXAxis:!1,showYAxis:!1,showXSelector:!1,showYSelector:!1};if(r.length!==s.length||r.length!==c.length||r.length!==a.length||r.length!==f.preprocessingFuncArgs.length)throw new Error("columns, metrics and preprocessing functions, weights and function argumentsmust have the same length");const p=u?e.shell.tableView(i.name)??e.shell.addTableView(i):null,x=async()=>{const x=t.TaskBarProgressIndicator.create(`Initializing ${d.scatterPlotName??"dimensionality reduction"} ...`);let C;try{const A=function(t){const e=["Embed_X","Embed_Y"],n=t.columns.names().filter((t=>t.includes(e[0]))).length+1;return e.map((t=>`${t}_${n}`))}(i);function v(e,n,s){let a=null,c=null;i.columns.names().includes(A[0])?(a=i.columns.byName(A[0]),c=i.columns.byName(A[1])):(a=i.columns.add(t.Column.float(A[0],i.rowCount)),c=i.columns.add(t.Column.float(A[1],i.rowCount)),u&&!C&&(C=p.scatterPlot({...m,x:A[0],y:A[1],title:d.scatterPlotName??pt(r,o)}))),d[rt]&&(C?.root&&nt.setUpdateIndicator(C.root,!1),a.init((t=>s[0]?s[0][t]:void 0)),c.init((t=>s[1]?s[1][t]:void 0)));const l=e/n*100;x.update(l,`Running ${d.scatterPlotName??"dimensionality reduction"}... ${l.toFixed(0)}%`)}async function b(){i.columns.add(t.Column.float(A[0],i.rowCount)),i.columns.add(t.Column.float(A[1],i.rowCount));let h=null;u&&(C=p.scatterPlot({...m,x:A[0],y:A[1],title:d.scatterPlotName??pt(r,o)}),nt.setUpdateIndicator(C.root,!0));const y=e.events.onViewerClosed.subscribe((t=>{const n=t.args.viewer;n?.getOptions()?.look?.title&&C?.getOptions()?.look?.title&&n?.getOptions()?.look?.title===C?.getOptions()?.look?.title&&(e.events.fireCustomEvent(dt,{}),y.unsubscribe(),h?.(),x.close())})),g=new Promise((async(t,i)=>{try{h=t;const i=[];for(let t=0;t<c.length;++t){const e=c[t];if(f.distanceFnArgs||(f.distanceFnArgs=[]),e){const n=e.inputs[0].name,o=e.inputs[1].name,{entries:a,options:c}=await e.apply({[n]:r[t],[o]:s[t],...f.preprocessingFuncArgs[t]??{}});i.push({entries:a,options:c}),f.distanceFnArgs.push(c)}else{const e=r[t].toList(),n={};i.push({entries:e,options:n}),f.distanceFnArgs.push(n)}}t(await async function(t,i,r,o,s,a,c){let l=await async function(t,i,r,o,s,a,c){if(!a.distanceFnArgs)throw new Error("options.distanceFnArgs must be defined");if(t.length!==i.length||t.length!==a.distanceFnArgs.length||t.length!==o.length)throw new Error("data, metrics and options and weights must have the same length");return new Promise((function(l,u){const h=new Worker(new URL(n.p+n.u(234),n.b));h.postMessage({columnsData:t,distanceMetrics:i,method:r,options:a,weights:o,aggregationMethod:s});const f=e.events.onCustomEvent(dt).subscribe((()=>{try{h?.terminate()}finally{f.unsubscribe()}}));h.onmessage=({data:{error:t,embedding:e,epochNum:n,epochsLength:i}})=>{mt(n)||mt(i)?(f.unsubscribe(),t?u(t):l(e),setTimeout((()=>h.terminate()),100)):c&&c(n,i,e)}}))}(t,r,i,o,s,a,c);return l=l.map((t=>function(t){const e=t.length;let n=0,i=0;for(let r=0;r<e;++r)n+=t[r],i+=Math.pow(t[r],2);const r=n/e,o=1/Math.sqrt(i/e-Math.pow(r,2));for(let n=0;n<e;++n)t[n]=(t[n]-r)*o;return t}(t))),l}(i.map((t=>t.entries)),o,s,a,l,f,d[it]?void 0:v))}catch(t){i(t)}})),b=await g;return x.close(),y.unsubscribe(),b}const _=await b();if(h&&_){const E=t.TaskBarProgressIndicator.create("Clustering embeddings ...");try{const N=await function(t,e,i,r){return ft(this,void 0,void 0,(function*(){return new Promise((function(o,s){const a=new Worker(new URL(n.p+n.u(682),n.b));a.postMessage({embedX:t,embedY:e,minPts:r,epsilon:i}),a.onmessage=({data:{error:t,clusters:e}})=>{a.terminate(),t?s(t):o(e)}}))}))}(_[0],_[1],f.dbScanEpsilon??.01,f.dbScanMinPts??4),w=i.columns.getUnusedName("Cluster (DBSCAN)");i.columns.addNewString(w).init((t=>N[t].toString())),C&&(C.props.colorColumnName=w)}catch(M){e.shell.error("Clustering embeddings failed"),console.error(M)}finally{E.close()}}if(_){const S=i.columns.byName(A[0]),I=i.columns.byName(A[1]);if(S.init((t=>_[0][t])),I.init((t=>_[1][t])),y)try{const O=y.inputs[0].name,T=y.inputs[1].name;await y.prepare({[O]:S,[T]:I,...g}).call(!0)}catch(L){e.shell.error("Post-processing failed"),console.error(L)}if(C)return nt.setUpdateIndicator(C.root,!1),C.helpUrl="/help/compute/sequence-space",C}}catch(R){e.shell.error("Dimensionality reduction failed"),console.error(R),x.close(),C&&nt.setUpdateIndicator(C.root,!1)}};return new Promise((async(t,e)=>{try{if(d.fastRowCount&&i.rowCount>d.fastRowCount&&!d[it])nt.dialog().add(nt.divText("Analysis might take several minutes. Do you want to continue?")).onOK((async()=>{try{const e=await x();t(e)}catch(t){e(t)}})).onCancel((()=>t(void 0))).show();else{const e=await x();t(e)}}catch(t){e(t)}}))}var Ct=function(t,e,n,i){return new(n||(n=Promise))((function(r,o){function s(t){try{c(i.next(t))}catch(t){o(t)}}function a(t){try{c(i.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((i=i.apply(t,e||[])).next())}))};const At={SUBJ:"subj",STUDY:"study",SITE:"site",AGE:"age",SEX:"sex",RACE:"race",DISEASE:"disease",WEIGHT:"weight",HEIGHT:"height"};function vt(t,n,i){return Ct(this,void 0,void 0,(function*(){const r=e.data.demo.demog(100);e.shell.addTableView(r),L(!!(yield xt(r,t.map((t=>r.col(t))),n,i,t.map((()=>1)),t.map((()=>{})),"EUCLIDEAN",!0,!0,{preprocessingFuncArgs:t.map((()=>({})))})),!0,"No scatterplot returned");const o=r.columns.names().filter((t=>t.toLowerCase().startsWith("embed")));L(o.length,2,"Wrong number of embeddings added"),L(!!r.columns.names().find((t=>t.toLowerCase().startsWith("cluster"))),!0,"No cluster column added");for(const t of o){const e=r.col(t);L(new Array(e.length).fill(null).every(((t,n)=>!e.isNone(n)&&!isNaN(e.get(n)))),!0,"Embedding column has null-ish values")}yield new Promise((t=>setTimeout(t,500)))}))}R("Dimensionality reduction: UMAP",(()=>{T("Numeric column",(()=>Ct(void 0,void 0,void 0,(function*(){yield vt([At.AGE],A.UMAP,[w.Difference])}))),{timeout:3e4}),T("String column",(()=>Ct(void 0,void 0,void 0,(function*(){yield vt([At.SEX],A.UMAP,[v.Onehot])}))),{timeout:3e4}),T("Numeric and string columns",(()=>Ct(void 0,void 0,void 0,(function*(){yield vt([At.SEX,At.AGE],A.UMAP,[v.Onehot,w.Difference])})))),T("All demog columns",(()=>Ct(void 0,void 0,void 0,(function*(){const n=e.data.demo.demog(10).columns.toList().filter((t=>Object.values(At).includes(t.name))),i=n.map((e=>e.type===t.COLUMN_TYPE.STRING?v.Onehot:w.Difference)),r=n.map((t=>t.name));yield vt(r,A.UMAP,i)}))))})),R("Dimensionality reduction: T-SNE",(()=>{T("Numeric column",(()=>Ct(void 0,void 0,void 0,(function*(){yield vt([At.AGE],A.T_SNE,[w.Difference])}))),{timeout:3e4}),T("String column",(()=>Ct(void 0,void 0,void 0,(function*(){yield vt([At.SEX],A.T_SNE,[v.Onehot])}))),{timeout:3e4}),T("Numeric and string columns",(()=>Ct(void 0,void 0,void 0,(function*(){yield vt([At.SEX,At.AGE],A.T_SNE,[v.Onehot,w.Difference])})))),T("All demog columns",(()=>Ct(void 0,void 0,void 0,(function*(){const n=e.data.demo.demog(10).columns.toList().filter((t=>Object.values(At).includes(t.name))),i=n.map((e=>e.type===t.COLUMN_TYPE.STRING?v.Onehot:w.Difference)),r=n.map((t=>t.name));yield vt(r,A.T_SNE,i)}))))}));var bt=function(t,e,n,i){return new(n||(n=Promise))((function(r,o){function s(t){try{c(i.next(t))}catch(t){o(t)}}function a(t){try{c(i.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((i=i.apply(t,e||[])).next())}))};const _t=new t.Package;function Et(n,i,a){return bt(this,void 0,void 0,(function*(){const x=yield function(n){var i,a,x,C,A,v,b,_;return o(this,void 0,void 0,(function*(){const E=null===(a=null===(i=e.functions.getCurrentCall())||void 0===i?void 0:i.func)||void 0===a?void 0:a.package;yield function(t){var n;return o(this,void 0,void 0,(function*(){const i=t.id;if(p[i])return;const a=f;if(void 0!==a[d]||void 0!==a[y]||Object.keys(a).find((t=>t.startsWith(d)||t.startsWith(m))))return void(p[i]=!0);if("DevTools"===t.name)for(const t of window.dartTests){const e=t.name.split(/\s*\|\s*!/g),i=null!==(n=e.pop())&&void 0!==n?n:t.name,r=e.length?m+": "+e.join(": "):m;void 0===a[r]&&(a[r]={tests:[],clear:!0}),a[r].tests.push(new O(r,i,t.test,{isAggregated:!1,timeout:s}))}const c=[],l=[],u=[],h=yield e.dapi.functions.filter(`package.id = "${i}"`).list(),x=new RegExp(/skip:\s*([^,\s]+)|wait:\s*(\d+)|cat:\s*([^,\s]+)|timeout:\s*(\d+)/g);for(const t of h){const n=t.options.test,i=t.options.demoPath;if(n&&Array.isArray(n)&&n.length)for(let i=0;i<n.length;i++){const r=n[i].matchAll(x),s={};Array.from(r).forEach((t=>{t[0].startsWith("skip")?s.skip=t[1]:t[0].startsWith("wait")?s.wait=parseInt(t[2]):t[0].startsWith("cat")?s.cat=t[3]:t[0].startsWith("timeout")&&(s.timeout=parseInt(t[4]))}));const l=new O(d,1===n.length?t.name:`${t.name} ${i+1}`,(()=>o(this,void 0,void 0,(function*(){const r=yield e.functions.eval(D(n[i],t));if(s.wait&&(yield H(s.wait)),"boolean"==typeof r&&!r)throw`Failed: ${n[i]}, expected true, got ${r}`}))),{skipReason:s.skip,timeout:s.timeout});if(s.cat){const t=d+": "+s.cat;l.category=t,void 0===a[t]&&(a[t]={tests:[],clear:!0}),a[t].tests.push(l)}else c.push(l)}if(i){const n=t.options.demoWait?parseInt(t.options.demoWait):void 0,i=new O(y,t.friendlyName,(()=>o(this,void 0,void 0,(function*(){e.shell.clearLastError(),yield t.apply(),yield H(n||2e3);const i=yield e.shell.lastError;if(i)throw new Error(i)}))),{skipReason:t.options.demoSkip});l.push(i)}if(t.hasTag("semTypeDetector")){const e=new O(g,t.friendlyName,(()=>o(this,void 0,void 0,(function*(){const e=[];for(const n of r.clone().columns){const i=yield t.apply([n]);e.push(i||n.semType)}L(e.filter((t=>t)).length,1)}))),{skipReason:t.options.skipTest});u.push(e)}}p[i]=!0,c.length&&(a[d]={tests:c,clear:!0}),l.length&&(a[y]={tests:l,clear:!0}),u.length&&(a[g]={tests:u,clear:!1})}))}(E);const N=[];console.log("Running tests"),null!=n||(n={}),null!==(x=(_=n).testContext)&&void 0!==x||(_.testContext=new I),e.shell.clearLastError();const w=[],M=function(){const t=[];return console.log=(...e)=>{t.push(...e),c(...e)},console.info=(...e)=>{t.push(...e),l(...e)},console.warn=(...e)=>{t.push(...e),u(...e)},console.error=(...e)=>{t.push(...e),h(...e)},t}();try{for(const[i,r]of Object.entries(f)){if((null==n?void 0:n.category)&&!i.toLowerCase().startsWith(null==n?void 0:n.category.toLowerCase())||(null===(C=n.exclude)||void 0===C?void 0:C.some((t=>i.startsWith(t)))))continue;c(`Started ${i} category`),w.push(i);const s=null===(A=r.tests)||void 0===A?void 0:A.every((t=>{var e;return null===(e=t.options)||void 0===e?void 0:e.skipReason}));try{r.before&&!s&&(yield U((()=>o(this,void 0,void 0,(function*(){yield r.before()}))),1e5,`before ${n.category}: timeout error`))}catch(t){r.beforeStatus=yield k(t)}const a=null!==(v=r.tests)&&void 0!==v?v:[],l=[];if(r.clear)for(let i=0;i<a.length;i++){a[i].options&&void 0===(null===(b=a[i].options)||void 0===b?void 0:b.benchmark)&&(a[i].options||(a[i].options={}),a[i].options.benchmark=r.isAllTestsEnabledBenchmarkMode||!1);let o=yield P(a[i],null==n?void 0:n.test,M,r.timeout,E.name,n.verbose);o&&l.push(o),e.shell.closeAll(),t.Balloon.closeAll()}else for(let t=0;t<a.length;t++){let e=yield P(a[t],null==n?void 0:n.test,M,r.timeout,E.name,n.verbose);e&&l.push(e)}const u=l.filter((t=>"skipped"!=t.result));try{r.after&&!s&&(yield U((()=>o(this,void 0,void 0,(function*(){yield r.after()}))),1e5,`After ${n.category}: timeout error`))}catch(t){r.afterStatus=yield k(t)}r.afterStatus&&u.push({category:i,name:"after",result:r.afterStatus,success:!1,ms:0,skipped:!1}),r.beforeStatus&&u.push({category:i,name:"before",result:r.beforeStatus,success:!1,ms:0,skipped:!1}),N.push(...u)}}finally{console.log=c,console.info=l,console.warn=u,console.error=h}if(n.testContext.catchUnhandled){yield H(1e3);const t=yield e.shell.lastError,n={category:"Unhandled exceptions",name:"Exception",result:null!=t?t:"",success:!t,ms:0,skipped:!1};N.push(n),n.package=E.name,null!=e.shell.reportTest?yield e.shell.reportTest("package",n):yield fetch(`${e.dapi.root}/log/tests/package`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify(n)})}return N}))}({category:n,test:i,testContext:a});return t.DataFrame.fromObjects(x)}))}})(),eda_test=i})();
|
|
2
|
+
//# sourceMappingURL=package-test.js.map
|