@datagrok/eda 1.1.7 → 1.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/100.js +2 -0
- package/dist/111.js +2 -2
- package/dist/118.js +2 -0
- package/dist/146.js +2 -2
- package/dist/155.js +2 -2
- package/dist/221.js +2 -2
- package/dist/313.js +2 -0
- package/dist/355.js +2 -2
- package/dist/356.js +2 -2
- package/dist/44.js +2 -0
- package/dist/471.js +2 -0
- package/dist/489.js +3 -0
- package/dist/489.js.LICENSE.txt +51 -0
- package/dist/584.js +2 -2
- package/dist/604.js +2 -2
- package/dist/632.js +2 -2
- package/dist/645.js +2 -2
- package/dist/656.js +2 -0
- package/dist/664.js +2 -0
- package/dist/694.js +2 -2
- package/dist/727.js +2 -0
- package/dist/729.js +2 -2
- package/dist/796.js +2 -2
- package/dist/861.js +2 -0
- package/dist/93.js +2 -2
- package/dist/972.js +2 -0
- package/dist/package-test.js +2 -2
- package/dist/package.js +2 -2
- package/package.json +34 -4
- package/src/package.ts +45 -45
- package/dist/80.js +0 -2
package/dist/313.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var eda;(()=>{"use strict";var t,e,n={7862:(t,e,n)=>{var s;n.d(e,{y:()=>s}),function(t){t.EUCLIDEAN="EUCLIDEAN",t.MANHATTAN="MANHATTAN"}(s||(s={}))},6814:(t,e,n)=>{n.d(e,{cZ:()=>a,kK:()=>s}),n(7862);const s=t=>null==t;function a(t,e,n,s){if(n>t[t.length-1])return;const a=t.findIndex((t=>n<t));t.pop(),t.splice(a,0,n),e.pop(),e.splice(a,0,s)}},1040:(t,e,n)=>{var s,a,i,r,c,o;n.d(e,{CF:()=>a,Qe:()=>c,W:()=>s,Yc:()=>o,gd:()=>r,gk:()=>i}),function(t){t.Levenshtein="Levenshtein",t.JaroWinkler="Jaro-Winkler",t.Manhattan="Manhattan",t.Onehot="One-Hot"}(s||(s={})),function(t){t.Euclidean="Euclidean"}(a||(a={})),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"}(i||(i={})),function(t){t.TanimotoIntArray="TanimotoIntArray"}(r||(r={})),function(t){t.Vector="Vector",t.String="String",t.BitArray="BitArray",t.MacroMolecule="MacroMolecule",t.Number="Number",t.IntArray="IntArray"}(c||(c={})),function(t){t.Difference="Difference"}(o||(o={}))},6361:(t,e,n)=>{n.d(e,{gk:()=>s.gk});var s=n(1040);n(7861)},7861:(t,e,n)=>{n.d(e,{UH:()=>y,m2:()=>g,sQ:()=>p});var s=n(1811),a=n(3979),i=n(5697),r=n(850),c=n(489),o=n(1040);const d={[o.CF.Euclidean]:r.dP},h={[o.W.Levenshtein]:s.T,[o.W.JaroWinkler]:a.H$,[o.W.Manhattan]:function(t,e){if(t.length!==e.length)return 1;{let n=0;for(let s=1;s<t.length;s++)n+=t[s]==e[s]?0:1;return n/t.length}},[o.W.Onehot]:function(t,e){return t===e?0:1}},l={[o.gk.Tanimoto]:i.KR,[o.gk.Dice]:i._h,[o.gk.Asymmetric]:i.yU,[o.gk.BraunBlanquet]:i.Dz,[o.gk.Cosine]:i.Zd,[o.gk.Kulczynski]:i.s,[o.gk.McConnaughey]:i.aW,[o.gk.RogotGoldberg]:i.MI,[o.gk.Russel]:i.fX,[o.gk.Sokal]:i.NB,[o.gk.Hamming]:i.UX,[o.gk.Euclidean]:i.WI},u={[o.gd.TanimotoIntArray]:i.FV},m={[o.Yc.Difference]:i.bX},g={[o.Qe.Vector]:{[o.CF.Euclidean]:d[o.CF.Euclidean]},[o.Qe.String]:{[o.W.Levenshtein]:h[o.W.Levenshtein],[o.W.JaroWinkler]:h[o.W.JaroWinkler],[o.W.Manhattan]:h[o.W.Manhattan],[o.W.Onehot]:h[o.W.Onehot]},[o.Qe.BitArray]:{[o.gk.Tanimoto]:l[o.gk.Tanimoto],[o.gk.Dice]:l[o.gk.Dice],[o.gk.Asymmetric]:l[o.gk.Asymmetric],[o.gk.BraunBlanquet]:l[o.gk.BraunBlanquet],[o.gk.Cosine]:l[o.gk.Cosine],[o.gk.Kulczynski]:l[o.gk.Kulczynski],[o.gk.McConnaughey]:l[o.gk.McConnaughey],[o.gk.RogotGoldberg]:l[o.gk.RogotGoldberg],[o.gk.Russel]:l[o.gk.Russel],[o.gk.Sokal]:l[o.gk.Sokal]},[o.Qe.MacroMolecule]:{[c.U.HAMMING]:c.o[c.U.HAMMING],[c.U.LEVENSHTEIN]:c.o[c.U.LEVENSHTEIN],[c.U.NEEDLEMANN_WUNSCH]:c.o[c.U.NEEDLEMANN_WUNSCH],[c.U.MONOMER_CHEMICAL_DISTANCE]:c.o[c.U.MONOMER_CHEMICAL_DISTANCE]},[o.Qe.Number]:{[o.Yc.Difference]:m[o.Yc.Difference]},[o.Qe.IntArray]:{[o.gd.TanimotoIntArray]:u[o.gd.TanimotoIntArray]}},f=Object.keys(g).reduce(((t,e)=>{for(const n of Object.keys(g[e]))t[n]=e;return t}),{});function p(t){return"BitArray"==f[t]}class y{method;dataType;constructor(t){this.method=t,this.dataType=f[t]}getMeasure(t){const e=g;if(!e.hasOwnProperty(this.dataType)||!e[this.dataType].hasOwnProperty(this.method))throw new Error(`Unknown measure ${this.method} for data type ${this.dataType}`);return n=this.method,f[n]==o.Qe.MacroMolecule.toString()?e[this.dataType][this.method](t):e[this.dataType][this.method];var n}static getMetricByDataType(t){return Object.keys(g[t])}static get availableMeasures(){return Object.keys(g)}}},2311:(t,e,n)=>{var s=n(7659),a=n(3659),i=n(850),r=n(4588),c=n(6814);class o{_data;_size;get data(){return this._data}get size(){return this._size}constructor(t,e){if(null==e){if(null==t)throw new Error("Arguments error: data or size is required.");if(this._data=t,this._size=(1+Math.sqrt(1+8*this._data.length))/2,this._size!=Math.floor(this._size))throw new Error(`Invalid data length ${this._data.length} leads to non integer size ${this._size}`)}else{this._size=e;const n=e*(e-1)/2;if(t){if(t.length!=n)throw new Error(`Invalid data length. Observations size ${e} requires data length ${n}.`);this._data=t}else this._data=new Float32Array(n)}}_linearizeIJ(t,e){if(!(t<e))throw new Error("i must be less than j");return this._size*t+e-Math.floor((t+2)*(t+1)/2)}get(t,e){return t==e?0:t<e?this._data[this._linearizeIJ(t,e)]:this._data[this._linearizeIJ(e,t)]}set(t,e,n){this._data[this._linearizeIJ(t,e)]=n}static calc(t,e){const n=t.length,s=new o(void 0,n);for(let a=0;a<n;a++)for(let i=a+1;i<n;i++)s.set(a,i,(0,c.kK)(t[a])||(0,c.kK)(t[i])?1:e(t[a],t[i]));return s}square(){for(let t=0;t<this._data.length;t++)this._data[t]=this._data[t]**2}add(t){if(this._size!==t._size)throw new Error(`Matrices must have the same size. This size: ${this._size}, other size: ${t._size}`);for(let e=0;e<this._data.length;e++)this._data[e]+=t._data[e]}sqrt(){for(let t=0;t<this._data.length;t++)this._data[t]=Math.sqrt(this._data[t])}normalize(){let t=0,e=this._data[0];for(let n=0;n<this._data.length;n++)this._data[n]<t&&(t=this._data[n]),this._data[n]>e&&(e=this._data[n]);const n=e-t;for(let s=0;s<this._data.length;s++)this._data[s]=0===n?this._data[s]-t:(this._data[s]-t)/(e-t)}}function d(t){return(e,n)=>t*e+n-Math.floor((e+2)*(e+1)/2)}var h=n(2669);class l{static dimension=2;steps;cycles;cutoff;lambda;dlambda;lambda2;dlambda2;epsilon;distanceFunction;distanceFunctionName;distance;dmIndexFunct;constructor(t){this.steps=t?.steps??0,this.cycles=t?.cycles??1e6,this.cutoff=t?.cutoff??0,this.lambda=t?.lambda??2,this.dlambda=t?.dlambda??.01,this.lambda2=this.lambda/2,this.dlambda2=this.dlambda/2,this.epsilon=t?.epsilon??1e-10,this.distanceFunction=t?.distance??i.dP,this.distance=new Float32Array,this.distanceFunctionName=t?.distanceFunctionName}async initDistance(t){this.dmIndexFunct=d(t.length);const e=new h.m(!0,!1);this.distance=await e.calc(t,this.distanceFunctionName),e.terminate()}calcDistance(t,e,n){return this.distance[this.dmIndexFunct(e,n)]}async embed(t){const e=t.length,n=(0,i.kO)(e,l.dimension,40);let s=this.lambda2;0===this.steps&&(this.steps=t.length-1),await this.initDistance(t);for(let a=0;a<this.cycles;++a){for(let a=0;a<this.steps;++a){const a=(0,r.I)(e);let c=(0,r.I)(e);for(;a==c;)c=(0,r.I)(e);const o=n[a],d=n[c],h=this.calcDistance(t,a,c),l=(0,i.dP)(o,d);if(0==this.cutoff||h<=this.cutoff||l<h){const t=s*(h-l)/(l+this.epsilon),e=(0,i.On)(o,d,-1);n[a]=(0,i.On)(o,e,t),n[c]=(0,i.On)(d,e,-t)}}if(s-=this.dlambda2,s<=0)break}return n}}class u extends l{async embed(t){const e=t.length,n=(0,i.kO)(e,u.dimension,40);let s=this.lambda;await this.initDistance(t);for(let a=0;a<this.cycles;++a){const a=(0,r.I)(e),c=n[a];for(let r=0;r<e;++r){if(a==r)continue;const e=n[r],o=this.calcDistance(t,a,r),d=(0,i.dP)(c,e);if(0==this.cutoff||o<=this.cutoff||d<o){const t=s*(o-d)/(d+this.epsilon),a=(0,i.On)(c,e,-1);n[r]=(0,i.On)(e,a,-t)}}if(s-=this.dlambda,s<=0)break}return n}}class m extends l{radiusPercent;maxDistance;maxDistanceSteps;constructor(t){super(t),this.cycles=t?.cycles??1e3,this.steps=t?.steps??1e5,this.radiusPercent=t?.radiusPercent??1,this.maxDistance=t?.maxDistance??null,this.maxDistanceSteps=t?.maxDistanceSteps??null}async embed(t){const e=t.length,n=(0,i.kO)(e,m.dimension,40);if(await this.initDistance(t),null===this.maxDistanceSteps&&(this.maxDistanceSteps=e*Math.floor((e-1)/2)),null===this.maxDistance){this.maxDistance=-1e37;for(let n=0;n<this.maxDistanceSteps;n++){const n=(0,r.I)(e);let s=(0,r.I)(e);for(;n==s;)s=(0,r.I)(e);const a=this.calcDistance(t,n,s);a>this.maxDistance&&(this.maxDistance=a)}}let s=this.lambda;const a=0==this.radiusPercent?this.maxDistance:this.maxDistance*this.radiusPercent;for(let c=0;c<this.cycles;++c){for(let c=0;c<this.steps;++c){const c=(0,r.I)(e);let o=(0,r.I)(e);for(;c==o;)o=(0,r.I)(e);const d=n[c],h=n[o],l=this.calcDistance(t,c,o),u=(0,i.dP)(d,h);if(l<=a||u<l){const t=.5*s*(l-u)/(u+this.epsilon),e=(0,i.On)(d,h,-1);n[c]=(0,i.On)(d,e,t),n[o]=(0,i.On)(h,e,-t)}}if(s-=(this.lambda-this.dlambda)/(this.cycles-1),s<this.dlambda)break}return n}}var g,f=n(7861),p=n(9657),y=n(1729),b=n(2590);!function(t){t.UMAP="UMAP",t.T_SNE="t-SNE"}(g||(g={}));class k{data;constructor(t){this.data=t.data}}const w={UMAP:class extends k{reducer;distanceFname;distanceFn;vectors;distanceMatrix;sparseMatrix;dmIndexFunc;progressFunc;distanceFnArgs;constructor(t){super(t),(0,i.hu)("distanceFname"in t),(0,i.hu)("distanceFn"in t),this.distanceFnArgs=t?.distanceFnArgs,this.distanceFn=t.distanceFn,this.progressFunc=t.progressFunc,this.distanceFname=t.distanceFname,this.dmIndexFunc=d(this.data.length),this.vectors=new Array(this.data.length).fill(0).map(((t,e)=>e)),t.distanceFn=this._encodedDistance.bind(this),this.data.length<15&&(t.nNeighbors=this.data.length-1),this.reducer=new y.u(t)}_encodedSparseMatrix(t,e){return this.sparseMatrix.get(t)?.get(e)??this.sparseMatrix.get(e)?.get(t)??1}_encodedDistance(t,e){return this.distanceFn(this.data[t],this.data[e])}async transform(t){console.time("knn graph");const e=await(new b._).getKNN(this.data,this.distanceFname,this.reducer.neighbors,this.distanceFnArgs);console.timeEnd("knn graph"),this.reducer.setPrecomputedKNN(e.knnIndexes,e.knnDistances),await new Promise((t=>{setTimeout((()=>{t()}),500)}));const n=await this.reducer.fitAsync(this.vectors,(t=>{this.progressFunc&&this.progressFunc(t,this.reducer.getNEpochs(),this.reducer.getEmbedding())}));return{embedding:(s=n,new Array(s.length).fill(0).map(((t,e)=>a.OW.from(s[e])))),...this.distanceMatrix?{distance:this.distanceMatrix}:{}};var s}},"t-SNE":class extends k{reducer;iterations;distanceFname;distanceFn;constructor(t){super(t),this.reducer=new s.Z(t),this.iterations=t?.iterations??100,this.distanceFname=t.distanceFname,this.distanceFn=t.distanceFn}async transform(t){const e=t?await(async()=>{const t=new h.m(!0,!1);try{const e=await t.calc(this.data,this.distanceFname);return t.terminate(),e}catch(e){throw t.terminate(),e}})():(()=>{const t=o.calc(this.data,((t,e)=>this.distanceFn(t,e)));return t.normalize(),t.data})(),n=function(t,e){const n=d(e);function s(t,e){const s=Number(t),a=Number(e);return n(s,a)}const a={get:(t,n,a)=>"length"===n?e:new Proxy(t,function(t){return{get:(e,n,a)=>t===n?0:e[Number(t)>Number(n)?s(n,t):s(t,n)]}}(n))};return new Proxy(t,a)}(e,this.data.length);this.reducer.initDataDist(n);for(let t=0;t<this.iterations;++t)this.reducer.step();return{distance:e,embedding:this.reducer.getSolution()}}},SPE:class extends k{reducer;constructor(t){super(t),this.reducer=new l(t)}async transform(){const t=await this.reducer.embed(this.data);return{distance:this.reducer.distance,embedding:t}}},pSPE:class extends k{reducer;constructor(t){super(t),this.reducer=new u(t)}async transform(){const t=await this.reducer.embed(this.data);return{distance:this.reducer.distance,embedding:t}}},OriginalSPE:class extends k{reducer;constructor(t){super(t),this.reducer=new m(t)}async transform(){const t=await this.reducer.embed(this.data);return{distance:this.reducer.distance,embedding:t}}}};class M{reducer;constructor(t,e,n,s){const a=new f.UH(n).getMeasure(s?.distanceFnArgs);let i={},r=2048;for(let e=0;e<t.length;++e)if(t[e]&&t[e]._length){r=t[e]._length;break}if((0,f.sQ)(n))for(let e=0;e<t.length;++e)t[e]&&t[e]._data?t[e]=new p.Z(t[e]._data,t[e]._length):t[e]=new p.Z(r);i="UMAP"==e?{data:t,distanceFn:a,distanceFname:n,nEpochs:s?.cycles,...s}:"t-SNE"==e?{data:t,distanceFn:a,distanceFname:n,iterations:s?.cycles??void 0,...s}:{data:t,distance:a,distanceFunctionName:n,...s},this.reducer=new w[e](i)}async transform(t=!1,e){if(void 0===this.reducer)throw new Error("Reducer was not defined.");let{embedding:n,distance:s}=await this.reducer.transform(e);return t&&(n=(0,i.AL)(n)),{distance:s,embedding:n}}static availableMetricsByType(t){return Object.keys(f.m2[t])}static get availableMethods(){return Object.keys(w)}static get availableMetrics(){let t=[];return Object.values(f.m2).forEach((e=>{const n=Object.values(e);t=[...t,...n]})),t}}async function _(t,e,n){t%5==0&&self.postMessage({epochNum:t,epochsLength:e,embedding:n})}self.onmessage=async({data:{columnData:t,method:e,measure:n,options:s,parallelDistanceWorkers:a}})=>{let i;try{i=await async function(t,e,n,s,a){const i=new M(t,e,n,{...s,progressFunc:_});return await i.transform(!0,a)}(t,e,n,s,a)}catch(t){i={error:t}}self.postMessage({error:i.error,distance:i.distance,embedding:i.embedding})}},4588:(t,e,n)=>{function s(t){return Math.random()*t}function a(t){return Math.floor(s(t))}n.d(e,{I:()=>a,t:()=>s})},850:(t,e,n)=>{n.d(e,{AL:()=>r,On:()=>c,dP:()=>d,hu:()=>i,kO:()=>o});var s=n(3659),a=n(4588);function i(t=!1,e="Assertion error."){if(!t)throw new Error(e)}function r(t){return new Array(t[0].length).fill(0).map(((e,n)=>new s.OW(t.length).fill(0).map(((e,s)=>t[s][n]))))}function c(t,e,n=1){const a=t.length;i(a==e.length,"Vector lengths do not match.");const r=new s.OW(a);for(let s=0;s<t.length;++s)r[s]=t[s]+n*e[s];return r}function o(t,e,n=1){const i=function(t,e,n=0){return new Array(t).fill(n).map((()=>new s.OW(e).fill(n)))}(t,e);for(let s=0;s<t;++s)for(let t=0;t<e;++t)i[s][t]=(0,a.t)(n);return i}function d(t,e){let n=0;const s=t.length;if(s!==e.length)throw new Error("The dimensionality of the vectors must match");for(let a=0;a<s;++a)n+=Math.pow(t[a]-e[a],2);return Math.sqrt(n)}}},s={};function a(t){var e=s[t];if(void 0!==e)return e.exports;var i=s[t]={exports:{}};return n[t](i,i.exports,a),i.exports}a.m=n,a.x=()=>{var t=a.O(void 0,[44,972,489],(()=>a(2311)));return a.O(t)},t=[],a.O=(e,n,s,i)=>{if(!n){var r=1/0;for(h=0;h<t.length;h++){for(var[n,s,i]=t[h],c=!0,o=0;o<n.length;o++)(!1&i||r>=i)&&Object.keys(a.O).every((t=>a.O[t](n[o])))?n.splice(o--,1):(c=!1,i<r&&(r=i));if(c){t.splice(h--,1);var d=s();void 0!==d&&(e=d)}}return e}i=i||0;for(var h=t.length;h>0&&t[h-1][2]>i;h--)t[h]=t[h-1];t[h]=[n,s,i]},a.d=(t,e)=>{for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.f={},a.e=t=>Promise.all(Object.keys(a.f).reduce(((e,n)=>(a.f[n](t,e),e)),[])),a.u=t=>t+".js",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{var t;a.g.importScripts&&(t=a.g.location+"");var e=a.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var s=n.length-1;s>-1&&!t;)t=n[s--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=t})(),(()=>{a.b=self.location+"";var t={313:1,861:1};a.f.i=(e,n)=>{t[e]||importScripts(a.p+a.u(e))};var e=self.webpackChunkeda=self.webpackChunkeda||[],n=e.push.bind(e);e.push=e=>{var[s,i,r]=e;for(var c in i)a.o(i,c)&&(a.m[c]=i[c]);for(r&&r(a);s.length;)t[s.pop()]=1;n(e)}})(),e=a.x,a.x=()=>Promise.all([44,972,489].map(a.e,a)).then(e);var i=a.x();eda=i})();
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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R0FFeEQsQ0FJRCxJQUFLTCxFQUFXLE1BQU0sSUFBSW5OLE1BQU0seURBQ2hDbU4sRUFBWUEsRUFBVVEsUUFBUSxPQUFRLElBQUlBLFFBQVEsUUFBUyxJQUFJQSxRQUFRLFlBQWEsS0FDcEZ4QyxFQUFvQmIsRUFBSTZDLEMsV0NsQnhCaEMsRUFBb0J2RixFQUFJNEQsS0FBSzZELFNBQVcsR0FJeEMsSUFBSU8sRUFBa0IsQ0FDckIsSUFBSyxFQUNMLElBQUssR0FnQk56QyxFQUFvQm9CLEVBQUU5TixFQUFJLENBQUMrTixFQUFTRSxLQUUvQmtCLEVBQWdCcEIsSUFFbEJZLGNBQWNqQyxFQUFvQmIsRUFBSWEsRUFBb0J3QixFQUFFSCxHQUU5RCxFQUdELElBQUlxQixFQUFxQnJFLEtBQXNCLGdCQUFJQSxLQUFzQixpQkFBSyxHQUMxRXNFLEVBQTZCRCxFQUFtQkUsS0FBS3ZJLEtBQUtxSSxHQUM5REEsRUFBbUJFLEtBdkJDek4sSUFDbkIsSUFBS3NMLEVBQVVvQyxFQUFhQyxHQUFXM04sRUFDdkMsSUFBSSxJQUFJOEssS0FBWTRDLEVBQ2hCN0MsRUFBb0JpQixFQUFFNEIsRUFBYTVDLEtBQ3JDRCxFQUFvQk0sRUFBRUwsR0FBWTRDLEVBQVk1QyxJQUloRCxJQURHNkMsR0FBU0EsRUFBUTlDLEdBQ2RTLEVBQVNwTyxRQUNkb1EsRUFBZ0JoQyxFQUFTaE8sT0FBUyxFQUNuQ2tRLEVBQTJCeE4sRUFBSyxDLEtuQnBCN0J2RCxFQUFPb08sRUFBb0JqTyxFQUMvQmlPLEVBQW9Cak8sRUFBSSxJQUNoQnFKLFFBQVFrRyxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUtwSCxJQUFJOEYsRUFBb0JsRSxFQUFHa0UsSUFBc0IrQyxLQUFLblIsR29CRHZGLElBQUkyTyxFQUFzQlAsRUFBb0JqTyxJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9jaHVuayBsb2FkZWQiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9zdGFydHVwIGNodW5rIGRlcGVuZGVuY2llcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L3R5cGVzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tYXRyaXgvdXRpbHMuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3R5cGVkLW1ldHJpY3MvY29uc3RzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy90eXBlZC1tZXRyaWNzL3R5cGVkLW1ldHJpY3MuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC9kaXN0YW5jZS1tYXRyaXguanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC9wcm94eS5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvc3BlLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9yZWR1Y2UtZGltZW5zaW9uYWxpdHkuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3dvcmtlcnMvZGltZW5zaW9uYWxpdHktcmVkdWNlci5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvcmFuZG9tLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy92ZWN0b3Itb3BlcmF0aW9ucy5qcyIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2Vuc3VyZSBjaHVuayIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2dldCBqYXZhc2NyaXB0IGNodW5rIGZpbGVuYW1lIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvZ2xvYmFsIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvcHVibGljUGF0aCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2ltcG9ydFNjcmlwdHMgY2h1bmsgbG9hZGluZyIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9zdGFydHVwIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBkZWZlcnJlZCA9IFtdO1xuX193ZWJwYWNrX3JlcXVpcmVfXy5PID0gKHJlc3VsdCwgY2h1bmtJZHMsIGZuLCBwcmlvcml0eSkgPT4ge1xuXHRpZihjaHVua0lkcykge1xuXHRcdHByaW9yaXR5ID0gcHJpb3JpdHkgfHwgMDtcblx0XHRmb3IodmFyIGkgPSBkZWZlcnJlZC5sZW5ndGg7IGkgPiAwICYmIGRlZmVycmVkW2kgLSAxXVsyXSA+IHByaW9yaXR5OyBpLS0pIGRlZmVycmVkW2ldID0gZGVmZXJyZWRbaSAtIDFdO1xuXHRcdGRlZmVycmVkW2ldID0gW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldO1xuXHRcdHJldHVybjtcblx0fVxuXHR2YXIgbm90RnVsZmlsbGVkID0gSW5maW5pdHk7XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgZGVmZXJyZWQubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldID0gZGVmZXJyZWRbaV07XG5cdFx0dmFyIGZ1bGZpbGxlZCA9IHRydWU7XG5cdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBjaHVua0lkcy5sZW5ndGg7IGorKykge1xuXHRcdFx0aWYgKChwcmlvcml0eSAmIDEgPT09IDAgfHwgbm90RnVsZmlsbGVkID49IHByaW9yaXR5KSAmJiBPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLk8pLmV2ZXJ5KChrZXkpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fLk9ba2V5XShjaHVua0lkc1tqXSkpKSkge1xuXHRcdFx0XHRjaHVua0lkcy5zcGxpY2Uoai0tLCAxKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGZ1bGZpbGxlZCA9IGZhbHNlO1xuXHRcdFx0XHRpZihwcmlvcml0eSA8IG5vdEZ1bGZpbGxlZCkgbm90RnVsZmlsbGVkID0gcHJpb3JpdHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmKGZ1bGZpbGxlZCkge1xuXHRcdFx0ZGVmZXJyZWQuc3BsaWNlKGktLSwgMSlcblx0XHRcdHZhciByID0gZm4oKTtcblx0XHRcdGlmIChyICE9PSB1bmRlZmluZWQpIHJlc3VsdCA9IHI7XG5cdFx0fVxuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59OyIsInZhciBuZXh0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy54O1xuX193ZWJwYWNrX3JlcXVpcmVfXy54ID0gKCkgPT4ge1xuXHRyZXR1cm4gUHJvbWlzZS5hbGwoWzQ0LDk3Miw0ODldLm1hcChfX3dlYnBhY2tfcmVxdWlyZV9fLmUsIF9fd2VicGFja19yZXF1aXJlX18pKS50aGVuKG5leHQpO1xufTsiLCJleHBvcnQgdmFyIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzO1xuKGZ1bmN0aW9uIChEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcykge1xuICAgIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzW1wiRVVDTElERUFOXCJdID0gXCJFVUNMSURFQU5cIjtcbiAgICBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kc1tcIk1BTkhBVFRBTlwiXSA9IFwiTUFOSEFUVEFOXCI7XG59KShEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyB8fCAoRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMgPSB7fSkpO1xuO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pYTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMGVYQmxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeE5RVUZOTEVOQlFVNHNTVUZCV1N3d1FrRkhWRHRCUVVoSUxGZEJRVmtzTUVKQlFUQkNPMGxCUTJ4RExIRkVRVUYxUWl4RFFVRkJPMGxCUTNaQ0xIRkVRVUYxUWl4RFFVRkJPMEZCUTNwQ0xFTkJRVU1zUlVGSVV5d3dRa0ZCTUVJc1MwRkJNVUlzTUVKQlFUQkNMRkZCUjI1RE8wRkJRVUVzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbVY0Y0c5eWRDQmxiblZ0SUVScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlJ6SUh0Y2JpQWdJQ0JGVlVOTVNVUkZRVTRnUFNBblJWVkRURWxFUlVGT0p5eGNiaUFnSUNCTlFVNUlRVlJVUVU0Z1BTQW5UVUZPU0VGVVZFRk9KeXhjYmlBZ2ZUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1JHbHpkR0Z1WTJWQloyZHlaV2RoZEdsdmJrMWxkR2h2WkNBOUlHdGxlVzltSUhSNWNHVnZaaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtjenRjYmlKZGZRPT0iLCJpbXBvcnQgeyBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyB9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IGNvbnN0IGlzTmlsID0gKHgpID0+IHggPT09IG51bGwgfHwgeCA9PT0gdW5kZWZpbmVkO1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydFNtYWxsZXIoZGlzdGFuY2VzQXIsIGluZGV4ZXMsIG51bSwgaW5kZXgpIHtcbiAgICBpZiAobnVtID4gZGlzdGFuY2VzQXJbZGlzdGFuY2VzQXIubGVuZ3RoIC0gMV0pXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBuZXdQb3NpdGlvbiA9IGRpc3RhbmNlc0FyLmZpbmRJbmRleCgodikgPT4gbnVtIDwgdik7XG4gICAgZGlzdGFuY2VzQXIucG9wKCk7XG4gICAgZGlzdGFuY2VzQXIuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBudW0pO1xuICAgIGluZGV4ZXMucG9wKCk7XG4gICAgaW5kZXhlcy5zcGxpY2UobmV3UG9zaXRpb24sIDAsIGluZGV4KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRMYXJnZXIoZGlzdGFuY2VzQXIsIGluZGV4ZXMsIG51bSwgaW5kZXgpIHtcbiAgICBpZiAobnVtIDwgZGlzdGFuY2VzQXJbZGlzdGFuY2VzQXIubGVuZ3RoIC0gMV0pXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBuZXdQb3NpdGlvbiA9IGRpc3RhbmNlc0FyLmZpbmRJbmRleCgodikgPT4gbnVtID4gdik7XG4gICAgZGlzdGFuY2VzQXIucG9wKCk7XG4gICAgZGlzdGFuY2VzQXIuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBudW0pO1xuICAgIGluZGV4ZXMucG9wKCk7XG4gICAgaW5kZXhlcy5zcGxpY2UobmV3UG9zaXRpb24sIDAsIGluZGV4KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZ2dyZWdhdGlvbkZ1bmN0aW9uKGFnZ3JlZ2F0aW9uTWV0aG9kLCB3ZWlnaHRzKSB7XG4gICAgc3dpdGNoIChhZ2dyZWdhdGlvbk1ldGhvZCkge1xuICAgICAgICBjYXNlIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzLk1BTkhBVFRBTjpcbiAgICAgICAgICAgIHJldHVybiAodnMpID0+IHZzLnJlZHVjZSgoYWNjLCB2YWwsIGlkeCkgPT4gYWNjICsgdmFsICogd2VpZ2h0c1tpZHhdLCAwKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiAodnMpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBldWNsaWRlYW5cbiAgICAgICAgICAgICAgICBjb25zdCBzdW0gPSB2cy5yZWR1Y2UoKGFjYywgdmFsLCBpZHgpID0+IGFjYyArICh2YWwgKiB3ZWlnaHRzW2lkeF0pICoqIDIsIDApO1xuICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLnNxcnQoc3VtKTtcbiAgICAgICAgICAgIH07XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZFhScGJITXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMWRHbHNjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeFBRVUZQTEVWQlFUUkNMREJDUVVFd1FpeEZRVUZETEUxQlFVMHNVMEZCVXl4RFFVRkRPMEZCUlRsRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eExRVUZMTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1UwRkJVeXhEUVVGRE8wRkJSUzlFTEUxQlFVMHNWVUZCVlN4aFFVRmhMRU5CUVVNc1YwRkJjVUlzUlVGQlJTeFBRVUZwUWl4RlFVRkZMRWRCUVZjc1JVRkJSU3hMUVVGaE8wbEJRMmhITEVsQlFVa3NSMEZCUnl4SFFVRkhMRmRCUVZjc1EwRkJReXhYUVVGWExFTkJRVU1zVFVGQlRTeEhRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjZReXhQUVVGUE8wbEJSVlFzVFVGQlRTeFhRVUZYTEVkQlFVY3NWMEZCVnl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRekZFTEZkQlFWY3NRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVOc1FpeFhRVUZYTEVOQlFVTXNUVUZCVFN4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEZUVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETzBsQlEyUXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTNoRExFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNXVUZCV1N4RFFVRkRMRmRCUVhGQ0xFVkJRVVVzVDBGQmFVSXNSVUZCUlN4SFFVRlhMRVZCUVVVc1MwRkJZVHRKUVVNdlJpeEpRVUZKTEVkQlFVY3NSMEZCUnl4WFFVRlhMRU5CUVVNc1YwRkJWeXhEUVVGRExFMUJRVTBzUjBGQlF5eERRVUZETEVOQlFVTTdVVUZEZWtNc1QwRkJUenRKUVVWVUxFMUJRVTBzVjBGQlZ5eEhRVUZITEZkQlFWY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVNeFJDeFhRVUZYTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNN1NVRkRiRUlzVjBGQlZ5eERRVUZETEUxQlFVMHNRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzBsQlEzaERMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF6dEpRVU5rTEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU1zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTjRReXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEhOQ1FVRnpRaXhEUVVOd1F5eHBRa0ZCTkVNc1JVRkJSU3hQUVVGcFFqdEpRVVV2UkN4UlFVRlJMR2xDUVVGcFFpeEZRVUZGTzFGQlEzcENMRXRCUVVzc01FSkJRVEJDTEVOQlFVTXNVMEZCVXp0WlFVTjJReXhQUVVGUExFTkJRVU1zUlVGQldTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVkQlFVY3NUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzSkdPMWxCUTBVc1QwRkJUeXhEUVVGRExFVkJRVmtzUlVGQlJTeEZRVUZGTzJkQ1FVTjBRaXhaUVVGWk8yZENRVU5hTEUxQlFVMHNSMEZCUnl4SFFVRkhMRVZCUVVVc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRE4wVXNUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzaENMRU5CUVVNc1EwRkJRenRMUVVOTU8wRkJRMGdzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpDd2dSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpITjlJR1p5YjIwZ0p5NHZkSGx3WlhNbk8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ2FYTk9hV3dnUFNBb2VEb2dZVzU1S1NBOVBpQjRJRDA5UFNCdWRXeHNJSHg4SUhnZ1BUMDlJSFZ1WkdWbWFXNWxaRHRjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdsdWMyVnlkRk50WVd4c1pYSW9aR2x6ZEdGdVkyVnpRWEk2SUc1MWJXSmxjbHRkTENCcGJtUmxlR1Z6T2lCdWRXMWlaWEpiWFN3Z2JuVnRPaUJ1ZFcxaVpYSXNJR2x1WkdWNE9pQnVkVzFpWlhJcElIdGNiaUFnYVdZZ0tHNTFiU0ErSUdScGMzUmhibU5sYzBGeVcyUnBjM1JoYm1ObGMwRnlMbXhsYm1kMGFDMHhYU2xjYmlBZ0lDQnlaWFIxY200N1hHNWNiaUFnWTI5dWMzUWdibVYzVUc5emFYUnBiMjRnUFNCa2FYTjBZVzVqWlhOQmNpNW1hVzVrU1c1a1pYZ29LSFlwSUQwK0lHNTFiU0E4SUhZcE8xeHVJQ0JrYVhOMFlXNWpaWE5CY2k1d2IzQW9LVHRjYmlBZ1pHbHpkR0Z1WTJWelFYSXVjM0JzYVdObEtHNWxkMUJ2YzJsMGFXOXVMQ0F3TENCdWRXMHBPMXh1SUNCcGJtUmxlR1Z6TG5CdmNDZ3BPMXh1SUNCcGJtUmxlR1Z6TG5Od2JHbGpaU2h1WlhkUWIzTnBkR2x2Yml3Z01Dd2dhVzVrWlhncE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYVc1elpYSjBUR0Z5WjJWeUtHUnBjM1JoYm1ObGMwRnlPaUJ1ZFcxaVpYSmJYU3dnYVc1a1pYaGxjem9nYm5WdFltVnlXMTBzSUc1MWJUb2diblZ0WW1WeUxDQnBibVJsZURvZ2JuVnRZbVZ5S1NCN1hHNGdJR2xtSUNodWRXMGdQQ0JrYVhOMFlXNWpaWE5CY2x0a2FYTjBZVzVqWlhOQmNpNXNaVzVuZEdndE1WMHBYRzRnSUNBZ2NtVjBkWEp1TzF4dVhHNGdJR052Ym5OMElHNWxkMUJ2YzJsMGFXOXVJRDBnWkdsemRHRnVZMlZ6UVhJdVptbHVaRWx1WkdWNEtDaDJLU0E5UGlCdWRXMGdQaUIyS1R0Y2JpQWdaR2x6ZEdGdVkyVnpRWEl1Y0c5d0tDazdYRzRnSUdScGMzUmhibU5sYzBGeUxuTndiR2xqWlNodVpYZFFiM05wZEdsdmJpd2dNQ3dnYm5WdEtUdGNiaUFnYVc1a1pYaGxjeTV3YjNBb0tUdGNiaUFnYVc1a1pYaGxjeTV6Y0d4cFkyVW9ibVYzVUc5emFYUnBiMjRzSURBc0lHbHVaR1Y0S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVGblozSmxaMkYwYVc5dVJuVnVZM1JwYjI0b1hHNGdJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtPaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtMQ0IzWldsbmFIUnpPaUJ1ZFcxaVpYSmJYVnh1S1RvZ0tIWmhiSFZsY3pvZ2JuVnRZbVZ5VzEwcElEMCtJRzUxYldKbGNpQjdYRzRnSUhOM2FYUmphQ0FvWVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFwSUh0Y2JpQWdJQ0JqWVhObElFUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNU5aWFJvYjJSekxrMUJUa2hCVkZSQlRqcGNiaUFnSUNBZ0lISmxkSFZ5YmlBb2RuTTZJRzUxYldKbGNsdGRLU0E5UGlCMmN5NXlaV1IxWTJVb0tHRmpZeXdnZG1Gc0xDQnBaSGdwSUQwK0lHRmpZeUFySUhaaGJDQXFJSGRsYVdkb2RITmJhV1I0WFN3Z01DazdYRzRnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUhKbGRIVnliaUFvZG5NNklHNTFiV0psY2x0ZEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUM4dklHVjFZMnhwWkdWaGJseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCemRXMGdQU0IyY3k1eVpXUjFZMlVvS0dGall5d2dkbUZzTENCcFpIZ3BJRDArSUdGall5QXJJQ2gyWVd3Z0tpQjNaV2xuYUhSelcybGtlRjBwSUNvcUlESXNJREFwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNXpjWEowS0hOMWJTazdYRzRnSUNBZ0lDQjlPMXh1SUNCOVhHNTlYRzRpWFgwPSIsImV4cG9ydCB2YXIgU3RyaW5nTWV0cmljc05hbWVzO1xuKGZ1bmN0aW9uIChTdHJpbmdNZXRyaWNzTmFtZXMpIHtcbiAgICBTdHJpbmdNZXRyaWNzTmFtZXNbXCJMZXZlbnNodGVpblwiXSA9IFwiTGV2ZW5zaHRlaW5cIjtcbiAgICBTdHJpbmdNZXRyaWNzTmFtZXNbXCJKYXJvV2lua2xlclwiXSA9IFwiSmFyby1XaW5rbGVyXCI7XG4gICAgU3RyaW5nTWV0cmljc05hbWVzW1wiTWFuaGF0dGFuXCJdID0gXCJNYW5oYXR0YW5cIjtcbiAgICBTdHJpbmdNZXRyaWNzTmFtZXNbXCJPbmVob3RcIl0gPSBcIk9uZS1Ib3RcIjtcbn0pKFN0cmluZ01ldHJpY3NOYW1lcyB8fCAoU3RyaW5nTWV0cmljc05hbWVzID0ge30pKTtcbmV4cG9ydCB2YXIgVmVjdG9yTWV0cmljc05hbWVzO1xuKGZ1bmN0aW9uIChWZWN0b3JNZXRyaWNzTmFtZXMpIHtcbiAgICBWZWN0b3JNZXRyaWNzTmFtZXNbXCJFdWNsaWRlYW5cIl0gPSBcIkV1Y2xpZGVhblwiO1xufSkoVmVjdG9yTWV0cmljc05hbWVzIHx8IChWZWN0b3JNZXRyaWNzTmFtZXMgPSB7fSkpO1xuZXhwb3J0IHZhciBCaXRBcnJheU1ldHJpY3NOYW1lcztcbihmdW5jdGlvbiAoQml0QXJyYXlNZXRyaWNzTmFtZXMpIHtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIlRhbmltb3RvXCJdID0gXCJUYW5pbW90b1wiO1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiRGljZVwiXSA9IFwiRGljZVwiO1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiQXN5bW1ldHJpY1wiXSA9IFwiQXN5bW1ldHJpY1wiO1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiQnJhdW5CbGFucXVldFwiXSA9IFwiQnJhdW4tQmxhbnF1ZXRcIjtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIkNvc2luZVwiXSA9IFwiQ29zaW5lXCI7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJLdWxjenluc2tpXCJdID0gXCJLdWxjenluc2tpXCI7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJNY0Nvbm5hdWdoZXlcIl0gPSBcIk1jLUNvbm5hdWdoZXlcIjtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIlJvZ290R29sZGJlcmdcIl0gPSBcIlJvZ290LUdvbGRiZXJnXCI7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJSdXNzZWxcIl0gPSBcIlJ1c3NlbFwiO1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiU29rYWxcIl0gPSBcIlNva2FsXCI7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJIYW1taW5nXCJdID0gXCJIYW1taW5nXCI7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJFdWNsaWRlYW5cIl0gPSBcIkV1Y2xpZGVhblwiO1xufSkoQml0QXJyYXlNZXRyaWNzTmFtZXMgfHwgKEJpdEFycmF5TWV0cmljc05hbWVzID0ge30pKTtcbmV4cG9ydCB2YXIgSW50QXJyYXlNZXRyaWNzTmFtZXM7XG4oZnVuY3Rpb24gKEludEFycmF5TWV0cmljc05hbWVzKSB7XG4gICAgSW50QXJyYXlNZXRyaWNzTmFtZXNbXCJUYW5pbW90b0ludEFycmF5XCJdID0gXCJUYW5pbW90b0ludEFycmF5XCI7XG59KShJbnRBcnJheU1ldHJpY3NOYW1lcyB8fCAoSW50QXJyYXlNZXRyaWNzTmFtZXMgPSB7fSkpO1xuZXhwb3J0IHZhciBEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cztcbihmdW5jdGlvbiAoRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMpIHtcbiAgICBEaXN0YW5jZU1ldHJpY3NTdWJqZWN0c1tcIlZlY3RvclwiXSA9IFwiVmVjdG9yXCI7XG4gICAgRGlzdGFuY2VNZXRyaWNzU3ViamVjdHNbXCJTdHJpbmdcIl0gPSBcIlN0cmluZ1wiO1xuICAgIERpc3RhbmNlTWV0cmljc1N1YmplY3RzW1wiQml0QXJyYXlcIl0gPSBcIkJpdEFycmF5XCI7XG4gICAgRGlzdGFuY2VNZXRyaWNzU3ViamVjdHNbXCJNYWNyb01vbGVjdWxlXCJdID0gXCJNYWNyb01vbGVjdWxlXCI7XG4gICAgRGlzdGFuY2VNZXRyaWNzU3ViamVjdHNbXCJOdW1iZXJcIl0gPSBcIk51bWJlclwiO1xuICAgIERpc3RhbmNlTWV0cmljc1N1YmplY3RzW1wiSW50QXJyYXlcIl0gPSBcIkludEFycmF5XCI7XG59KShEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cyB8fCAoRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMgPSB7fSkpO1xuZXhwb3J0IHZhciBOdW1iZXJNZXRyaWNzTmFtZXM7XG4oZnVuY3Rpb24gKE51bWJlck1ldHJpY3NOYW1lcykge1xuICAgIE51bWJlck1ldHJpY3NOYW1lc1tcIkRpZmZlcmVuY2VcIl0gPSBcIkRpZmZlcmVuY2VcIjtcbn0pKE51bWJlck1ldHJpY3NOYW1lcyB8fCAoTnVtYmVyTWV0cmljc05hbWVzID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVkyOXVjM1J6TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lZMjl1YzNSekxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEUxQlFVMHNRMEZCVGl4SlFVRlpMR3RDUVV0VU8wRkJURWdzVjBGQldTeHJRa0ZCYTBJN1NVRkRNVUlzYVVSQlFUSkNMRU5CUVVFN1NVRkRNMElzYTBSQlFUUkNMRU5CUVVFN1NVRkROVUlzTmtOQlFYVkNMRU5CUVVFN1NVRkRka0lzZDBOQlFXdENMRU5CUVVFN1FVRkRjRUlzUTBGQlF5eEZRVXhUTEd0Q1FVRnJRaXhMUVVGc1FpeHJRa0ZCYTBJc1VVRkxNMEk3UVVGRlNDeE5RVUZOTEVOQlFVNHNTVUZCV1N4clFrRkZWRHRCUVVaSUxGZEJRVmtzYTBKQlFXdENPMGxCUXpGQ0xEWkRRVUYxUWl4RFFVRkJPMEZCUTNwQ0xFTkJRVU1zUlVGR1V5eHJRa0ZCYTBJc1MwRkJiRUlzYTBKQlFXdENMRkZCUlROQ08wRkJSVWdzVFVGQlRTeERRVUZPTEVsQlFWa3NiMEpCWVZRN1FVRmlTQ3hYUVVGWkxHOUNRVUZ2UWp0SlFVTTFRaXcyUTBGQmNVSXNRMEZCUVR0SlFVTnlRaXh4UTBGQllTeERRVUZCTzBsQlEySXNhVVJCUVhsQ0xFTkJRVUU3U1VGRGVrSXNkMFJCUVdkRExFTkJRVUU3U1VGRGFFTXNlVU5CUVdsQ0xFTkJRVUU3U1VGRGFrSXNhVVJCUVhsQ0xFTkJRVUU3U1VGRGVrSXNjMFJCUVRoQ0xFTkJRVUU3U1VGRE9VSXNkMFJCUVdkRExFTkJRVUU3U1VGRGFFTXNlVU5CUVdsQ0xFTkJRVUU3U1VGRGFrSXNkVU5CUVdVc1EwRkJRVHRKUVVObUxESkRRVUZ0UWl4RFFVRkJPMGxCUTI1Q0xDdERRVUYxUWl4RFFVRkJPMEZCUTNwQ0xFTkJRVU1zUlVGaVV5eHZRa0ZCYjBJc1MwRkJjRUlzYjBKQlFXOUNMRkZCWVRkQ08wRkJSVWdzVFVGQlRTeERRVUZPTEVsQlFWa3NiMEpCUlZnN1FVRkdSQ3hYUVVGWkxHOUNRVUZ2UWp0SlFVTTVRaXcyUkVGQmNVTXNRMEZCUVR0QlFVTjJReXhEUVVGRExFVkJSbGNzYjBKQlFXOUNMRXRCUVhCQ0xHOUNRVUZ2UWl4UlFVVXZRanRCUVVWRUxFMUJRVTBzUTBGQlRpeEpRVUZaTEhWQ1FVOVVPMEZCVUVnc1YwRkJXU3gxUWtGQmRVSTdTVUZETDBJc05FTkJRV2xDTEVOQlFVRTdTVUZEYWtJc05FTkJRV2xDTEVOQlFVRTdTVUZEYWtJc1owUkJRWEZDTEVOQlFVRTdTVUZEY2tJc01FUkJRU3RDTEVOQlFVRTdTVUZETDBJc05FTkJRV2xDTEVOQlFVRTdTVUZEYWtJc1owUkJRWEZDTEVOQlFVRTdRVUZEZGtJc1EwRkJReXhGUVZCVExIVkNRVUYxUWl4TFFVRjJRaXgxUWtGQmRVSXNVVUZQYUVNN1FVRkZTQ3hOUVVGTkxFTkJRVTRzU1VGQldTeHJRa0ZGV0R0QlFVWkVMRmRCUVZrc2EwSkJRV3RDTzBsQlF6VkNMQ3REUVVGNVFpeERRVUZCTzBGQlF6TkNMRU5CUVVNc1JVRkdWeXhyUWtGQmEwSXNTMEZCYkVJc2EwSkJRV3RDTEZGQlJUZENJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWlhod2IzSjBJR1Z1ZFcwZ1UzUnlhVzVuVFdWMGNtbGpjMDVoYldWeklIdGNiaUFnSUNCTVpYWmxibk5vZEdWcGJpQTlJQ2RNWlhabGJuTm9kR1ZwYmljc1hHNGdJQ0FnU21GeWIxZHBibXRzWlhJZ1BTQW5TbUZ5YnkxWGFXNXJiR1Z5Snl4Y2JpQWdJQ0JOWVc1b1lYUjBZVzRnUFNBblRXRnVhR0YwZEdGdUp5eGNiaUFnSUNCUGJtVm9iM1FnUFNBblQyNWxMVWh2ZENjc1hHNGdJSDFjYmx4dVpYaHdiM0owSUdWdWRXMGdWbVZqZEc5eVRXVjBjbWxqYzA1aGJXVnpJSHRjYmlBZ0lDQkZkV05zYVdSbFlXNGdQU0FuUlhWamJHbGtaV0Z1Snl4Y2JpQWdmVnh1WEc1bGVIQnZjblFnWlc1MWJTQkNhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeUI3WEc0Z0lDQWdWR0Z1YVcxdmRHOGdQU0FuVkdGdWFXMXZkRzhuTEZ4dUlDQWdJRVJwWTJVZ1BTQW5SR2xqWlNjc1hHNGdJQ0FnUVhONWJXMWxkSEpwWXlBOUlDZEJjM2x0YldWMGNtbGpKeXhjYmlBZ0lDQkNjbUYxYmtKc1lXNXhkV1YwSUQwZ0owSnlZWFZ1TFVKc1lXNXhkV1YwSnl4Y2JpQWdJQ0JEYjNOcGJtVWdQU0FuUTI5emFXNWxKeXhjYmlBZ0lDQkxkV3hqZW5sdWMydHBJRDBnSjB0MWJHTjZlVzV6YTJrbkxGeHVJQ0FnSUUxalEyOXVibUYxWjJobGVTQTlJQ2ROWXkxRGIyNXVZWFZuYUdWNUp5eGNiaUFnSUNCU2IyZHZkRWR2YkdSaVpYSm5JRDBnSjFKdloyOTBMVWR2YkdSaVpYSm5KeXhjYmlBZ0lDQlNkWE56Wld3Z1BTQW5VblZ6YzJWc0p5eGNiaUFnSUNCVGIydGhiQ0E5SUNkVGIydGhiQ2NzWEc0Z0lDQWdTR0Z0YldsdVp5QTlJQ2RJWVcxdGFXNW5KeXhjYmlBZ0lDQkZkV05zYVdSbFlXNGdQU0FuUlhWamJHbGtaV0Z1Snl4Y2JpQWdmVnh1WEc1bGVIQnZjblFnWlc1MWJTQkpiblJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeUI3WEc0Z0lGUmhibWx0YjNSdlNXNTBRWEp5WVhrZ1BTQW5WR0Z1YVcxdmRHOUpiblJCY25KaGVTY3NYRzU5WEc1Y2JtVjRjRzl5ZENCbGJuVnRJRVJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSeklIdGNiaUFnSUNCV1pXTjBiM0lnUFNBblZtVmpkRzl5Snl4Y2JpQWdJQ0JUZEhKcGJtY2dQU0FuVTNSeWFXNW5KeXhjYmlBZ0lDQkNhWFJCY25KaGVTQTlJQ2RDYVhSQmNuSmhlU2NzWEc0Z0lDQWdUV0ZqY205TmIyeGxZM1ZzWlNBOUlDZE5ZV055YjAxdmJHVmpkV3hsSnl4Y2JpQWdJQ0JPZFcxaVpYSWdQU0FuVG5WdFltVnlKeXhjYmlBZ0lDQkpiblJCY25KaGVTQTlJQ2RKYm5SQmNuSmhlU2NzWEc0Z0lIMWNibHh1Wlhod2IzSjBJR1Z1ZFcwZ1RuVnRZbVZ5VFdWMGNtbGpjMDVoYldWeklIdGNiaUFnUkdsbVptVnlaVzVqWlNBOUlDZEVhV1ptWlhKbGJtTmxKeXhjYm4xY2JseHVJbDE5IiwiaW1wb3J0ICogYXMgZmwgZnJvbSAnZmFzdGVzdC1sZXZlbnNodGVpbic7XG5pbXBvcnQgeyBqYXJvV2lua2xlciB9IGZyb20gJ2phcm8td2lua2xlci10eXBlc2NyaXB0JztcbmltcG9ydCB7IGFzeW1tZXRyaWNEaXN0YW5jZSwgYnJhdW5CbGFucXVldERpc3RhbmNlLCBjb3NpbmVEaXN0YW5jZSwgZGljZURpc3RhbmNlLCBldWNsaWRlYW5EaXN0YW5jZSwgaGFtbWluZ0Rpc3RhbmNlLCBrdWxjenluc2tpRGlzdGFuY2UsIG1jQ29ubmF1Z2hleURpc3RhbmNlLCByb2dvdEdvbGRiZXJnRGlzdGFuY2UsIHJ1c3NlbERpc3RhbmNlLCBzb2thbERpc3RhbmNlLCB0YW5pbW90b0Rpc3RhbmNlLCBudW1lcmljRGlzdGFuY2UsIHRhbmltb3RvRGlzdGFuY2VJbnRBcnJheSwgfSBmcm9tICcuLi9kaXN0YW5jZS1tZXRyaWNzLW1ldGhvZHMnO1xuaW1wb3J0IHsgY2FsY3VsYXRlRXVjbGlkZWFuRGlzdGFuY2UgfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy92ZWN0b3Itb3BlcmF0aW9ucyc7XG5pbXBvcnQgeyBtbURpc3RhbmNlRnVuY3Rpb25zLCBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMgfSBmcm9tICcuLi9tYWNyb21vbGVjdWxlLWRpc3RhbmNlLWZ1bmN0aW9ucyc7XG5pbXBvcnQgeyBEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cywgQml0QXJyYXlNZXRyaWNzTmFtZXMsIFN0cmluZ01ldHJpY3NOYW1lcywgVmVjdG9yTWV0cmljc05hbWVzLCBOdW1iZXJNZXRyaWNzTmFtZXMsIEludEFycmF5TWV0cmljc05hbWVzIH0gZnJvbSAnLi9jb25zdHMnO1xuZXhwb3J0IGNvbnN0IHZlY3RvckRpc3RhbmNlTWV0cmljc01ldGhvZHMgPSB7XG4gICAgW1ZlY3Rvck1ldHJpY3NOYW1lcy5FdWNsaWRlYW5dOiBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZSxcbn07XG5leHBvcnQgY29uc3Qgc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbU3RyaW5nTWV0cmljc05hbWVzLkxldmVuc2h0ZWluXTogZmwuZGlzdGFuY2UsXG4gICAgW1N0cmluZ01ldHJpY3NOYW1lcy5KYXJvV2lua2xlcl06IGphcm9XaW5rbGVyLFxuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXTogbWFuaGF0dGFuRGlzdGFuY2UsXG4gICAgW1N0cmluZ01ldHJpY3NOYW1lcy5PbmVob3RdOiBjYXRlZ29yaWNhbERpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHMgPSB7XG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvXTogdGFuaW1vdG9EaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZV06IGRpY2VEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQXN5bW1ldHJpY106IGFzeW1tZXRyaWNEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQnJhdW5CbGFucXVldF06IGJyYXVuQmxhbnF1ZXREaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXTogY29zaW5lRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkt1bGN6eW5za2ldOiBrdWxjenluc2tpRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLk1jQ29ubmF1Z2hleV06IG1jQ29ubmF1Z2hleURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Sb2dvdEdvbGRiZXJnXTogcm9nb3RHb2xkYmVyZ0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5SdXNzZWxdOiBydXNzZWxEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxdOiBzb2thbERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5IYW1taW5nXTogaGFtbWluZ0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5FdWNsaWRlYW5dOiBldWNsaWRlYW5EaXN0YW5jZSxcbn07XG5leHBvcnQgY29uc3QgaW50QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtJbnRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b0ludEFycmF5XTogdGFuaW1vdG9EaXN0YW5jZUludEFycmF5LFxufTtcbmV4cG9ydCBjb25zdCBudW1iZXJEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtOdW1iZXJNZXRyaWNzTmFtZXMuRGlmZmVyZW5jZV06IG51bWVyaWNEaXN0YW5jZSxcbn07XG5leHBvcnQgY29uc3QgQXZhaWxhYmxlTWV0cmljcyA9IHtcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuVmVjdG9yXToge1xuICAgICAgICBbVmVjdG9yTWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IHZlY3RvckRpc3RhbmNlTWV0cmljc01ldGhvZHNbVmVjdG9yTWV0cmljc05hbWVzLkV1Y2xpZGVhbl0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuU3RyaW5nXToge1xuICAgICAgICBbU3RyaW5nTWV0cmljc05hbWVzLkxldmVuc2h0ZWluXTogc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tTdHJpbmdNZXRyaWNzTmFtZXMuTGV2ZW5zaHRlaW5dLFxuICAgICAgICBbU3RyaW5nTWV0cmljc05hbWVzLkphcm9XaW5rbGVyXTogc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tTdHJpbmdNZXRyaWNzTmFtZXMuSmFyb1dpbmtsZXJdLFxuICAgICAgICBbU3RyaW5nTWV0cmljc05hbWVzLk1hbmhhdHRhbl06IHN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHNbU3RyaW5nTWV0cmljc05hbWVzLk1hbmhhdHRhbl0sXG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuT25laG90XTogc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tTdHJpbmdNZXRyaWNzTmFtZXMuT25laG90XSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5CaXRBcnJheV06IHtcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQnJhdW5CbGFucXVldF06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLk1jQ29ubmF1Z2hleV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ106IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Sb2dvdEdvbGRiZXJnXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5SdXNzZWxdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLk1hY3JvTW9sZWN1bGVdOiB7XG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuSEFNTUlOR106IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkhBTU1JTkddLFxuICAgICAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkxFVkVOU0hURUlOXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTEVWRU5TSFRFSU5dLFxuICAgICAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk5FRURMRU1BTk5fV1VOU0NIXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTkVFRExFTUFOTl9XVU5TQ0hdLFxuICAgICAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk1PTk9NRVJfQ0hFTUlDQUxfRElTVEFOQ0VdOiBtbURpc3RhbmNlRnVuY3Rpb25zW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5NT05PTUVSX0NIRU1JQ0FMX0RJU1RBTkNFXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5OdW1iZXJdOiB7XG4gICAgICAgIFtOdW1iZXJNZXRyaWNzTmFtZXMuRGlmZmVyZW5jZV06IG51bWJlckRpc3RhbmNlTWV0cmljc01ldGhvZHNbTnVtYmVyTWV0cmljc05hbWVzLkRpZmZlcmVuY2VdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLkludEFycmF5XToge1xuICAgICAgICBbSW50QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9JbnRBcnJheV06IGludEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tJbnRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b0ludEFycmF5XSxcbiAgICB9XG59O1xuZXhwb3J0IGNvbnN0IE1ldHJpY1RvRGF0YVR5cGUgPSBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzKVxuICAgIC5yZWR1Y2UoKHJldCwga2V5KSA9PiB7XG4gICAgZm9yIChjb25zdCB2YWwgb2YgT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljc1trZXldKSlcbiAgICAgICAgcmV0W3ZhbF0gPSBrZXk7XG4gICAgcmV0dXJuIHJldDtcbn0sIHt9KTtcbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZ01ldHJpYyhuYW1lKSB7XG4gICAgcmV0dXJuIE1ldHJpY1RvRGF0YVR5cGVbbmFtZV0gPT0gJ1N0cmluZyc7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNCaXRBcnJheU1ldHJpYyhuYW1lKSB7XG4gICAgcmV0dXJuIE1ldHJpY1RvRGF0YVR5cGVbbmFtZV0gPT0gJ0JpdEFycmF5Jztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1ZlY3Rvck1ldHJpYyhuYW1lKSB7XG4gICAgcmV0dXJuIE1ldHJpY1RvRGF0YVR5cGVbbmFtZV0gPT0gJ1ZlY3Rvcic7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNNYWNyb01vbGVjdWxlTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSBEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5NYWNyb01vbGVjdWxlLnRvU3RyaW5nKCk7XG59XG4vKiogTWFuaGF0dGFuIGRpc3RhbmNlIGJldHdlZW4gdHdvIHNlcXVlbmNlcyAobWF0Y2ggLSAwLCBtaXNtYXRjaCAtIDEpIG5vcm1hbGl6ZWQgZm9yIGxlbmd0aC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYW5oYXR0YW5EaXN0YW5jZShzMSwgczIpIHtcbiAgICBpZiAoczEubGVuZ3RoICE9PSBzMi5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBsZXQgZGlzdCA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgczEubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICBkaXN0ICs9IHMxW2ldID09IHMyW2ldID8gMCA6IDE7XG4gICAgICAgIHJldHVybiBkaXN0IC8gczEubGVuZ3RoO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBjYXRlZ29yaWNhbERpc3RhbmNlKHMxLCBzMikge1xuICAgIHJldHVybiBzMSA9PT0gczIgPyAwIDogMTtcbn1cbi8qKiBVbmlmaWVkIGNsYXNzIGltcGxlbWVudGluZyBkaWZmZXJlbnQgc3RyaW5nIG1lYXN1cmVzLiAqL1xuZXhwb3J0IGNsYXNzIE1lYXN1cmUge1xuICAgIG1ldGhvZDtcbiAgICBkYXRhVHlwZTtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIE1lYXN1cmUgd2l0aCAuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZCBNZXRob2QgdG8gY2FsY3VsYXRlIGRpc3RhbmNlIGJldHdlZW4gc3RyaW5ncy5cbiAgICAgKiBAbWVtYmVyb2YgTWVhc3VyZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihtZXRob2QpIHtcbiAgICAgICAgdGhpcy5tZXRob2QgPSBtZXRob2Q7XG4gICAgICAgIHRoaXMuZGF0YVR5cGUgPSBNZXRyaWNUb0RhdGFUeXBlW21ldGhvZF07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgY3VzdG9tIHN0cmluZyBkaXN0YW5jZSBmdW5jdGlvbiBzcGVjaWZpZWQuXG4gICAgICogQHBhcmFtIHtvcHRzfSBvcHRzIE9wdGlvbnMgZm9yIHRoZSBtZWFzdXJlLiB1c2VkIGZvciBtYWNyb21vbGVjdWxlIGRpc3RhbmNlc1xuICAgICAqIEByZXR1cm4ge0Rpc3RhbmNlTWV0cmljfSBDYWxsYmFjayBvZiB0aGUgbWVhc3VyZSBjaG9zZW4uXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgZ2V0TWVhc3VyZShvcHRzKSB7XG4gICAgICAgIGNvbnN0IGRpY3QgPSBBdmFpbGFibGVNZXRyaWNzO1xuICAgICAgICBpZiAoIWRpY3QuaGFzT3duUHJvcGVydHkodGhpcy5kYXRhVHlwZSkgfHwgIWRpY3RbdGhpcy5kYXRhVHlwZV0uaGFzT3duUHJvcGVydHkodGhpcy5tZXRob2QpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIG1lYXN1cmUgJHt0aGlzLm1ldGhvZH0gZm9yIGRhdGEgdHlwZSAke3RoaXMuZGF0YVR5cGV9YCk7XG4gICAgICAgIHJldHVybiBpc01hY3JvTW9sZWN1bGVNZXRyaWModGhpcy5tZXRob2QpID9cbiAgICAgICAgICAgIGRpY3RbdGhpcy5kYXRhVHlwZV1bdGhpcy5tZXRob2RdKG9wdHMpIDpcbiAgICAgICAgICAgIGRpY3RbdGhpcy5kYXRhVHlwZV1bdGhpcy5tZXRob2RdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1c3RvbSBzdHJpbmcgZGlzdGFuY2UgYnkgdGhlIGdpdmVuIGRhdGEgdHlwZS5cbiAgICAgKiBAcGFyYW0ge0F2YWlsYWJsZURhdGFUeXBlc30gZGF0YVR5cGUgTWV0cmljJ3MgZGF0YSB0eXBlXG4gICAgICogQHJldHVybiB7c3RyaW5nW119IE1ldHJpYyBuYW1lcyB3aGljaCBleHBlY3RzIHRoZSBnaXZlbiBkYXRhIHR5cGVcbiAgICAgKiBAbWVtYmVyb2YgTWVhc3VyZXJcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0TWV0cmljQnlEYXRhVHlwZShkYXRhVHlwZSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljc1tkYXRhVHlwZV0pO1xuICAgIH1cbiAgICAvKiogUmV0dXJucyBtZXRyaWMgbmFtZXMgYXZhaWxhYmxlLlxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIHN0YXRpYyBnZXQgYXZhaWxhYmxlTWVhc3VyZXMoKSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzKTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkSGx3WldRdGJXVjBjbWxqY3k1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJblI1Y0dWa0xXMWxkSEpwWTNNdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVDBGQlR5eExRVUZMTEVWQlFVVXNUVUZCVFN4eFFrRkJjVUlzUTBGQlF6dEJRVU14UXl4UFFVRlBMRVZCUVVNc1YwRkJWeXhGUVVGRExFMUJRVTBzZVVKQlFYbENMRU5CUVVNN1FVRkZjRVFzVDBGQlR5eEZRVU5NTEd0Q1FVRnJRaXhGUVVOc1FpeHhRa0ZCY1VJc1JVRkRja0lzWTBGQll5eEZRVU5rTEZsQlFWa3NSVUZEV2l4cFFrRkJhVUlzUlVGRGFrSXNaVUZCWlN4RlFVTm1MR3RDUVVGclFpeEZRVU5zUWl4dlFrRkJiMElzUlVGRGNFSXNjVUpCUVhGQ0xFVkJRM0pDTEdOQlFXTXNSVUZEWkN4aFFVRmhMRVZCUTJJc1owSkJRV2RDTEVWQlEyaENMR1ZCUVdVc1JVRkRaaXgzUWtGQmQwSXNSMEZEZWtJc1RVRkJUU3cyUWtGQk5rSXNRMEZCUXp0QlFVVnlReXhQUVVGUExFVkJRVU1zTUVKQlFUQkNMRVZCUVVNc1RVRkJUU3hwUkVGQmFVUXNRMEZCUXp0QlFVY3pSaXhQUVVGUExFVkJRVU1zYlVKQlFXMUNMRVZCUVVVc2QwSkJRWGRDTEVWQlFVTXNUVUZCVFN4eFEwRkJjVU1zUTBGQlF6dEJRVU5zUnl4UFFVRlBMRVZCUVVNc2RVSkJRWFZDTEVWQlFVVXNiMEpCUVc5Q0xFVkJRMjVFTEd0Q1FVRnJRaXhGUVVGRkxHdENRVUZyUWl4RlFVRkZMR3RDUVVGclFpeEZRVUZGTEc5Q1FVRnZRaXhGUVVGRExFMUJRVTBzVlVGQlZTeERRVUZETzBGQlIzQkhMRTFCUVUwc1EwRkJReXhOUVVGTkxEUkNRVUUwUWl4SFFVRjVSRHRKUVVOb1J5eERRVUZETEd0Q1FVRnJRaXhEUVVGRExGTkJRVk1zUTBGQlF5eEZRVUZGTERCQ1FVRXdRanREUVVNelJDeERRVUZETzBGQlJVWXNUVUZCVFN4RFFVRkRMRTFCUVUwc05FSkJRVFJDTEVkQlFYbEVPMGxCUTJoSExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1YwRkJWeXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEZGQlFWRTdTVUZETjBNc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJSU3hYUVVGWE8wbEJRemRETEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVTBGQlV5eERRVUZETEVWQlFVVXNhVUpCUVdsQ08wbEJRMnBFTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNiVUpCUVcxQ08wTkJRMnBFTEVOQlFVTTdRVUZGUml4TlFVRk5MRU5CUVVNc1RVRkJUU3c0UWtGQk9FSXNSMEZCTmtRN1NVRkRkRWNzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhSUVVGUkxFTkJRVU1zUlVGQlJTeG5Ra0ZCWjBJN1NVRkRha1FzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeFpRVUZaTzBsQlEzcERMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVc2EwSkJRV3RDTzBsQlEzSkVMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNZVUZCWVN4RFFVRkRMRVZCUVVVc2NVSkJRWEZDTzBsQlF6TkVMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1kwRkJZenRKUVVNM1F5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTEd0Q1FVRnJRanRKUVVOeVJDeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGbEJRVmtzUTBGQlF5eEZRVUZGTEc5Q1FVRnZRanRKUVVONlJDeERRVUZETEc5Q1FVRnZRaXhEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTEhGQ1FVRnhRanRKUVVNelJDeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEdOQlFXTTdTVUZETjBNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hoUVVGaE8wbEJRek5ETEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVDBGQlR5eERRVUZETEVWQlFVVXNaVUZCWlR0SlFVTXZReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRk5CUVZNc1EwRkJReXhGUVVGRkxHbENRVUZwUWp0RFFVTndSQ3hEUVVGRE8wRkJSVVlzVFVGQlRTeERRVUZETEUxQlFVMHNPRUpCUVRoQ0xFZEJRVzFGTzBsQlF6VkhMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUlVGQlJTeDNRa0ZCZDBJN1EwRkRiRVVzUTBGQlF6dEJRVVZHTEUxQlFVMHNRMEZCUXl4TlFVRk5MRFJDUVVFMFFpeEhRVUY1UkR0SlFVTm9SeXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxHVkJRV1U3UTBGRGFrUXNRMEZCUXp0QlFVVkdMRTFCUVUwc1EwRkJReXhOUVVGTkxHZENRVUZuUWl4SFFVRkhPMGxCUXpsQ0xFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVU3VVVGRGFFTXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eFRRVUZUTEVOQlFVTXNSVUZCUlN3MFFrRkJORUlzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhUUVVGVExFTkJRVU03UzBGRE0wWTdTVUZEUkN4RFFVRkRMSFZDUVVGMVFpeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZPMUZCUTJoRExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1YwRkJWeXhEUVVGRExFVkJRVVVzTkVKQlFUUkNMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRPMUZCUXpsR0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1YwRkJWeXhEUVVGRExFVkJRVVVzTkVKQlFUUkNMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRPMUZCUXpsR0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1UwRkJVeXhEUVVGRExFVkJRVVVzTkVKQlFUUkNMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNVMEZCVXl4RFFVRkRPMUZCUXpGR0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzTkVKQlFUUkNMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFN4RFFVRkRPMHRCUTNKR08wbEJRMFFzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhSUVVGUkxFTkJRVU1zUlVGQlJUdFJRVU5zUXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZGQlFWRXNRMEZCUXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGRkJRVkVzUTBGQlF6dFJRVU01Uml4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFbEJRVWtzUTBGQlF6dFJRVU4wUml4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGVkJRVlVzUTBGQlF6dFJRVU5zUnl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExHRkJRV0VzUTBGQlF6dFJRVU40Unl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU14Uml4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGVkJRVlVzUTBGQlF6dFJRVU5zUnl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZsQlFWa3NRMEZCUXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGbEJRVmtzUTBGQlF6dFJRVU4wUnl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExHRkJRV0VzUTBGQlF6dFJRVU40Unl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU14Uml4RFFVRkRMRzlDUVVGdlFpeERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRGhDUVVFNFFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFdEJRVXNzUTBGQlF6dExRVU42Ump0SlFVTkVMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNZVUZCWVN4RFFVRkRMRVZCUVVVN1VVRkRka01zUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhQUVVGUExFTkJRVU1zUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4UFFVRlBMRU5CUVVNN1VVRkRla1lzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4WFFVRlhMRU5CUVVNN1VVRkRha2NzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RlFVRkZMRzFDUVVGdFFpeERRVUZETEhkQ1FVRjNRaXhEUVVGRExHbENRVUZwUWl4RFFVRkRPMUZCUXpkSExFTkJRVU1zZDBKQlFYZENMRU5CUVVNc2VVSkJRWGxDTEVOQlFVTXNSVUZEYkVRc2JVSkJRVzFDTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zZVVKQlFYbENMRU5CUVVNN1MwRkRNVVU3U1VGRFJDeERRVUZETEhWQ1FVRjFRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTzFGQlEyaERMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVlVGQlZTeERRVUZETzB0QlF6ZEdPMGxCUTBRc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSVHRSUVVOc1F5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWjBKQlFXZENMRU5CUVVNN1MwRkRMMGM3UTBGRFJpeERRVUZETzBGQlJVWXNUVUZCVFN4RFFVRkRMRTFCUVUwc1owSkJRV2RDTEVkQlFYRkNMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNN1MwRkROVVVzVFVGQlRTeERRVUZETEVOQlFVTXNSMEZCY1VJc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJUdEpRVU55UXl4TFFVRkxMRTFCUVUwc1IwRkJSeXhKUVVGSkxFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUjBGQmVVSXNRMEZCUXl4RFFVRkRPMUZCUTNoRkxFZEJRVWNzUTBGQlF5eEhRVUY1UWl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRE8wbEJSWFpETEU5QlFVOHNSMEZCUnl4RFFVRkRPMEZCUTJJc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzBGQlpWUXNUVUZCVFN4VlFVRlZMR05CUVdNc1EwRkJReXhKUVVGclFqdEpRVU12UXl4UFFVRlBMR2RDUVVGblFpeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRkZCUVZFc1EwRkJRenRCUVVNMVF5eERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR2RDUVVGblFpeERRVUZETEVsQlFXdENPMGxCUTJwRUxFOUJRVThzWjBKQlFXZENMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzVlVGQlZTeERRVUZETzBGQlF6bERMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWTBGQll5eERRVUZETEVsQlFXdENPMGxCUXk5RExFOUJRVThzWjBKQlFXZENMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzVVVGQlVTeERRVUZETzBGQlF6VkRMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzY1VKQlFYRkNMRU5CUVVNc1NVRkJhMEk3U1VGRGRFUXNUMEZCVHl4blFrRkJaMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4MVFrRkJkVUlzUTBGQlF5eGhRVUZoTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNN1FVRkRjRVlzUTBGQlF6dEJRVVZFTEdkSFFVRm5SenRCUVVOb1J5eE5RVUZOTEZWQlFWVXNhVUpCUVdsQ0xFTkJRVU1zUlVGQlZTeEZRVUZGTEVWQlFWVTdTVUZEZEVRc1NVRkJTU3hGUVVGRkxFTkJRVU1zVFVGQlRTeExRVUZMTEVWQlFVVXNRMEZCUXl4TlFVRk5MRVZCUVVVN1VVRkRNMElzVDBGQlR5eERRVUZETEVOQlFVTTdTMEZEVmp0VFFVRk5PMUZCUTB3c1NVRkJTU3hKUVVGSkxFZEJRVmNzUTBGQlF5eERRVUZETzFGQlEzSkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFpRVU5vUXl4SlFVRkpMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRha01zVDBGQlR5eEpRVUZKTEVkQlFVY3NSVUZCUlN4RFFVRkRMRTFCUVUwc1EwRkJRenRMUVVONlFqdEJRVU5JTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2JVSkJRVzFDTEVOQlFVTXNSVUZCVlN4RlFVRkZMRVZCUVZVN1NVRkRlRVFzVDBGQlR5eEZRVUZGTEV0QlFVc3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTXpRaXhEUVVGRE8wRkJSVVFzTkVSQlFUUkVPMEZCUXpWRUxFMUJRVTBzVDBGQlR5eFBRVUZQTzBsQlExSXNUVUZCVFN4RFFVRmxPMGxCUTNKQ0xGRkJRVkVzUTBGQmNVSTdTVUZGZGtNN096czdUMEZKUnp0SlFVTklMRmxCUVZrc1RVRkJiMEk3VVVGRE9VSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhOUVVGTkxFTkJRVU03VVVGRGNrSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1IwRkJSeXhuUWtGQlowSXNRMEZCUXl4TlFVRk5MRU5CUVhWQ0xFTkJRVU03U1VGRGFrVXNRMEZCUXp0SlFVVkVPenM3T3p0UFFVdEhPMGxCUTBrc1ZVRkJWU3hEUVVGRExFbEJRVlU3VVVGRE1VSXNUVUZCVFN4SlFVRkpMRWRCUlU0c1owSkJRV2RDTEVOQlFVTTdVVUZEY2tJc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhqUVVGakxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXp0WlFVTjZSaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEcxQ1FVRnRRaXhKUVVGSkxFTkJRVU1zVFVGQlRTeHJRa0ZCYTBJc1NVRkJTU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZEYmtZc1QwRkJUeXh4UWtGQmNVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU40UXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVhGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTTNSU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVzFDTEVOQlFVTTdTVUZEZGtRc1EwRkJRenRKUVVWRU96czdPenRQUVV0SE8wbEJRMGtzVFVGQlRTeERRVUZETEcxQ1FVRnRRaXhEUVVGRExGRkJRVFJDTzFGQlF6VkVMRTlCUVU4c1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEycEVMRU5CUVVNN1NVRkZSRHM3VDBGRlJ6dEpRVU5JTEUxQlFVMHNTMEZCU3l4cFFrRkJhVUk3VVVGRE1VSXNUMEZCVHl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNN1NVRkRka01zUTBGQlF6dERRVU5HSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUNvZ1lYTWdabXdnWm5KdmJTQW5abUZ6ZEdWemRDMXNaWFpsYm5Ob2RHVnBiaWM3WEc1cGJYQnZjblFnZTJwaGNtOVhhVzVyYkdWeWZTQm1jbTl0SUNkcVlYSnZMWGRwYm10c1pYSXRkSGx3WlhOamNtbHdkQ2M3WEc1cGJYQnZjblFnZTBScGMzUmhibU5sVFdWMGNtbGpmU0JtY205dElDZEFaR0YwWVdkeWIyc3RiR2xpY21GeWFXVnpMM1YwYVd4ekwzTnlZeTkwZVhCbExXUmxZMnhoY21GMGFXOXVjeWM3WEc1cGJYQnZjblFnZTF4dUlDQmhjM2x0YldWMGNtbGpSR2x6ZEdGdVkyVXNYRzRnSUdKeVlYVnVRbXhoYm5GMVpYUkVhWE4wWVc1alpTeGNiaUFnWTI5emFXNWxSR2x6ZEdGdVkyVXNYRzRnSUdScFkyVkVhWE4wWVc1alpTeGNiaUFnWlhWamJHbGtaV0Z1UkdsemRHRnVZMlVzWEc0Z0lHaGhiVzFwYm1kRWFYTjBZVzVqWlN4Y2JpQWdhM1ZzWTNwNWJuTnJhVVJwYzNSaGJtTmxMRnh1SUNCdFkwTnZibTVoZFdkb1pYbEVhWE4wWVc1alpTeGNiaUFnY205bmIzUkhiMnhrWW1WeVowUnBjM1JoYm1ObExGeHVJQ0J5ZFhOelpXeEVhWE4wWVc1alpTeGNiaUFnYzI5cllXeEVhWE4wWVc1alpTeGNiaUFnZEdGdWFXMXZkRzlFYVhOMFlXNWpaU3hjYmlBZ2JuVnRaWEpwWTBScGMzUmhibU5sTEZ4dUlDQjBZVzVwYlc5MGIwUnBjM1JoYm1ObFNXNTBRWEp5WVhrc1hHNTlJR1p5YjIwZ0p5NHVMMlJwYzNSaGJtTmxMVzFsZEhKcFkzTXRiV1YwYUc5a2N5YzdYRzVjYm1sdGNHOXlkQ0I3WTJGc1kzVnNZWFJsUlhWamJHbGtaV0Z1UkdsemRHRnVZMlY5SUdaeWIyMGdKMEJrWVhSaFozSnZheTFzYVdKeVlYSnBaWE12ZFhScGJITXZjM0pqTDNabFkzUnZjaTF2Y0dWeVlYUnBiMjV6Snp0Y2JtbHRjRzl5ZENCQ2FYUkJjbkpoZVNCbWNtOXRJQ2RBWkdGMFlXZHliMnN0YkdsaWNtRnlhV1Z6TDNWMGFXeHpMM055WXk5aWFYUXRZWEp5WVhrbk8xeHVhVzF3YjNKMElIdFdaV04wYjNJc0lGTjBjbWx1WjBScFkzUnBiMjVoY25sOUlHWnliMjBnSjBCa1lYUmhaM0p2YXkxc2FXSnlZWEpwWlhNdmRYUnBiSE12YzNKakwzUjVjR1V0WkdWamJHRnlZWFJwYjI1ekp6dGNibWx0Y0c5eWRDQjdiVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjeXdnVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpmU0JtY205dElDY3VMaTl0WVdOeWIyMXZiR1ZqZFd4bExXUnBjM1JoYm1ObExXWjFibU4wYVc5dWN5YzdYRzVwYlhCdmNuUWdlMFJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxDQkNhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeXhjYmlBZ1UzUnlhVzVuVFdWMGNtbGpjMDVoYldWekxDQldaV04wYjNKTlpYUnlhV056VG1GdFpYTXNJRTUxYldKbGNrMWxkSEpwWTNOT1lXMWxjeXdnU1c1MFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhOOUlHWnliMjBnSnk0dlkyOXVjM1J6Snp0Y2JseHVYRzVsZUhCdmNuUWdZMjl1YzNRZ2RtVmpkRzl5UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2N6b2dleUJiYm1GdFpUb2djM1J5YVc1blhUb2dLSGc2SUZabFkzUnZjaXdnZVRvZ1ZtVmpkRzl5S1NBOVBpQnVkVzFpWlhJZ2ZTQTlJSHRjYmlBZ1cxWmxZM1J2Y2sxbGRISnBZM05PWVcxbGN5NUZkV05zYVdSbFlXNWRPaUJqWVd4amRXeGhkR1ZGZFdOc2FXUmxZVzVFYVhOMFlXNWpaU3hjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCemRISnBibWRFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSek9pQjdJRnR1WVcxbE9pQnpkSEpwYm1kZE9pQW9lRG9nYzNSeWFXNW5MQ0I1T2lCemRISnBibWNwSUQwK0lHNTFiV0psY2lCOUlEMGdlMXh1SUNCYlUzUnlhVzVuVFdWMGNtbGpjMDVoYldWekxreGxkbVZ1YzJoMFpXbHVYVG9nWm13dVpHbHpkR0Z1WTJVc1hHNGdJRnRUZEhKcGJtZE5aWFJ5YVdOelRtRnRaWE11U21GeWIxZHBibXRzWlhKZE9pQnFZWEp2VjJsdWEyeGxjaXhjYmlBZ1cxTjBjbWx1WjAxbGRISnBZM05PWVcxbGN5NU5ZVzVvWVhSMFlXNWRPaUJ0WVc1b1lYUjBZVzVFYVhOMFlXNWpaU3hjYmlBZ1cxTjBjbWx1WjAxbGRISnBZM05PWVcxbGN5NVBibVZvYjNSZE9pQmpZWFJsWjI5eWFXTmhiRVJwYzNSaGJtTmxMRnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUdKcGRFRnljbUY1UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2N6b2dleUJiYm1GdFpUb2djM1J5YVc1blhUb2dLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTa2dQVDRnYm5WdFltVnlJSDBnUFNCN1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VVlXNXBiVzkwYjEwNklIUmhibWx0YjNSdlJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RWFXTmxYVG9nWkdsalpVUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVFYTjViVzFsZEhKcFkxMDZJR0Z6ZVcxdFpYUnlhV05FYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa0p5WVhWdVFteGhibkYxWlhSZE9pQmljbUYxYmtKc1lXNXhkV1YwUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVEYjNOcGJtVmRPaUJqYjNOcGJtVkVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrdDFiR042ZVc1emEybGRPaUJyZFd4amVubHVjMnRwUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVOWTBOdmJtNWhkV2RvWlhsZE9pQnRZME52Ym01aGRXZG9aWGxFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbEp2WjI5MFIyOXNaR0psY21kZE9pQnliMmR2ZEVkdmJHUmlaWEpuUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVTZFhOelpXeGRPaUJ5ZFhOelpXeEVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsTnZhMkZzWFRvZ2MyOXJZV3hFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa2hoYlcxcGJtZGRPaUJvWVcxdGFXNW5SR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUZkV05zYVdSbFlXNWRPaUJsZFdOc2FXUmxZVzVFYVhOMFlXNWpaU3hjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCcGJuUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITTZJSHNnVzI1aGJXVTZJSE4wY21sdVoxMDZJQ2g0T2lCVmFXNTBNekpCY25KaGVTd2dlVG9nVldsdWRETXlRWEp5WVhrcElEMCtJRzUxYldKbGNpQjlJRDBnZTF4dUlDQmJTVzUwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VkdGdWFXMXZkRzlKYm5SQmNuSmhlVjA2SUhSaGJtbHRiM1J2UkdsemRHRnVZMlZKYm5SQmNuSmhlU3hjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCdWRXMWlaWEpFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSek9pQjdJRnR1WVcxbE9pQnpkSEpwYm1kZE9pQW9lRG9nYm5WdFltVnlMQ0I1T2lCdWRXMWlaWElwSUQwK0lHNTFiV0psY2lCOUlEMGdlMXh1SUNCYlRuVnRZbVZ5VFdWMGNtbGpjMDVoYldWekxrUnBabVpsY21WdVkyVmRPaUJ1ZFcxbGNtbGpSR2x6ZEdGdVkyVXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUVhaaGFXeGhZbXhsVFdWMGNtbGpjeUE5SUh0Y2JpQWdXMFJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxsWmxZM1J2Y2wwNklIdGNiaUFnSUNCYlZtVmpkRzl5VFdWMGNtbGpjMDVoYldWekxrVjFZMnhwWkdWaGJsMDZJSFpsWTNSdmNrUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iVm1WamRHOXlUV1YwY21samMwNWhiV1Z6TGtWMVkyeHBaR1ZoYmwwc1hHNGdJSDBzWEc0Z0lGdEVhWE4wWVc1alpVMWxkSEpwWTNOVGRXSnFaV04wY3k1VGRISnBibWRkT2lCN1hHNGdJQ0FnVzFOMGNtbHVaMDFsZEhKcFkzTk9ZVzFsY3k1TVpYWmxibk5vZEdWcGJsMDZJSE4wY21sdVowUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TGt4bGRtVnVjMmgwWldsdVhTeGNiaUFnSUNCYlUzUnlhVzVuVFdWMGNtbGpjMDVoYldWekxrcGhjbTlYYVc1cmJHVnlYVG9nYzNSeWFXNW5SR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0VGRISnBibWROWlhSeWFXTnpUbUZ0WlhNdVNtRnliMWRwYm10c1pYSmRMRnh1SUNBZ0lGdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVUV0Z1YUdGMGRHRnVYVG9nYzNSeWFXNW5SR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0VGRISnBibWROWlhSeWFXTnpUbUZ0WlhNdVRXRnVhR0YwZEdGdVhTeGNiaUFnSUNCYlUzUnlhVzVuVFdWMGNtbGpjMDVoYldWekxrOXVaV2h2ZEYwNklITjBjbWx1WjBScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMazl1WldodmRGMHNYRzRnSUgwc1hHNGdJRnRFYVhOMFlXNWpaVTFsZEhKcFkzTlRkV0pxWldOMGN5NUNhWFJCY25KaGVWMDZJSHRjYmlBZ0lDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VkdGdWFXMXZkRzlkT2lCaWFYUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VkdGdWFXMXZkRzlkTEZ4dUlDQWdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RWFXTmxYVG9nWW1sMFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa1JwWTJWZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUJjM2x0YldWMGNtbGpYVG9nWW1sMFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa0Z6ZVcxdFpYUnlhV05kTEZ4dUlDQWdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1Q2NtRjFia0pzWVc1eGRXVjBYVG9nWW1sMFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa0p5WVhWdVFteGhibkYxWlhSZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NURiM05wYm1WZE9pQmlhWFJCY25KaGVVUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVEyOXphVzVsWFN4Y2JpQWdJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVMzVnNZM3A1Ym5OcmFWMDZJR0pwZEVGeWNtRjVSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUxkV3hqZW5sdWMydHBYU3hjYmlBZ0lDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VFdORGIyNXVZWFZuYUdWNVhUb2dZbWwwUVhKeVlYbEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrMWpRMjl1Ym1GMVoyaGxlVjBzWEc0Z0lDQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxKdloyOTBSMjlzWkdKbGNtZGRPaUJpYVhSQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVbTluYjNSSGIyeGtZbVZ5WjEwc1hHNGdJQ0FnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsSjFjM05sYkYwNklHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1U2RYTnpaV3hkTEZ4dUlDQWdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VGIydGhiRjA2SUdKcGRFRnljbUY1UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVUYjJ0aGJGMHNYRzRnSUgwc1hHNGdJRnRFYVhOMFlXNWpaVTFsZEhKcFkzTlRkV0pxWldOMGN5NU5ZV055YjAxdmJHVmpkV3hsWFRvZ2V5QXZMeUJ2Y0hScGIyNWhiQ0JoY21keklHNWxaV1JsWkNCbWIzSWdiV0ZqY205dGIyeGxZM1ZzWlNCbWRXNWpkR2x2Ym5NZ2QyaHBZMmdnYVc1cGRHbGhiR2w2WlNCMGFHVnRYRzRnSUNBZ1cwMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTk9ZVzFsY3k1SVFVMU5TVTVIWFRvZ2JXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMxdE5iVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpUbUZ0WlhNdVNFRk5UVWxPUjEwc1hHNGdJQ0FnVzAxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVNUlZaRlRsTklWRVZKVGwwNklHMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTmJUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWekxreEZWa1ZPVTBoVVJVbE9YU3hjYmlBZ0lDQmJUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWekxrNUZSVVJNUlUxQlRrNWZWMVZPVTBOSVhUb2diVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMXROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVUa1ZGUkV4RlRVRk9UbDlYVlU1VFEwaGRMRnh1SUNBZ0lGdE5iVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpUbUZ0WlhNdVRVOU9UMDFGVWw5RFNFVk5TVU5CVEY5RVNWTlVRVTVEUlYwNlhHNGdJQ0FnSUNCdGJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elcwMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTk9ZVzFsY3k1TlQwNVBUVVZTWDBOSVJVMUpRMEZNWDBSSlUxUkJUa05GWFN4Y2JpQWdmU3hjYmlBZ1cwUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TGs1MWJXSmxjbDA2SUh0Y2JpQWdJQ0JiVG5WdFltVnlUV1YwY21samMwNWhiV1Z6TGtScFptWmxjbVZ1WTJWZE9pQnVkVzFpWlhKRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMDUxYldKbGNrMWxkSEpwWTNOT1lXMWxjeTVFYVdabVpYSmxibU5sWFN4Y2JpQWdmU3hjYmlBZ1cwUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TGtsdWRFRnljbUY1WFRvZ2UxeHVJQ0FnSUZ0SmJuUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVVZVzVwYlc5MGIwbHVkRUZ5Y21GNVhUb2dhVzUwUVhKeVlYbEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzBsdWRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsUmhibWx0YjNSdlNXNTBRWEp5WVhsZExGeHVJQ0I5WEc1OU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1RXVjBjbWxqVkc5RVlYUmhWSGx3WlRvZ1UzUnlhVzVuUkdsamRHbHZibUZ5ZVNBOUlFOWlhbVZqZEM1clpYbHpLRUYyWVdsc1lXSnNaVTFsZEhKcFkzTXBYRzRnSUM1eVpXUjFZMlVvS0hKbGREb2dVM1J5YVc1blJHbGpkR2x2Ym1GeWVTd2dhMlY1S1NBOVBpQjdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQjJZV3dnYjJZZ1QySnFaV04wTG10bGVYTW9RWFpoYVd4aFlteGxUV1YwY21samMxdHJaWGtnWVhNZ1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWelhTa3BYRzRnSUNBZ0lDQnlaWFJiZG1Gc0lHRnpJRUYyWVdsc1lXSnNaVVJoZEdGVWVYQmxjMTBnUFNCclpYazdYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVjBPMXh1SUNCOUxDQjdmU2s3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRUYyWVdsc1lXSnNaVVJoZEdGVWVYQmxjeUE5SUd0bGVXOW1JSFI1Y0dWdlppQkJkbUZwYkdGaWJHVk5aWFJ5YVdOek8xeHVaWGh3YjNKMElIUjVjR1VnVm1WamRHOXlUV1YwY21samN5QTlJR3RsZVc5bUlIUjVjR1Z2WmlCQmRtRnBiR0ZpYkdWTlpYUnlhV056VzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMbFpsWTNSdmNsMDdYRzVsZUhCdmNuUWdkSGx3WlNCVGRISnBibWROWlhSeWFXTnpJRDBnYTJWNWIyWWdkSGx3Wlc5bUlFRjJZV2xzWVdKc1pVMWxkSEpwWTNOYlJHbHpkR0Z1WTJWTlpYUnlhV056VTNWaWFtVmpkSE11VTNSeWFXNW5YVHRjYm1WNGNHOXlkQ0IwZVhCbElFSnBkRUZ5Y21GNVRXVjBjbWxqY3lBOUlHdGxlVzltSUhSNWNHVnZaaUJCZG1GcGJHRmliR1ZOWlhSeWFXTnpXMFJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxrSnBkRUZ5Y21GNVhUdGNibVY0Y0c5eWRDQjBlWEJsSUV0dWIzZHVUV1YwY21samN5QTlJRk4wY21sdVowMWxkSEpwWTNNZ2ZDQkNhWFJCY25KaGVVMWxkSEpwWTNNZ2ZDQldaV04wYjNKTlpYUnlhV056SUh4Y2JpQWdUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWeklId2dUblZ0WW1WeVRXVjBjbWxqYzA1aGJXVnpJSHdnU1c1MFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUZaaGJHbGtWSGx3WlhNZ1BWeHVJQ0I3SUdSaGRHRTZJSE4wY21sdVoxdGRMQ0J0WlhSeWFXTTZJRk4wY21sdVowMWxkSEpwWTNNZ2ZDQk5iVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpUbUZ0WlhNZ2ZTQjhYRzRnSUhzZ1pHRjBZVG9nVm1WamRHOXlXMTBzSUcxbGRISnBZem9nVm1WamRHOXlUV1YwY21samN5QjlJSHhjYmlBZ2V5QmtZWFJoT2lCQ2FYUkJjbkpoZVZ0ZExDQnRaWFJ5YVdNNklFSnBkRUZ5Y21GNVRXVjBjbWxqY3lCOUlIeGNiaUFnZXlCa1lYUmhPaUJ1ZFcxaVpYSmJYU3dnYldWMGNtbGpPaUJPZFcxaVpYSk5aWFJ5YVdOelRtRnRaWE1nZlR0Y2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHpVM1J5YVc1blRXVjBjbWxqS0c1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3lrZ2UxeHVJQ0J5WlhSMWNtNGdUV1YwY21salZHOUVZWFJoVkhsd1pWdHVZVzFsWFNBOVBTQW5VM1J5YVc1bkp6dGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdselFtbDBRWEp5WVhsTlpYUnlhV01vYm1GdFpUb2dTMjV2ZDI1TlpYUnlhV056S1NCN1hHNGdJSEpsZEhWeWJpQk5aWFJ5YVdOVWIwUmhkR0ZVZVhCbFcyNWhiV1ZkSUQwOUlDZENhWFJCY25KaGVTYzdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcGMxWmxZM1J2Y2sxbGRISnBZeWh1WVcxbE9pQkxibTkzYmsxbGRISnBZM01wSUh0Y2JpQWdjbVYwZFhKdUlFMWxkSEpwWTFSdlJHRjBZVlI1Y0dWYmJtRnRaVjBnUFQwZ0oxWmxZM1J2Y2ljN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJwYzAxaFkzSnZUVzlzWldOMWJHVk5aWFJ5YVdNb2JtRnRaVG9nUzI1dmQyNU5aWFJ5YVdOektTQjdYRzRnSUhKbGRIVnliaUJOWlhSeWFXTlViMFJoZEdGVWVYQmxXMjVoYldWZElEMDlJRVJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxrMWhZM0p2VFc5c1pXTjFiR1V1ZEc5VGRISnBibWNvS1R0Y2JuMWNibHh1THlvcUlFMWhibWhoZEhSaGJpQmthWE4wWVc1alpTQmlaWFIzWldWdUlIUjNieUJ6WlhGMVpXNWpaWE1nS0cxaGRHTm9JQzBnTUN3Z2JXbHpiV0YwWTJnZ0xTQXhLU0J1YjNKdFlXeHBlbVZrSUdadmNpQnNaVzVuZEdndUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiV0Z1YUdGMGRHRnVSR2x6ZEdGdVkyVW9jekU2SUhOMGNtbHVaeXdnY3pJNklITjBjbWx1WnlrNklHNTFiV0psY2lCN1hHNGdJR2xtSUNoek1TNXNaVzVuZEdnZ0lUMDlJSE15TG14bGJtZDBhQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQXhPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR3hsZENCa2FYTjBPaUJ1ZFcxaVpYSWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBeE95QnBJRHdnY3pFdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ0lDQmthWE4wSUNzOUlITXhXMmxkSUQwOUlITXlXMmxkSUQ4Z01DQTZJREU3WEc0Z0lDQWdjbVYwZFhKdUlHUnBjM1FnTHlCek1TNXNaVzVuZEdnN1hHNGdJSDFjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHTmhkR1ZuYjNKcFkyRnNSR2x6ZEdGdVkyVW9jekU2SUhOMGNtbHVaeXdnY3pJNklITjBjbWx1WnlrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQnpNU0E5UFQwZ2N6SWdQeUF3SURvZ01UdGNibjFjYmx4dUx5b3FJRlZ1YVdacFpXUWdZMnhoYzNNZ2FXMXdiR1Z0Wlc1MGFXNW5JR1JwWm1abGNtVnVkQ0J6ZEhKcGJtY2diV1ZoYzNWeVpYTXVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdUV1ZoYzNWeVpTQjdYRzRnSUhCeWIzUmxZM1JsWkNCdFpYUm9iMlE2SUV0dWIzZHVUV1YwY21samN6dGNiaUFnY0hKdmRHVmpkR1ZrSUdSaGRHRlVlWEJsT2lCQmRtRnBiR0ZpYkdWRVlYUmhWSGx3WlhNN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOeVpXRjBaWE1nWVc0Z2FXNXpkR0Z1WTJVZ2IyWWdUV1ZoYzNWeVpTQjNhWFJvSUM1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRzFsZEdodlpDQk5aWFJvYjJRZ2RHOGdZMkZzWTNWc1lYUmxJR1JwYzNSaGJtTmxJR0psZEhkbFpXNGdjM1J5YVc1bmN5NWNiaUFnSUNvZ1FHMWxiV0psY205bUlFMWxZWE4xY21WeVhHNGdJQ0FxTDF4dUlDQmpiMjV6ZEhKMVkzUnZjaWh0WlhSb2IyUTZJRXR1YjNkdVRXVjBjbWxqY3lrZ2UxeHVJQ0FnSUhSb2FYTXViV1YwYUc5a0lEMGdiV1YwYUc5a08xeHVJQ0FnSUhSb2FYTXVaR0YwWVZSNWNHVWdQU0JOWlhSeWFXTlViMFJoZEdGVWVYQmxXMjFsZEdodlpGMGdZWE1nUVhaaGFXeGhZbXhsUkdGMFlWUjVjR1Z6TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ1kzVnpkRzl0SUhOMGNtbHVaeUJrYVhOMFlXNWpaU0JtZFc1amRHbHZiaUJ6Y0dWamFXWnBaV1F1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdiM0IwYzMwZ2IzQjBjeUJQY0hScGIyNXpJR1p2Y2lCMGFHVWdiV1ZoYzNWeVpTNGdkWE5sWkNCbWIzSWdiV0ZqY205dGIyeGxZM1ZzWlNCa2FYTjBZVzVqWlhOY2JpQWdJQ29nUUhKbGRIVnliaUI3UkdsemRHRnVZMlZOWlhSeWFXTjlJRU5oYkd4aVlXTnJJRzltSUhSb1pTQnRaV0Z6ZFhKbElHTm9iM05sYmk1Y2JpQWdJQ29nUUcxbGJXSmxjbTltSUUxbFlYTjFjbVZ5WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWjJWMFRXVmhjM1Z5WlNodmNIUnpQem9nWVc1NUtUb2dSR2x6ZEdGdVkyVk5aWFJ5YVdNZ2UxeHVJQ0FnSUdOdmJuTjBJR1JwWTNRNklIc2dXMnRsZVRvZ2MzUnlhVzVuWFRwY2JpQWdJQ0FnSUh0YmEyVjVNam9nYzNSeWFXNW5YVG9nUkdsemRHRnVZMlZOWlhSeWFXTWdmQ0FvS0c5d2RITTZJR0Z1ZVNrZ1BUNGdSR2x6ZEdGdVkyVk5aWFJ5YVdNcGZWeHVJQ0FnSUgwZ1BTQkJkbUZwYkdGaWJHVk5aWFJ5YVdOek8xeHVJQ0FnSUdsbUlDZ2haR2xqZEM1b1lYTlBkMjVRY205d1pYSjBlU2gwYUdsekxtUmhkR0ZVZVhCbEtTQjhmQ0FoWkdsamRGdDBhR2x6TG1SaGRHRlVlWEJsWFM1b1lYTlBkMjVRY205d1pYSjBlU2gwYUdsekxtMWxkR2h2WkNrcFhHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWUZWdWEyNXZkMjRnYldWaGMzVnlaU0FrZTNSb2FYTXViV1YwYUc5a2ZTQm1iM0lnWkdGMFlTQjBlWEJsSUNSN2RHaHBjeTVrWVhSaFZIbHdaWDFnS1R0Y2JpQWdJQ0J5WlhSMWNtNGdhWE5OWVdOeWIwMXZiR1ZqZFd4bFRXVjBjbWxqS0hSb2FYTXViV1YwYUc5a0tTQS9YRzRnSUNBZ0lDQW9aR2xqZEZ0MGFHbHpMbVJoZEdGVWVYQmxYVnQwYUdsekxtMWxkR2h2WkYwZ1lYTWdLQ2h2Y0hSek9pQmhibmtwSUQwK0lFUnBjM1JoYm1ObFRXVjBjbWxqS1Nrb2IzQjBjeWtnT2x4dUlDQWdJQ0FnWkdsamRGdDBhR2x6TG1SaGRHRlVlWEJsWFZ0MGFHbHpMbTFsZEdodlpGMGdZWE1nUkdsemRHRnVZMlZOWlhSeWFXTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJqZFhOMGIyMGdjM1J5YVc1bklHUnBjM1JoYm1ObElHSjVJSFJvWlNCbmFYWmxiaUJrWVhSaElIUjVjR1V1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdRWFpoYVd4aFlteGxSR0YwWVZSNWNHVnpmU0JrWVhSaFZIbHdaU0JOWlhSeWFXTW5jeUJrWVhSaElIUjVjR1ZjYmlBZ0lDb2dRSEpsZEhWeWJpQjdjM1J5YVc1blcxMTlJRTFsZEhKcFl5QnVZVzFsY3lCM2FHbGphQ0JsZUhCbFkzUnpJSFJvWlNCbmFYWmxiaUJrWVhSaElIUjVjR1ZjYmlBZ0lDb2dRRzFsYldKbGNtOW1JRTFsWVhOMWNtVnlYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdjM1JoZEdsaklHZGxkRTFsZEhKcFkwSjVSR0YwWVZSNWNHVW9aR0YwWVZSNWNHVTZJRUYyWVdsc1lXSnNaVVJoZEdGVWVYQmxjeWs2SUhOMGNtbHVaMXRkSUh0Y2JpQWdJQ0J5WlhSMWNtNGdUMkpxWldOMExtdGxlWE1vUVhaaGFXeGhZbXhsVFdWMGNtbGpjMXRrWVhSaFZIbHdaVjBwTzF4dUlDQjlYRzVjYmlBZ0x5b3FJRkpsZEhWeWJuTWdiV1YwY21saklHNWhiV1Z6SUdGMllXbHNZV0pzWlM1Y2JpQWdJQ29nUUcxbGJXSmxjbTltSUUxbFlYTjFjbVZ5WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nWjJWMElHRjJZV2xzWVdKc1pVMWxZWE4xY21WektDazZJSE4wY21sdVoxdGRJSHRjYmlBZ0lDQnlaWFIxY200Z1QySnFaV04wTG10bGVYTW9RWFpoYVd4aFlteGxUV1YwY21samN5azdYRzRnSUgxY2JuMWNiaUpkZlE9PSIsImltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi91dGlscyc7XG4vKiogRGlzdGFuY2UgbWF0cml4IGNsYXNzIGNvbXBhdGlibGUgd2l0aCBkYXRhIHN0cnVjdHVyZSBvZiBzY2lweS5zcGF0aWFsLmRpc3RhbmNlLnBkaXN0ICovXG5leHBvcnQgY2xhc3MgRGlzdGFuY2VNYXRyaXgge1xuICAgIF9kYXRhO1xuICAgIF9zaXplO1xuICAgIGdldCBkYXRhKCkgeyByZXR1cm4gdGhpcy5fZGF0YTsgfVxuICAgIGdldCBzaXplKCkgeyByZXR1cm4gdGhpcy5fc2l6ZTsgfVxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB7RmxvYXQzMkFycmF5fSBkYXRhIERpc3RhbmNlIGRhdGFcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc2l6ZSBOdW1iZXIgb2Ygb3JpZ2luYWwgb2JzZXJ2YXRpb25zXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZGF0YSwgc2l6ZSkge1xuICAgICAgICBpZiAoc2l6ZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChkYXRhID09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FyZ3VtZW50cyBlcnJvcjogZGF0YSBvciBzaXplIGlzIHJlcXVpcmVkLicpO1xuICAgICAgICAgICAgdGhpcy5fZGF0YSA9IGRhdGE7XG4gICAgICAgICAgICB0aGlzLl9zaXplID0gKDEgKyBNYXRoLnNxcnQoMSArIDQgKiAyICogdGhpcy5fZGF0YS5sZW5ndGgpKSAvIDI7XG4gICAgICAgICAgICBpZiAodGhpcy5fc2l6ZSAhPSBNYXRoLmZsb29yKHRoaXMuX3NpemUpKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhIGxlbmd0aCAke3RoaXMuX2RhdGEubGVuZ3RofSBsZWFkcyB0byBub24gaW50ZWdlciBzaXplICR7dGhpcy5fc2l6ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NpemUgPSBzaXplO1xuICAgICAgICAgICAgY29uc3QgZGF0YUxlbmd0aCA9IHNpemUgKiAoc2l6ZSAtIDEpIC8gMjtcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGEubGVuZ3RoICE9IGRhdGFMZW5ndGgpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhIGxlbmd0aC4gT2JzZXJ2YXRpb25zIHNpemUgJHtzaXplfSByZXF1aXJlcyBkYXRhIGxlbmd0aCAke2RhdGFMZW5ndGh9LmApO1xuICAgICAgICAgICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGF0YSA9IG5ldyBGbG9hdDMyQXJyYXkoZGF0YUxlbmd0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgX2xpbmVhcml6ZUlKKGksIGopIHtcbiAgICAgICAgaWYgKCEoaSA8IGopKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpIG11c3QgYmUgbGVzcyB0aGFuIGonKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemUgKiBpICsgaiAtIE1hdGguZmxvb3IoKChpICsgMikgKiAoaSArIDEpKSAvIDIpO1xuICAgIH1cbiAgICBnZXQoaSwgaikge1xuICAgICAgICBpZiAoaSA9PSBqKVxuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIGVsc2UgaWYgKGkgPCBqKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFbdGhpcy5fbGluZWFyaXplSUooaSwgaildO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVt0aGlzLl9saW5lYXJpemVJSihqLCBpKV07XG4gICAgfVxuICAgIHNldChpLCBqLCB2YWx1ZSkge1xuICAgICAgICB0aGlzLl9kYXRhW3RoaXMuX2xpbmVhcml6ZUlKKGksIGopXSA9IHZhbHVlO1xuICAgIH1cbiAgICBzdGF0aWMgY2FsYyhsaXN0LCBtZXRob2QpIHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGxpc3QubGVuZ3RoO1xuICAgICAgICBjb25zdCByZXMgPSBuZXcgRGlzdGFuY2VNYXRyaXgodW5kZWZpbmVkLCBzaXplKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IHNpemU7IGorKykge1xuICAgICAgICAgICAgICAgIC8vIGlmIGFueSBvZiB0aGUgdmFsdWVzIGlzIG51bGwsIHNldCBkaXN0YW5jZSB0byAxXG4gICAgICAgICAgICAgICAgcmVzLnNldChpLCBqLCAhaXNOaWwobGlzdFtpXSkgJiYgIWlzTmlsKGxpc3Rbal0pID8gbWV0aG9kKGxpc3RbaV0sIGxpc3Rbal0pIDogMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgLy8gc3F1YXJlcyBlYWNoIHZhbHVlIGluIG1hdHJpeCBpbiBwbGFjZVxuICAgIHNxdWFyZSgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl9kYXRhLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgdGhpcy5fZGF0YVtpXSA9IHRoaXMuX2RhdGFbaV0gKiogMjtcbiAgICB9XG4gICAgLy8gYWRkcyBhbm90aGVyIG1hdHJpeCB0byB0aGlzIG9uZSBpbiBwbGFjZVxuICAgIGFkZChvdGhlcikge1xuICAgICAgICBpZiAodGhpcy5fc2l6ZSAhPT0gb3RoZXIuX3NpemUpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hdHJpY2VzIG11c3QgaGF2ZSB0aGUgc2FtZSBzaXplLiBUaGlzIHNpemU6ICR7dGhpcy5fc2l6ZX0sIG90aGVyIHNpemU6ICR7b3RoZXIuX3NpemV9YCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fZGF0YS5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIHRoaXMuX2RhdGFbaV0gKz0gb3RoZXIuX2RhdGFbaV07XG4gICAgfVxuICAgIC8vIHNxdWFyZSByb290IGVhY2ggdmFsdWUgaW4gbWF0cml4IGluIHBsYWNlXG4gICAgc3FydCgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl9kYXRhLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgdGhpcy5fZGF0YVtpXSA9IE1hdGguc3FydCh0aGlzLl9kYXRhW2ldKTtcbiAgICB9XG4gICAgLy9ub3JtaWx6ZSBkaXN0YW5jZSBtYXRyaXggaW4gcGxhY2VcbiAgICBub3JtYWxpemUoKSB7XG4gICAgICAgIGxldCBtaW4gPSAwO1xuICAgICAgICBsZXQgbWF4ID0gdGhpcy5fZGF0YVswXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl9kYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZGF0YVtpXSA8IG1pbilcbiAgICAgICAgICAgICAgICBtaW4gPSB0aGlzLl9kYXRhW2ldO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2RhdGFbaV0gPiBtYXgpXG4gICAgICAgICAgICAgICAgbWF4ID0gdGhpcy5fZGF0YVtpXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByYW5nZSA9IG1heCAtIG1pbjtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl9kYXRhLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgdGhpcy5fZGF0YVtpXSA9IHJhbmdlID09PSAwID8gdGhpcy5fZGF0YVtpXSAtIG1pbiA6ICh0aGlzLl9kYXRhW2ldIC0gbWluKSAvIChtYXggLSBtaW4pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVpHbHpkR0Z1WTJVdGJXRjBjbWw0TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2laR2x6ZEdGdVkyVXRiV0YwY21sNExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVWRCTEU5QlFVOHNSVUZCUXl4TFFVRkxMRVZCUVVNc1RVRkJUU3hUUVVGVExFTkJRVU03UVVGRk9VSXNNa1pCUVRKR08wRkJRek5HTEUxQlFVMHNUMEZCVHl4alFVRmpPMGxCUTNwQ0xFdEJRVXNzUTBGQlpUdEpRVU53UWl4TFFVRkxMRU5CUVZNN1NVRkZaQ3hKUVVGSkxFbEJRVWtzUzBGQmJVSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVVV2UXl4SlFVRkpMRWxCUVVrc1MwRkJZU3hQUVVGUExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlhwRE96czdUMEZIUnp0SlFVTklMRmxCUVZrc1NVRkJiVUlzUlVGQlJTeEpRVUZoTzFGQlF6VkRMRWxCUVVrc1NVRkJTU3hKUVVGSkxGTkJRVk1zUlVGQlJUdFpRVU55UWl4SlFVRkpMRWxCUVVrc1NVRkJTU3hUUVVGVE8yZENRVUZGTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc05FTkJRVFJETEVOQlFVTXNRMEZCUXp0WlFVVnlSaXhKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITEVsQlFVc3NRMEZCUXp0WlFVTnVRaXhKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOb1JTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRPMmRDUVVOMFF5eE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMSFZDUVVGMVFpeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc09FSkJRVGhDTEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJReXhEUVVGRE8xTkJRM1pITzJGQlFVMDdXVUZEVEN4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF6dFpRVU5zUWl4TlFVRk5MRlZCUVZVc1IwRkJWeXhKUVVGSkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMnBFTEVsQlFVa3NTVUZCU1N4RlFVRkZPMmRDUVVOU0xFbEJRVWtzU1VGQlNTeERRVUZETEUxQlFVMHNTVUZCU1N4VlFVRlZPMjlDUVVNelFpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMREJEUVVFd1F5eEpRVUZKTEhsQ1FVRjVRaXhWUVVGVkxFZEJRVWNzUTBGQlF5eERRVUZETzJkQ1FVTjRSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXp0aFFVTnVRanRwUWtGQlRUdG5Ra0ZEVEN4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFbEJRVWtzV1VGQldTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMkZCUXpORE8xTkJRMFk3U1VGRFNDeERRVUZETzBsQlJVOHNXVUZCV1N4RFFVRkRMRU5CUVZNc1JVRkJSU3hEUVVGVE8xRkJRM1pETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGQlJTeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMSFZDUVVGMVFpeERRVUZETEVOQlFVTTdVVUZEZGtRc1QwRkJUeXhKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGJFVXNRMEZCUXp0SlFVVkVMRWRCUVVjc1EwRkJReXhEUVVGVExFVkJRVVVzUTBGQlV6dFJRVU4wUWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRE8xbEJRMUlzVDBGQlR5eERRVUZETEVOQlFVTTdZVUZEVGl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRE8xbEJRMW9zVDBGQlR5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN08xbEJSVE5ETEU5QlFVOHNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJReTlETEVOQlFVTTdTVUZGUkN4SFFVRkhMRU5CUVVNc1EwRkJVeXhGUVVGRkxFTkJRVk1zUlVGQlJTeExRVUZoTzFGQlEzSkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTTdTVUZET1VNc1EwRkJRenRKUVVWRUxFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVOHNTVUZCY1VJc1JVRkJSU3hOUVVGdlF6dFJRVU16UlN4TlFVRk5MRWxCUVVrc1IwRkJWeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzFGQlEycERMRTFCUVUwc1IwRkJSeXhIUVVGSExFbEJRVWtzWTBGQll5eERRVUZETEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOb1JDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXpkQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMmRDUVVOcVF5eHJSRUZCYTBRN1owSkJRMnhFTEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdZVUZEYkVZN1UwRkRSanRSUVVORUxFOUJRVThzUjBGQlJ5eERRVUZETzBsQlEySXNRMEZCUXp0SlFVVkVMSGREUVVGM1F6dEpRVU5xUXl4TlFVRk5PMUZCUTFnc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlR0WlFVTjRReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUTNaRExFTkJRVU03U1VGRlJDd3lRMEZCTWtNN1NVRkRjRU1zUjBGQlJ5eERRVUZETEV0QlFYRkNPMUZCUXpsQ0xFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NTMEZCU3l4TFFVRkxMRU5CUVVNc1MwRkJTenRaUVVNMVFpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMR2RFUVVGblJDeEpRVUZKTEVOQlFVTXNTMEZCU3l4cFFrRkJhVUlzUzBGQlN5eERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkROVWNzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSVHRaUVVONFF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRjRU1zUTBGQlF6dEpRVVZFTERSRFFVRTBRenRKUVVOeVF5eEpRVUZKTzFGQlExUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFpRVU40UXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUXpkRExFTkJRVU03U1VGRlJDeHRRMEZCYlVNN1NVRkROVUlzVTBGQlV6dFJRVU5rTEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOYUxFbEJRVWtzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGVFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlF6RkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhPMmRDUVVOeVFpeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU4wUWl4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnp0blFrRkRja0lzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VTBGRGRrSTdVVUZEUkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlEzaENMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVTdXVUZEZUVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF6VkdMRU5CUVVNN1EwRkRSaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0FxSUdGeklHZHliMnNnWm5KdmJTQW5aR0YwWVdkeWIyc3RZWEJwTDJkeWIyc25PMXh1YVcxd2IzSjBJQ29nWVhNZ2RXa2dabkp2YlNBblpHRjBZV2R5YjJzdFlYQnBMM1ZwSnp0Y2JtbHRjRzl5ZENBcUlHRnpJRVJISUdaeWIyMGdKMlJoZEdGbmNtOXJMV0Z3YVM5a1p5YzdYRzVwYlhCdmNuUWdlMmx6VG1sc2ZTQm1jbTl0SUNjdUwzVjBhV3h6Snp0Y2JseHVMeW9xSUVScGMzUmhibU5sSUcxaGRISnBlQ0JqYkdGemN5QmpiMjF3WVhScFlteGxJSGRwZEdnZ1pHRjBZU0J6ZEhKMVkzUjFjbVVnYjJZZ2MyTnBjSGt1YzNCaGRHbGhiQzVrYVhOMFlXNWpaUzV3WkdsemRDQXFMMXh1Wlhod2IzSjBJR05zWVhOeklFUnBjM1JoYm1ObFRXRjBjbWw0SUh0Y2JpQWdYMlJoZEdFNklFWnNiMkYwTXpKQmNuSmhlVHRjYmlBZ1gzTnBlbVU2SUc1MWJXSmxjanRjYmx4dUlDQm5aWFFnWkdGMFlTZ3BPaUJHYkc5aGRETXlRWEp5WVhrZ2V5QnlaWFIxY200Z2RHaHBjeTVmWkdGMFlUc2dmVnh1WEc0Z0lHZGxkQ0J6YVhwbEtDazZJRzUxYldKbGNpQjdJSEpsZEhWeWJpQjBhR2x6TGw5emFYcGxPeUI5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJ3WVhKaGJTQjdSbXh2WVhRek1rRnljbUY1ZlNCa1lYUmhJRVJwYzNSaGJtTmxJR1JoZEdGY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJSE5wZW1VZ1RuVnRZbVZ5SUc5bUlHOXlhV2RwYm1Gc0lHOWljMlZ5ZG1GMGFXOXVjMXh1SUNBZ0tpOWNiaUFnWTI5dWMzUnlkV04wYjNJb1pHRjBZVDg2SUVac2IyRjBNekpCY25KaGVTd2djMmw2WlQ4NklHNTFiV0psY2lrZ2UxeHVJQ0FnSUdsbUlDaHphWHBsSUQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdhV1lnS0dSaGRHRWdQVDBnZFc1a1pXWnBibVZrS1NCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjBGeVozVnRaVzUwY3lCbGNuSnZjam9nWkdGMFlTQnZjaUJ6YVhwbElHbHpJSEpsY1hWcGNtVmtMaWNwTzF4dVhHNGdJQ0FnSUNCMGFHbHpMbDlrWVhSaElEMGdaR0YwWVNFN1hHNGdJQ0FnSUNCMGFHbHpMbDl6YVhwbElEMGdLREVnS3lCTllYUm9Mbk54Y25Rb01TQXJJRFFnS2lBeUlDb2dkR2hwY3k1ZlpHRjBZUzVzWlc1bmRHZ3BLU0F2SURJN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1ZmMybDZaU0FoUFNCTllYUm9MbVpzYjI5eUtIUm9hWE11WDNOcGVtVXBLVnh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRWx1ZG1Gc2FXUWdaR0YwWVNCc1pXNW5kR2dnSkh0MGFHbHpMbDlrWVhSaExteGxibWQwYUgwZ2JHVmhaSE1nZEc4Z2JtOXVJR2x1ZEdWblpYSWdjMmw2WlNBa2UzUm9hWE11WDNOcGVtVjlZQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9hWE11WDNOcGVtVWdQU0J6YVhwbE8xeHVJQ0FnSUNBZ1kyOXVjM1FnWkdGMFlVeGxibWQwYURvZ2JuVnRZbVZ5SUQwZ2MybDZaU0FxSUNoemFYcGxJQzBnTVNrZ0x5QXlPMXh1SUNBZ0lDQWdhV1lnS0dSaGRHRXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHUmhkR0V1YkdWdVozUm9JQ0U5SUdSaGRHRk1aVzVuZEdncFhHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQkpiblpoYkdsa0lHUmhkR0VnYkdWdVozUm9MaUJQWW5ObGNuWmhkR2x2Ym5NZ2MybDZaU0FrZTNOcGVtVjlJSEpsY1hWcGNtVnpJR1JoZEdFZ2JHVnVaM1JvSUNSN1pHRjBZVXhsYm1kMGFIMHVZQ2s3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVYMlJoZEdFZ1BTQmtZWFJoTzF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NWZaR0YwWVNBOUlHNWxkeUJHYkc5aGRETXlRWEp5WVhrb1pHRjBZVXhsYm1kMGFDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmZiR2x1WldGeWFYcGxTVW9vYVRvZ2JuVnRZbVZ5TENCcU9pQnVkVzFpWlhJcE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUdsbUlDZ2hLR2tnUENCcUtTa2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZHBJRzExYzNRZ1ltVWdiR1Z6Y3lCMGFHRnVJR29uS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmMybDZaU0FxSUdrZ0t5QnFJQzBnVFdGMGFDNW1iRzl2Y2lnb0tHa2dLeUF5S1NBcUlDaHBJQ3NnTVNrcElDOGdNaWs3WEc0Z0lIMWNibHh1SUNCblpYUW9hVG9nYm5WdFltVnlMQ0JxT2lCdWRXMWlaWElwSUh0Y2JpQWdJQ0JwWmlBb2FTQTlQU0JxS1Z4dUlDQWdJQ0FnY21WMGRYSnVJREE3WEc0Z0lDQWdaV3h6WlNCcFppQW9hU0E4SUdvcFhHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWZaR0YwWVZ0MGFHbHpMbDlzYVc1bFlYSnBlbVZKU2locExDQnFLVjA3WEc0Z0lDQWdaV3h6WlZ4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyUmhkR0ZiZEdocGN5NWZiR2x1WldGeWFYcGxTVW9vYWl3Z2FTbGRPMXh1SUNCOVhHNWNiaUFnYzJWMEtHazZJRzUxYldKbGNpd2dham9nYm5WdFltVnlMQ0IyWVd4MVpUb2diblZ0WW1WeUtTQjdYRzRnSUNBZ2RHaHBjeTVmWkdGMFlWdDBhR2x6TGw5c2FXNWxZWEpwZW1WSlNpaHBMQ0JxS1YwZ1BTQjJZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lITjBZWFJwWXlCallXeGpQRlJQWW1vK0tHeHBjM1E2SUVsdVpHVjRZV0pzWlR4VVQySnFQaXdnYldWMGFHOWtPaUFvWVRvZ1ZFOWlhaXdnWWpvZ1ZFOWlhaWtnUFQ0Z2JuVnRZbVZ5S1RvZ1JHbHpkR0Z1WTJWTllYUnlhWGdnZTF4dUlDQWdJR052Ym5OMElITnBlbVU2SUc1MWJXSmxjaUE5SUd4cGMzUXViR1Z1WjNSb08xeHVJQ0FnSUdOdmJuTjBJSEpsY3lBOUlHNWxkeUJFYVhOMFlXNWpaVTFoZEhKcGVDaDFibVJsWm1sdVpXUXNJSE5wZW1VcE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2MybDZaVHNnYVNzcktTQjdYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnYVNBcklERTdJR29nUENCemFYcGxPeUJxS3lzcElIdGNiaUFnSUNBZ0lDQWdMeThnYVdZZ1lXNTVJRzltSUhSb1pTQjJZV3gxWlhNZ2FYTWdiblZzYkN3Z2MyVjBJR1JwYzNSaGJtTmxJSFJ2SURGY2JpQWdJQ0FnSUNBZ2NtVnpMbk5sZENocExDQnFMQ0FoYVhOT2FXd29iR2x6ZEZ0cFhTa2dKaVlnSVdselRtbHNLR3hwYzNSYmFsMHBJRDhnYldWMGFHOWtLR3hwYzNSYmFWMHNJR3hwYzNSYmFsMHBJRG9nTVNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMWNibHh1SUNBdkx5QnpjWFZoY21WeklHVmhZMmdnZG1Gc2RXVWdhVzRnYldGMGNtbDRJR2x1SUhCc1lXTmxYRzRnSUhCMVlteHBZeUJ6Y1hWaGNtVW9LU0I3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IwYUdsekxsOWtZWFJoTG14bGJtZDBhRHNnYVNzcktWeHVJQ0FnSUNBZ2RHaHBjeTVmWkdGMFlWdHBYU0E5SUhSb2FYTXVYMlJoZEdGYmFWMGdLaW9nTWp0Y2JpQWdmVnh1WEc0Z0lDOHZJR0ZrWkhNZ1lXNXZkR2hsY2lCdFlYUnlhWGdnZEc4Z2RHaHBjeUJ2Ym1VZ2FXNGdjR3hoWTJWY2JpQWdjSFZpYkdsaklHRmtaQ2h2ZEdobGNqb2dSR2x6ZEdGdVkyVk5ZWFJ5YVhncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1ZmMybDZaU0FoUFQwZ2IzUm9aWEl1WDNOcGVtVXBYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lFMWhkSEpwWTJWeklHMTFjM1FnYUdGMlpTQjBhR1VnYzJGdFpTQnphWHBsTGlCVWFHbHpJSE5wZW1VNklDUjdkR2hwY3k1ZmMybDZaWDBzSUc5MGFHVnlJSE5wZW1VNklDUjdiM1JvWlhJdVgzTnBlbVY5WUNrN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMGFHbHpMbDlrWVhSaExteGxibWQwYURzZ2FTc3JLVnh1SUNBZ0lDQWdkR2hwY3k1ZlpHRjBZVnRwWFNBclBTQnZkR2hsY2k1ZlpHRjBZVnRwWFR0Y2JpQWdmVnh1WEc0Z0lDOHZJSE54ZFdGeVpTQnliMjkwSUdWaFkyZ2dkbUZzZFdVZ2FXNGdiV0YwY21sNElHbHVJSEJzWVdObFhHNGdJSEIxWW14cFl5QnpjWEowS0NrZ2UxeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVmWkdGMFlTNXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQWdJSFJvYVhNdVgyUmhkR0ZiYVYwZ1BTQk5ZWFJvTG5OeGNuUW9kR2hwY3k1ZlpHRjBZVnRwWFNrN1hHNGdJSDFjYmx4dUlDQXZMMjV2Y20xcGJIcGxJR1JwYzNSaGJtTmxJRzFoZEhKcGVDQnBiaUJ3YkdGalpWeHVJQ0J3ZFdKc2FXTWdibTl5YldGc2FYcGxLQ2tnZTF4dUlDQWdJR3hsZENCdGFXNGdQU0F3TzF4dUlDQWdJR3hsZENCdFlYZ2dQU0IwYUdsekxsOWtZWFJoV3pCZE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVmWkdGMFlTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11WDJSaGRHRmJhVjBnUENCdGFXNHBYRzRnSUNBZ0lDQWdJRzFwYmlBOUlIUm9hWE11WDJSaGRHRmJhVjA3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVmWkdGMFlWdHBYU0ErSUcxaGVDbGNiaUFnSUNBZ0lDQWdiV0Y0SUQwZ2RHaHBjeTVmWkdGMFlWdHBYVHRjYmlBZ0lDQjlYRzRnSUNBZ1kyOXVjM1FnY21GdVoyVWdQU0J0WVhnZ0xTQnRhVzQ3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IwYUdsekxsOWtZWFJoTG14bGJtZDBhRHNnYVNzcktWeHVJQ0FnSUNBZ2RHaHBjeTVmWkdGMFlWdHBYU0E5SUhKaGJtZGxJRDA5UFNBd0lEOGdkR2hwY3k1ZlpHRjBZVnRwWFNBdElHMXBiaUE2SUNoMGFHbHpMbDlrWVhSaFcybGRJQzBnYldsdUtTQXZJQ2h0WVhnZ0xTQnRhVzRwTzF4dUlDQjlYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1NXNWtaWGhoWW14bFBGUlBZbW8rSUh0Y2JpQWdXMmx1WkdWNE9pQnVkVzFpWlhKZE9pQlVUMkpxTzF4dUlDQm5aWFFnYkdWdVozUm9LQ2s2SUc1MWJXSmxjanRjYm4xY2JpSmRmUT09IiwiLyoqIFByb3h5IGZvciBEaXN0YW5jZU1hdHJpeCBjbGFzcy4gQWxsb3dzIHRvIGluZGV4IG1hdHJpeCBhcyBtYXRyaXhbaV1bal1cbiAqIE5vdGU6IG11Y2ggc2xvd2VyIHRoYW4gZGlyZWN0IGluZGV4aW5nLCBidXQgc3RpbGwgbXVjaCBmYXN0ZXIgdGhhbiByZWNhbGN1bGF0aW5nIGRpc3RhbmNlcy5cbiAqIHdpbGwgYmUgdXNlZCBmb3IgVC1TTkUgbWFpbmx5LlxuICogQHBhcmFtIHtGbG9hdDMyQXJyYXl9Y29uZGVuc2VkQXJyYXkgLSBhcnJheSBvZiBkaXN0YW5jZXMgYmV0d2VlbiBhbGwgcGFpcnMgb2Ygb2JqZWN0c1xuICogQHBhcmFtIHtudW1iZXJ9c2l6ZSAtIG51bWJlciBvZiBjb21wYXJlYmxlcyBpbiBtYXRyaXhcbiAqIEByZXR1cm4ge0Zsb2F0MzJBcnJheX0gLSBwcm94eSBmb3IgY29uZGVuc2VkQXJyYXlcbiovXG5leHBvcnQgZnVuY3Rpb24gZGlzdGFuY2VNYXRyaXhQcm94eShjb25kZW5zZWRBcnJheSwgc2l6ZSkge1xuICAgIGNvbnN0IGxpbmVhckZ1bmMgPSBkbUxpbmVhckluZGV4KHNpemUpO1xuICAgIGZ1bmN0aW9uIGxpbmVhckluZGV4KGksIGopIHtcbiAgICAgICAgY29uc3QgaU51bSA9IE51bWJlcihpKTtcbiAgICAgICAgY29uc3Qgak51bSA9IE51bWJlcihqKTtcbiAgICAgICAgcmV0dXJuIGxpbmVhckZ1bmMoaU51bSwgak51bSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlkeDJIYW5kbGVyKGlkeDEpIHtcbiAgICAgICAgcmV0dXJuICh7XG4gICAgICAgICAgICBnZXQodGFyZ2V0LCBpZHgyLCBfcmVjZWl2ZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAoaWR4MSA9PT0gaWR4MilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICAgICAgY29uc3QgbGluZWFySWR4ID0gTnVtYmVyKGlkeDEpID4gTnVtYmVyKGlkeDIpID8gbGluZWFySW5kZXgoaWR4MiwgaWR4MSkgOiBsaW5lYXJJbmRleChpZHgxLCBpZHgyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0W2xpbmVhcklkeF07XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaWR4MUhhbmRsZXIgPSB7XG4gICAgICAgIGdldCh0YXJnZXQsIGlkeDEsIF9yZWNlaXZlcikge1xuICAgICAgICAgICAgaWYgKGlkeDEgPT09ICdsZW5ndGgnKVxuICAgICAgICAgICAgICAgIHJldHVybiBzaXplO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm94eSh0YXJnZXQsIGlkeDJIYW5kbGVyKGlkeDEpKTtcbiAgICAgICAgfSxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgUHJveHkoY29uZGVuc2VkQXJyYXksIGlkeDFIYW5kbGVyKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBkbUxpbmVhckluZGV4KHNpemUpIHtcbiAgICByZXR1cm4gKGksIGopID0+IHNpemUgKiBpICsgaiAtIE1hdGguZmxvb3IoKChpICsgMikgKiAoaSArIDEpKSAvIDIpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pY0hKdmVIa3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKd2NtOTRlUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFUczdPenM3TzBWQlRVVTdRVUZEUml4TlFVRk5MRlZCUVZVc2JVSkJRVzFDTEVOQlFVTXNZMEZCTkVJc1JVRkJSU3hKUVVGWk8wbEJRelZGTEUxQlFVMHNWVUZCVlN4SFFVRkhMR0ZCUVdFc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU4yUXl4VFFVRlRMRmRCUVZjc1EwRkJReXhEUVVGclFpeEZRVUZGTEVOQlFXdENPMUZCUTNwRUxFMUJRVTBzU1VGQlNTeEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOMlFpeE5RVUZOTEVsQlFVa3NSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGRrSXNUMEZCVHl4VlFVRlZMRU5CUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlEyaERMRU5CUVVNN1NVRkZSQ3hUUVVGVExGZEJRVmNzUTBGQlF5eEpRVUZ4UWp0UlFVTjRReXhQUVVGUExFTkJRMHc3V1VGRFJTeEhRVUZITEVOQlFVTXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hUUVVGVE8yZENRVU42UWl4SlFVRkpMRWxCUVVrc1MwRkJTeXhKUVVGSk8yOUNRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMmRDUVVNMVFpeE5RVUZOTEZOQlFWTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMmRDUVVOc1J5eFBRVUZQTEUxQlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVNelFpeERRVUZETzFOQlEwWXNRMEZEUml4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVORUxFMUJRVTBzVjBGQlZ5eEhRVUVyUWp0UlFVTTVReXhIUVVGSExFTkJRVU1zVFVGQlRTeEZRVUZGTEVsQlFVa3NSVUZCUlN4VFFVRlRPMWxCUTNwQ0xFbEJRVWtzU1VGQlNTeExRVUZMTEZGQlFWRTdaMEpCUVVVc1QwRkJUeXhKUVVGSkxFTkJRVU03V1VGRGJrTXNUMEZCVHl4SlFVRkpMRXRCUVVzc1EwRkJReXhOUVVGTkxFVkJRVVVzVjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRPVU1zUTBGQlF6dExRVU5HTEVOQlFVTTdTVUZGUml4UFFVRlBMRWxCUVVrc1MwRkJTeXhEUVVGRExHTkJRV01zUlVGQlJTeFhRVUZYTEVOQlFVTXNRMEZCUXp0QlFVTm9SQ3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdGQlFXRXNRMEZCUXl4SlFVRlpPMGxCUTNoRExFOUJRVThzUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXl4RlFVRkZMRVZCUVVVc1EwRkJReXhKUVVGSkxFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOMFJpeERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVhHNWNiaThxS2lCUWNtOTRlU0JtYjNJZ1JHbHpkR0Z1WTJWTllYUnlhWGdnWTJ4aGMzTXVJRUZzYkc5M2N5QjBieUJwYm1SbGVDQnRZWFJ5YVhnZ1lYTWdiV0YwY21sNFcybGRXMnBkWEc0Z0tpQk9iM1JsT2lCdGRXTm9JSE5zYjNkbGNpQjBhR0Z1SUdScGNtVmpkQ0JwYm1SbGVHbHVaeXdnWW5WMElITjBhV3hzSUcxMVkyZ2dabUZ6ZEdWeUlIUm9ZVzRnY21WallXeGpkV3hoZEdsdVp5QmthWE4wWVc1alpYTXVYRzRnS2lCM2FXeHNJR0psSUhWelpXUWdabTl5SUZRdFUwNUZJRzFoYVc1c2VTNWNiaUFxSUVCd1lYSmhiU0I3Um14dllYUXpNa0Z5Y21GNWZXTnZibVJsYm5ObFpFRnljbUY1SUMwZ1lYSnlZWGtnYjJZZ1pHbHpkR0Z1WTJWeklHSmxkSGRsWlc0Z1lXeHNJSEJoYVhKeklHOW1JRzlpYW1WamRITmNiaUFxSUVCd1lYSmhiU0I3Ym5WdFltVnlmWE5wZW1VZ0xTQnVkVzFpWlhJZ2IyWWdZMjl0Y0dGeVpXSnNaWE1nYVc0Z2JXRjBjbWw0WEc0Z0tpQkFjbVYwZFhKdUlIdEdiRzloZERNeVFYSnlZWGw5SUMwZ2NISnZlSGtnWm05eUlHTnZibVJsYm5ObFpFRnljbUY1WEc0cUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHUnBjM1JoYm1ObFRXRjBjbWw0VUhKdmVIa29ZMjl1WkdWdWMyVmtRWEp5WVhrNklFWnNiMkYwTXpKQmNuSmhlU3dnYzJsNlpUb2diblZ0WW1WeUtUb2dSbXh2WVhRek1rRnljbUY1SUh0Y2JpQWdZMjl1YzNRZ2JHbHVaV0Z5Um5WdVl5QTlJR1J0VEdsdVpXRnlTVzVrWlhnb2MybDZaU2s3WEc0Z0lHWjFibU4wYVc5dUlHeHBibVZoY2tsdVpHVjRLR2s2SUhONWJXSnZiQ0I4SUhOMGNtbHVaeXdnYWpvZ2MzbHRZbTlzSUh3Z2MzUnlhVzVuS1NCN1hHNGdJQ0FnWTI5dWMzUWdhVTUxYlNBOUlFNTFiV0psY2locEtUdGNiaUFnSUNCamIyNXpkQ0JxVG5WdElEMGdUblZ0WW1WeUtHb3BPMXh1SUNBZ0lISmxkSFZ5YmlCc2FXNWxZWEpHZFc1aktHbE9kVzBzSUdwT2RXMHBPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnYVdSNE1raGhibVJzWlhJb2FXUjRNVG9nYzNsdFltOXNJSHdnYzNSeWFXNW5LVHBRY205NGVVaGhibVJzWlhJOFJteHZZWFF6TWtGeWNtRjVQaUI3WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdaMlYwS0hSaGNtZGxkQ3dnYVdSNE1pd2dYM0psWTJWcGRtVnlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR2xrZURFZ1BUMDlJR2xrZURJcElISmxkSFZ5YmlBd08xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHeHBibVZoY2tsa2VDQTlJRTUxYldKbGNpaHBaSGd4S1NBK0lFNTFiV0psY2locFpIZ3lLU0EvSUd4cGJtVmhja2x1WkdWNEtHbGtlRElzSUdsa2VERXBJRG9nYkdsdVpXRnlTVzVrWlhnb2FXUjRNU3dnYVdSNE1pazdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJoY21kbGRGdHNhVzVsWVhKSlpIaGRPMXh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ2s3WEc0Z0lIMWNiaUFnWTI5dWMzUWdhV1I0TVVoaGJtUnNaWEk2SUZCeWIzaDVTR0Z1Wkd4bGNqeEdiRzloZERNeVFYSnlZWGsrSUQwZ2UxeHVJQ0FnSUdkbGRDaDBZWEpuWlhRc0lHbGtlREVzSUY5eVpXTmxhWFpsY2lrZ2UxeHVJQ0FnSUNBZ2FXWWdLR2xrZURFZ1BUMDlJQ2RzWlc1bmRHZ25LU0J5WlhSMWNtNGdjMmw2WlR0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VISnZlSGtvZEdGeVoyVjBMQ0JwWkhneVNHRnVaR3hsY2locFpIZ3hLU2s3WEc0Z0lDQWdmU3hjYmlBZ2ZUdGNibHh1SUNCeVpYUjFjbTRnYm1WM0lGQnliM2g1S0dOdmJtUmxibk5sWkVGeWNtRjVMQ0JwWkhneFNHRnVaR3hsY2lrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJrYlV4cGJtVmhja2x1WkdWNEtITnBlbVU2SUc1MWJXSmxjaWs2SUNocE9pQnVkVzFpWlhJc0lHbzZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUNocE9pQnVkVzFpWlhJc0lHbzZJRzUxYldKbGNpa2dQVDRnYzJsNlpTQXFJR2tnS3lCcUlDMGdUV0YwYUM1bWJHOXZjaWdvS0drZ0t5QXlLU0FxSUNocElDc2dNU2twSUM4Z01pazdYRzU5WEc0aVhYMD0iLCJpbXBvcnQgeyBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZSwgZmlsbFJhbmRvbU1hdHJpeCwgdmVjdG9yQWRkLCB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3ZlY3Rvci1vcGVyYXRpb25zJztcbmltcG9ydCB7IHJhbmRvbUludCB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3JhbmRvbSc7XG5pbXBvcnQgeyBEaXN0YW5jZU1hdHJpeFNlcnZpY2UsIGRtTGluZWFySW5kZXggfSBmcm9tICcuL2Rpc3RhbmNlLW1hdHJpeCc7XG4vKipcbiAqIEltcGxlbWVudHMgc3RvY2hhc3RpYyBwcm94aW1pdHkgZW1iZWRkaW5nLlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBTUEVCYXNlXG4gKiBAbGluayBkb2k6MTAuMTAxNi9TMTA5My0zMjYzKDAzKTAwMTU1LTRcbiAqL1xuY2xhc3MgU1BFQmFzZSB7XG4gICAgc3RhdGljIGRpbWVuc2lvbiA9IDI7XG4gICAgc3RlcHM7XG4gICAgY3ljbGVzO1xuICAgIGN1dG9mZjtcbiAgICBsYW1iZGE7XG4gICAgZGxhbWJkYTtcbiAgICBsYW1iZGEyO1xuICAgIGRsYW1iZGEyO1xuICAgIGVwc2lsb247XG4gICAgZGlzdGFuY2VGdW5jdGlvbjtcbiAgICBkaXN0YW5jZUZ1bmN0aW9uTmFtZTtcbiAgICBkaXN0YW5jZTtcbiAgICBkbUluZGV4RnVuY3Q7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBTUEVCYXNlLlxuICAgICAqIEBwYXJhbSB7T3B0aW9uc30gW29wdGlvbnNdIE9wdGlvbnMgdG8gcGFzcyB0byB0aGUgY29uc3RydWN0b3IuXG4gICAgICogQG1lbWJlcm9mIFNQRUJhc2VcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuc3RlcHMgPSBvcHRpb25zPy5zdGVwcyA/PyAwO1xuICAgICAgICB0aGlzLmN5Y2xlcyA9IG9wdGlvbnM/LmN5Y2xlcyA/PyAxZTY7XG4gICAgICAgIC8vIFNlbGVjdCBhIGN1dG9mZiBkaXN0YW5jZSB7Y3V0b2ZmfSBhbmQgLi4uXG4gICAgICAgIHRoaXMuY3V0b2ZmID0gb3B0aW9ucz8uY3V0b2ZmID8/IDA7XG4gICAgICAgIC8vIC4uLiBhbiBpbml0aWFsIGxlYXJuaW5nIHJhdGUge2xhbWJkYX0gPiAwXG4gICAgICAgIHRoaXMubGFtYmRhID0gb3B0aW9ucz8ubGFtYmRhID8/IDIuMDtcbiAgICAgICAgdGhpcy5kbGFtYmRhID0gb3B0aW9ucz8uZGxhbWJkYSA/PyAwLjAxO1xuICAgICAgICB0aGlzLmxhbWJkYTIgPSB0aGlzLmxhbWJkYSAvIDIuO1xuICAgICAgICB0aGlzLmRsYW1iZGEyID0gdGhpcy5kbGFtYmRhIC8gMi47XG4gICAgICAgIHRoaXMuZXBzaWxvbiA9IG9wdGlvbnM/LmVwc2lsb24gPz8gMWUtMTA7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBicmFjZS1zdHlsZVxuICAgICAgICB0aGlzLmRpc3RhbmNlRnVuY3Rpb24gPSBvcHRpb25zPy5kaXN0YW5jZSA/PyBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZTtcbiAgICAgICAgdGhpcy5kaXN0YW5jZSA9IG5ldyBGbG9hdDMyQXJyYXkoKTtcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZ1bmN0aW9uTmFtZSA9IG9wdGlvbnM/LmRpc3RhbmNlRnVuY3Rpb25OYW1lO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBkaXN0YW5jZSBtYXRyaXguXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1ZlY3RvcnN9IHZlY3RvcnMgSW5wdXQgdmVjdG9ycyB0byBjYWxjdWxhdGUgZGlzdGFuY2UgYmV0d2Vlbi5cbiAgICAgKiBAbWVtYmVyb2YgU1BFQmFzZVxuICAgICAqL1xuICAgIGFzeW5jIGluaXREaXN0YW5jZSh2ZWN0b3JzKSB7XG4gICAgICAgIHRoaXMuZG1JbmRleEZ1bmN0ID0gZG1MaW5lYXJJbmRleCh2ZWN0b3JzLmxlbmd0aCk7XG4gICAgICAgIGNvbnN0IG1hdHJpeFNlcnZpY2UgPSBuZXcgRGlzdGFuY2VNYXRyaXhTZXJ2aWNlKHRydWUsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5kaXN0YW5jZSA9IGF3YWl0IG1hdHJpeFNlcnZpY2UuY2FsYyh2ZWN0b3JzLCB0aGlzLmRpc3RhbmNlRnVuY3Rpb25OYW1lKTtcbiAgICAgICAgbWF0cml4U2VydmljZS50ZXJtaW5hdGUoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB0d28gdmVjdG9ycyBnaXZlbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7VmVjdG9yc30gdmVjdG9ycyBTZXQgb2YgdmVjdG9ycyB0byBjYWxjdWxhdGUgZGlzdGFuY2VzIGJldHdlZW4uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4MSBJbmRleCBvZiB0aGUgZmlyc3QgdmVjdG9yIG9mIHRoZSBwYWlyLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleDIgSW5kZXggb2YgdGhlIHNlY29uZCB2ZWN0b3Igb2YgdGhlIHBhaXIuXG4gICAgICogQHJldHVybiB7bnVtYmVyfSBEaXN0YW5jZSBiZXR3ZWVuIHRoZXNlIHR3byB2ZWN0b3JzLlxuICAgICAqL1xuICAgIGNhbGNEaXN0YW5jZSh2ZWN0b3JzLCBpbmRleDEsIGluZGV4Mikge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXN0YW5jZVt0aGlzLmRtSW5kZXhGdW5jdChpbmRleDEsIGluZGV4MildO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWJlZHMgdGhlIHZlY3RvcnMgZ2l2ZW4gaW50byBhIHR3by1kaW1lbnNpb25hbCBzcGFjZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7VmVjdG9yc30gdmVjdG9ycyBELWRpbWVuc2lvbmFsIGNvb3JkaW5hdGVzLlxuICAgICAqIEByZXR1cm4ge0Nvb3JkaW5hdGVzfSBTUEUgY29vcmRpbmF0ZXMgaW4gRCBzcGFjZS5cbiAgICAgKi9cbiAgICBhc3luYyBlbWJlZCh2ZWN0b3JzKSB7XG4gICAgICAgIGNvbnN0IG5JdGVtcyA9IHZlY3RvcnMubGVuZ3RoO1xuICAgICAgICBjb25zdCBhcmVhV2lkdGggPSA0MDtcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgRC1kaW1lbnNpb25hbCBjb29yZGluYXRlcyBvZiB0aGUgTiBwb2ludHMuXG4gICAgICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gZmlsbFJhbmRvbU1hdHJpeChuSXRlbXMsIFNQRUJhc2UuZGltZW5zaW9uLCBhcmVhV2lkdGgpO1xuICAgICAgICBsZXQgbGFtYmRhMiA9IHRoaXMubGFtYmRhMjtcbiAgICAgICAgaWYgKHRoaXMuc3RlcHMgPT09IDApXG4gICAgICAgICAgICB0aGlzLnN0ZXBzID0gdmVjdG9ycy5sZW5ndGggLSAxO1xuICAgICAgICBhd2FpdCB0aGlzLmluaXREaXN0YW5jZSh2ZWN0b3JzKTtcbiAgICAgICAgZm9yIChsZXQgY3ljbGUgPSAwOyBjeWNsZSA8IHRoaXMuY3ljbGVzOyArK2N5Y2xlKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBzdGVwID0gMDsgc3RlcCA8IHRoaXMuc3RlcHM7ICsrc3RlcCkge1xuICAgICAgICAgICAgICAgIC8vIFNlbGVjdCB0d28gcG9pbnRzLCBpIGFuZCBqLCBhdCByYW5kb20sIC4uLlxuICAgICAgICAgICAgICAgIGNvbnN0IGkgPSByYW5kb21JbnQobkl0ZW1zKTtcbiAgICAgICAgICAgICAgICBsZXQgaiA9IHJhbmRvbUludChuSXRlbXMpO1xuICAgICAgICAgICAgICAgIHdoaWxlIChpID09IGopXG4gICAgICAgICAgICAgICAgICAgIGogPSByYW5kb21JbnQobkl0ZW1zKTtcbiAgICAgICAgICAgICAgICBjb25zdCByb3dpID0gY29vcmRpbmF0ZXNbaV07XG4gICAgICAgICAgICAgICAgY29uc3Qgcm93aiA9IGNvb3JkaW5hdGVzW2pdO1xuICAgICAgICAgICAgICAgIC8vIC4uLiByZXRyaWV2ZSAob3IgZXZhbHVhdGUpIHRoZWlyIHByb3hpbWl0eSBpbiB0aGUgaW5wdXQgc3BhY2UsIHJpaiBhbmQgLi4uXG4gICAgICAgICAgICAgICAgY29uc3QgciA9IHRoaXMuY2FsY0Rpc3RhbmNlKHZlY3RvcnMsIGksIGopO1xuICAgICAgICAgICAgICAgIC8vIC4uLiBjb21wdXRlIHRoZWlyIEV1Y2xpZGVhbiBkaXN0YW5jZSBvbiB0aGUgRC1kaW1lbnNpb25hbCBtYXAsIGRpai5cbiAgICAgICAgICAgICAgICBjb25zdCBkID0gY2FsY3VsYXRlRXVjbGlkZWFuRGlzdGFuY2Uocm93aSwgcm93aik7XG4gICAgICAgICAgICAgICAgLy8gSWYgcmlqIDw9IHJjLCBvciBpZiByaWogPiByYyBhbmQgZGlqIDwgcmlqIC4uLlxuICAgICAgICAgICAgICAgIGlmICgodGhpcy5jdXRvZmYgPT0gMCkgfHwgKHIgPD0gdGhpcy5jdXRvZmYpIHx8IChkIDwgcikpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbXVsdGlwbGllciA9IGxhbWJkYTIgKiAociAtIGQpIC8gKGQgKyB0aGlzLmVwc2lsb24pO1xuICAgICAgICAgICAgICAgICAgICAvLyAuLi4gdXBkYXRlIHRoZSBjb29yZGluYXRlcyB4aSBhbmQgeGouXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpZmZJSiA9IHZlY3RvckFkZChyb3dpLCByb3dqLCAtMSk7XG4gICAgICAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzW2ldID0gdmVjdG9yQWRkKHJvd2ksIGRpZmZJSiwgbXVsdGlwbGllcik7XG4gICAgICAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzW2pdID0gdmVjdG9yQWRkKHJvd2osIGRpZmZJSiwgLW11bHRpcGxpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIERlY3JlYXNlIHRoZSBsZWFybmluZyByYXRlIHtsYW1iZGF9IGJ5IGEgcHJlc2NyaWJlZCB7ZGxhbWJkYX0uXG4gICAgICAgICAgICBsYW1iZGEyIC09IHRoaXMuZGxhbWJkYTI7XG4gICAgICAgICAgICBpZiAobGFtYmRhMiA8PSAwLilcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29vcmRpbmF0ZXM7XG4gICAgfVxufVxuZXhwb3J0IHsgU1BFQmFzZSB9O1xuLyoqXG4gKiBJbXBsZW1lbnRzIG1vZGlmaWVkIHN0b2NoYXN0aWMgcHJveGltaXR5IGVtYmVkZGluZy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgUFNQRUJhc2VcbiAqIEBsaW5rIGRvaToxMC4xMDE2L1MxMDkzLTMyNjMoMDMpMDAxNTUtNFxuICovXG5leHBvcnQgY2xhc3MgUFNQRUJhc2UgZXh0ZW5kcyBTUEVCYXNlIHtcbiAgICAvKipcbiAgICAgKiBFbWJlZHMgdGhlIHZlY3RvcnMgZ2l2ZW4gaW50byBhIHR3by1kaW1lbnNpb25hbCBzcGFjZSB1c2luZyBhIG1vZGlmaWVkIHVwZGF0ZSBydWxlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtWZWN0b3JzfSB2ZWN0b3JzIEQtZGltZW5zaW9uYWwgY29vcmRpbmF0ZXMuXG4gICAgICogQHJldHVybiB7Q29vcmRpbmF0ZXN9IFNQRSBjb29yZGluYXRlcyBpbiBEIHNwYWNlLlxuICAgICAqL1xuICAgIGFzeW5jIGVtYmVkKHZlY3RvcnMpIHtcbiAgICAgICAgY29uc3Qgbkl0ZW1zID0gdmVjdG9ycy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGFyZWFXaWR0aCA9IDQwO1xuICAgICAgICAvLyAgSW5pdGlhbGl6ZSB0aGUgRC1kaW1lbnNpb25hbCBjb29yZGluYXRlcyBvZiB0aGUgTiBwb2ludHMuXG4gICAgICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gZmlsbFJhbmRvbU1hdHJpeChuSXRlbXMsIFBTUEVCYXNlLmRpbWVuc2lvbiwgYXJlYVdpZHRoKTtcbiAgICAgICAgbGV0IGxhbWJkYSA9IHRoaXMubGFtYmRhO1xuICAgICAgICBhd2FpdCB0aGlzLmluaXREaXN0YW5jZSh2ZWN0b3JzKTtcbiAgICAgICAgZm9yIChsZXQgY3ljbGUgPSAwOyBjeWNsZSA8IHRoaXMuY3ljbGVzOyArK2N5Y2xlKSB7XG4gICAgICAgICAgICAvLyBTZWxlY3QgYSBwb2ludCwgaSwgYXQgcmFuZG9tIChwaXZvdCkuXG4gICAgICAgICAgICBjb25zdCBpID0gcmFuZG9tSW50KG5JdGVtcyk7XG4gICAgICAgICAgICBjb25zdCByb3dpID0gY29vcmRpbmF0ZXNbaV07XG4gICAgICAgICAgICAvLyBGb3IgZXZlcnkgcG9pbnQgaiAhPSBpIC4uLlxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBuSXRlbXM7ICsraikge1xuICAgICAgICAgICAgICAgIGlmIChpID09IGopXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvd2ogPSBjb29yZGluYXRlc1tqXTtcbiAgICAgICAgICAgICAgICAvLyAuLi4gcmV0cmlldmUgKG9yIGV2YWx1YXRlKSBpdHMgcHJveGltaXR5IHRvIGkgaW4gdGhlIGlucHV0IHNwYWNlLCByaWogLi4uXG4gICAgICAgICAgICAgICAgY29uc3QgciA9IHRoaXMuY2FsY0Rpc3RhbmNlKHZlY3RvcnMsIGksIGopO1xuICAgICAgICAgICAgICAgIC8vIC4uLiBhbmQgY29tcHV0ZSB0aGVpciBFdWNsaWRlYW4gZGlzdGFuY2Ugb24gdGhlIEQtZGltZW5zaW9uYWwgbWFwLCBkaWouXG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IGNhbGN1bGF0ZUV1Y2xpZGVhbkRpc3RhbmNlKHJvd2ksIHJvd2opO1xuICAgICAgICAgICAgICAgIC8vIElmIHJpaiA8PSByYywgb3IgaWYgcmlqID4gcmMgYW5kIGRpaiA8IHJpaiAuLi5cbiAgICAgICAgICAgICAgICBpZiAoKHRoaXMuY3V0b2ZmID09IDApIHx8IChyIDw9IHRoaXMuY3V0b2ZmKSB8fCAoZCA8IHIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG11bHRpcGxpZXIgPSBsYW1iZGEgKiAociAtIGQpIC8gKGQgKyB0aGlzLmVwc2lsb24pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaWZmSUogPSB2ZWN0b3JBZGQocm93aSwgcm93aiwgLTEpO1xuICAgICAgICAgICAgICAgICAgICAvLyAuLi4gdXBkYXRlIHRoZSBjb29yZGluYXRlcyB4ai5cbiAgICAgICAgICAgICAgICAgICAgY29vcmRpbmF0ZXNbal0gPSB2ZWN0b3JBZGQocm93aiwgZGlmZklKLCAtbXVsdGlwbGllcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRGVjcmVhc2UgdGhlIGxlYXJuaW5nIHJhdGUge2xhbWJkYX0gYnkgYSBwcmVzY3JpYmVkIHtkbGFtYmRhfS5cbiAgICAgICAgICAgIGxhbWJkYSAtPSB0aGlzLmRsYW1iZGE7XG4gICAgICAgICAgICBpZiAobGFtYmRhIDw9IDAuKVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb29yZGluYXRlcztcbiAgICB9XG59XG4vKipcbiAqIEltcGxlbWVudHMgbW9kaWZpZWQgc3RvY2hhc3RpYyBwcm94aW1pdHkgZW1iZWRkaW5nLlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBPcmlnaW5hbFNQRVxuICogQGxpbmsgZG9pOjEwLjEwMDIvamNjLjEwMjM0XG4gKi9cbmV4cG9ydCBjbGFzcyBPcmlnaW5hbFNQRSBleHRlbmRzIFNQRUJhc2Uge1xuICAgIC8qKlxuICAgICAqIEVtYmVkcyB0aGUgdmVjdG9ycyBnaXZlbiBpbnRvIGEgdHdvLWRpbWVuc2lvbmFsIHNwYWNlIHVzaW5nIGEgbW9kaWZpZWQgdXBkYXRlIHJ1bGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1ZlY3RvcnN9IHZlY3RvcnMgRC1kaW1lbnNpb25hbCBjb29yZGluYXRlcy5cbiAgICAgKiBAcmV0dXJuIHtDb29yZGluYXRlc30gU1BFIGNvb3JkaW5hdGVzIGluIEQgc3BhY2UuXG4gICAgICovXG4gICAgcmFkaXVzUGVyY2VudDtcbiAgICBtYXhEaXN0YW5jZTtcbiAgICBtYXhEaXN0YW5jZVN0ZXBzO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMuY3ljbGVzID0gb3B0aW9ucz8uY3ljbGVzID8/IDFlMztcbiAgICAgICAgdGhpcy5zdGVwcyA9IG9wdGlvbnM/LnN0ZXBzID8/IDEwMDAwMDtcbiAgICAgICAgdGhpcy5yYWRpdXNQZXJjZW50ID0gb3B0aW9ucz8ucmFkaXVzUGVyY2VudCA/PyAxLjA7XG4gICAgICAgIHRoaXMubWF4RGlzdGFuY2UgPSBvcHRpb25zPy5tYXhEaXN0YW5jZSA/PyBudWxsO1xuICAgICAgICB0aGlzLm1heERpc3RhbmNlU3RlcHMgPSBvcHRpb25zPy5tYXhEaXN0YW5jZVN0ZXBzID8/IG51bGw7XG4gICAgfVxuICAgIGFzeW5jIGVtYmVkKHZlY3RvcnMpIHtcbiAgICAgICAgY29uc3Qgbkl0ZW1zID0gdmVjdG9ycy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGFyZWFXaWR0aCA9IDQwO1xuICAgICAgICAvLyBJbml0aWFsaXplIHRoZSBELWRpbWVuc2lvbmFsIGNvb3JkaW5hdGVzIG9mIHRoZSBOIHBvaW50cy5cbiAgICAgICAgY29uc3QgY29vcmRpbmF0ZXMgPSBmaWxsUmFuZG9tTWF0cml4KG5JdGVtcywgT3JpZ2luYWxTUEUuZGltZW5zaW9uLCBhcmVhV2lkdGgpO1xuICAgICAgICBhd2FpdCB0aGlzLmluaXREaXN0YW5jZSh2ZWN0b3JzKTtcbiAgICAgICAgaWYgKHRoaXMubWF4RGlzdGFuY2VTdGVwcyA9PT0gbnVsbClcbiAgICAgICAgICAgIHRoaXMubWF4RGlzdGFuY2VTdGVwcyA9IG5JdGVtcyAqIE1hdGguZmxvb3IoKG5JdGVtcyAtIDEpIC8gMik7XG4gICAgICAgIGlmICh0aGlzLm1heERpc3RhbmNlID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLm1heERpc3RhbmNlID0gLTFlMzc7XG4gICAgICAgICAgICBmb3IgKGxldCBuID0gMDsgbiA8IHRoaXMubWF4RGlzdGFuY2VTdGVwczsgbisrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaSA9IHJhbmRvbUludChuSXRlbXMpO1xuICAgICAgICAgICAgICAgIGxldCBqID0gcmFuZG9tSW50KG5JdGVtcyk7XG4gICAgICAgICAgICAgICAgd2hpbGUgKGkgPT0gailcbiAgICAgICAgICAgICAgICAgICAgaiA9IHJhbmRvbUludChuSXRlbXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGQgPSB0aGlzLmNhbGNEaXN0YW5jZSh2ZWN0b3JzLCBpLCBqKTtcbiAgICAgICAgICAgICAgICBpZiAoZCA+IHRoaXMubWF4RGlzdGFuY2UpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWF4RGlzdGFuY2UgPSBkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxldCBsYW1iZGEgPSB0aGlzLmxhbWJkYTtcbiAgICAgICAgY29uc3QgcmFkaXVzID0gKHRoaXMucmFkaXVzUGVyY2VudCA9PSAwLjApID8gdGhpcy5tYXhEaXN0YW5jZSA6IHRoaXMubWF4RGlzdGFuY2UgKiB0aGlzLnJhZGl1c1BlcmNlbnQ7XG4gICAgICAgIGZvciAobGV0IGN5Y2xlID0gMDsgY3ljbGUgPCB0aGlzLmN5Y2xlczsgKytjeWNsZSkge1xuICAgICAgICAgICAgZm9yIChsZXQgc3RlcCA9IDA7IHN0ZXAgPCB0aGlzLnN0ZXBzOyArK3N0ZXApIHtcbiAgICAgICAgICAgICAgICAvLyBTZWxlY3QgdHdvIHBvaW50cywgaSBhbmQgaiwgYXQgcmFuZG9tLCAuLi5cbiAgICAgICAgICAgICAgICBjb25zdCBpID0gcmFuZG9tSW50KG5JdGVtcyk7XG4gICAgICAgICAgICAgICAgbGV0IGogPSByYW5kb21JbnQobkl0ZW1zKTtcbiAgICAgICAgICAgICAgICB3aGlsZSAoaSA9PSBqKVxuICAgICAgICAgICAgICAgICAgICBqID0gcmFuZG9tSW50KG5JdGVtcyk7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm93aSA9IGNvb3JkaW5hdGVzW2ldO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvd2ogPSBjb29yZGluYXRlc1tqXTtcbiAgICAgICAgICAgICAgICAvLyByZXRyaWV2ZSAob3IgZXZhbHVhdGUpIHRoZWlyIHByb3hpbWl0eSBpbiB0aGUgaW5wdXQgc3BhY2UsIHJpaiBhbmQgLi4uXG4gICAgICAgICAgICAgICAgY29uc3QgciA9IHRoaXMuY2FsY0Rpc3RhbmNlKHZlY3RvcnMsIGksIGopO1xuICAgICAgICAgICAgICAgIC8vIGNvbXB1dGUgdGhlaXIgRXVjbGlkZWFuIGRpc3RhbmNlIG9uIHRoZSBELWRpbWVuc2lvbmFsIG1hcCwgZGlqLlxuICAgICAgICAgICAgICAgIGNvbnN0IGQgPSBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZShyb3dpLCByb3dqKTtcbiAgICAgICAgICAgICAgICBpZiAoKHIgPD0gcmFkaXVzKSB8fCAoZCA8IHIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG11bHRpcGxpZXIgPSBsYW1iZGEgKiAwLjUgKiAociAtIGQpIC8gKGQgKyB0aGlzLmVwc2lsb24pO1xuICAgICAgICAgICAgICAgICAgICAvLyAuLi4gdXBkYXRlIHRoZSBjb29yZGluYXRlcyB4aSBhbmQgeGouXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpZmZJSiA9IHZlY3RvckFkZChyb3dpLCByb3dqLCAtMSk7XG4gICAgICAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzW2ldID0gdmVjdG9yQWRkKHJvd2ksIGRpZmZJSiwgbXVsdGlwbGllcik7XG4gICAgICAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzW2pdID0gdmVjdG9yQWRkKHJvd2osIGRpZmZJSiwgLW11bHRpcGxpZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhbWJkYSAtPSAoKHRoaXMubGFtYmRhIC0gdGhpcy5kbGFtYmRhKSAvICh0aGlzLmN5Y2xlcyAtIDEuMCkpO1xuICAgICAgICAgICAgO1xuICAgICAgICAgICAgaWYgKGxhbWJkYSA8IHRoaXMuZGxhbWJkYSlcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29vcmRpbmF0ZXM7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYzNCbExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpYzNCbExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVU5CTEU5QlFVOHNSVUZEVEN3d1FrRkJNRUlzUlVGRE1VSXNaMEpCUVdkQ0xFVkJRMmhDTEZOQlFWTXNSMEZEVml4TlFVRk5MR2xFUVVGcFJDeERRVUZETzBGQlEzcEVMRTlCUVU4c1JVRkJReXhUUVVGVExFVkJRVU1zVFVGQlRTeHpRMEZCYzBNc1EwRkJRenRCUVVVdlJDeFBRVUZQTEVWQlFVTXNjVUpCUVhGQ0xFVkJRVVVzWVVGQllTeEZRVUZETEUxQlFVMHNiVUpCUVcxQ0xFTkJRVU03UVVGRmRrVTdPenM3T3p0SFFVMUhPMEZCUTBnc1RVRkJZU3hQUVVGUE8wbEJRMUlzVFVGQlRTeERRVUZETEZOQlFWTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRja0lzUzBGQlN5eERRVUZUTzBsQlEyUXNUVUZCVFN4RFFVRlRPMGxCUTJZc1RVRkJUU3hEUVVGVE8wbEJRMllzVFVGQlRTeERRVUZUTzBsQlEyWXNUMEZCVHl4RFFVRlRPMGxCUTJoQ0xFOUJRVThzUTBGQlV6dEpRVU5vUWl4UlFVRlJMRU5CUVZNN1NVRkRha0lzVDBGQlR5eERRVUZUTzBsQlEyaENMR2RDUVVGblFpeERRVUZwUWp0SlFVTnFReXh2UWtGQmIwSXNRMEZCWlR0SlFVTTNReXhSUVVGUkxFTkJRV1U3U1VGRFlpeFpRVUZaTEVOQlFXOURPMGxCUlRGRU96czdPMDlCU1VjN1NVRkRTQ3haUVVGWkxFOUJRV2xDTzFGQlF6TkNMRWxCUVVrc1EwRkJReXhMUVVGTExFZEJRVWNzVDBGQlR5eEZRVUZGTEV0QlFVc3NTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRha01zU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4UFFVRlBMRVZCUVVVc1RVRkJUU3hKUVVGSkxFZEJRVWNzUTBGQlF6dFJRVU55UXl3MFEwRkJORU03VVVGRE5VTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhQUVVGUExFVkJRVVVzVFVGQlRTeEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTnVReXcwUTBGQk5FTTdVVUZETlVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eFBRVUZQTEVWQlFVVXNUVUZCVFN4SlFVRkpMRWRCUVVjc1EwRkJRenRSUVVOeVF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRTlCUVU4c1JVRkJSU3hQUVVGUExFbEJRVWtzU1VGQlNTeERRVUZETzFGQlEzaERMRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4RlFVRkZMRU5CUVVNN1VVRkRhRU1zU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSExFVkJRVVVzUTBGQlF6dFJRVU5zUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSExFOUJRVThzUlVGQlJTeFBRVUZQTEVsQlFVa3NTMEZCU3l4RFFVRkRPMUZCUTNwRExIVkRRVUYxUXp0UlFVTjJReXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRWRCUVVjc1QwRkJUeXhGUVVGRkxGRkJRVkVzU1VGQlNTd3dRa0ZCTUVJc1EwRkJRenRSUVVONFJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMRWxCUVVrc1dVRkJXU3hGUVVGRkxFTkJRVU03VVVGRGJrTXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeEhRVUZITEU5QlFVOHNSVUZCUlN4dlFrRkJjVUlzUTBGQlF6dEpRVU0zUkN4RFFVRkRPMGxCUlVRN096czdPMDlCUzBjN1NVRkRUeXhMUVVGTExFTkJRVU1zV1VGQldTeERRVUZETEU5QlFXZENPMUZCUXpORExFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NZVUZCWVN4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU5zUkN4TlFVRk5MR0ZCUVdFc1IwRkJSeXhKUVVGSkxIRkNRVUZ4UWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU0zUkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hIUVVGSExFMUJRVTBzWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNN1VVRkROMFVzWVVGQllTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUXpWQ0xFTkJRVU03U1VGRlJEczdPenM3T3p0UFFVOUhPMGxCUTA4c1dVRkJXU3hEUVVGRExFOUJRV2RDTEVWQlFVVXNUVUZCWXl4RlFVRkZMRTFCUVdNN1VVRkRja1VzVDBGQlR5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGaExFTkJRVU1zVFVGQlRTeEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRNMFFzUTBGQlF6dEpRVVZFT3pzN096dFBRVXRITzBsQlEwa3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhQUVVGblFqdFJRVU5xUXl4TlFVRk5MRTFCUVUwc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETzFGQlF6bENMRTFCUVUwc1UwRkJVeXhIUVVGSExFVkJRVVVzUTBGQlF6dFJRVU55UWl3MFJFRkJORVE3VVVGRE5VUXNUVUZCVFN4WFFVRlhMRWRCUVVjc1owSkJRV2RDTEVOQlFVTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1EwRkJReXhUUVVGVExFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVTTdVVUZGTTBVc1NVRkJTU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXp0UlFVVXpRaXhKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEV0QlFVc3NRMEZCUXp0WlFVTnNRaXhKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZITEU5QlFVOHNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJSMnhETEUxQlFVMHNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVVZxUXl4TFFVRkxMRWxCUVVrc1MwRkJTeXhIUVVGSExFTkJRVU1zUlVGQlJTeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJUdFpRVU5vUkN4TFFVRkxMRWxCUVVrc1NVRkJTU3hIUVVGSExFTkJRVU1zUlVGQlJTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGQlJUdG5Ra0ZETlVNc05rTkJRVFpETzJkQ1FVTTNReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1owSkJRelZDTEVsQlFVa3NRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dG5Ra0ZETVVJc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF6dHZRa0ZCUlN4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzJkQ1FVVnlReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eFhRVUZYTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRelZDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZGTlVJc05rVkJRVFpGTzJkQ1FVTTNSU3hOUVVGTkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdaMEpCUXpORExITkZRVUZ6UlR0blFrRkRkRVVzVFVGQlRTeERRVUZETEVkQlFVY3NNRUpCUVRCQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMmRDUVVWcVJDeHBSRUZCYVVRN1owSkJRMnBFTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkJSVHR2UWtGRGRrUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1QwRkJUeXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0dlFrRkRNVVFzZDBOQlFYZERPMjlDUVVONFF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4VFFVRlRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVONlF5eFhRVUZYTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNWVUZCVlN4RFFVRkRMRU5CUVVNN2IwSkJRM0pFTEZkQlFWY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU1zU1VGQlNTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8ybENRVU4yUkR0aFFVTkdPMWxCUTBRc2FVVkJRV2xGTzFsQlEycEZMRTlCUVU4c1NVRkJTU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETzFsQlEzcENMRWxCUVVrc1QwRkJUeXhKUVVGSkxFVkJRVVU3WjBKQlEyWXNUVUZCVFR0VFFVTlVPMUZCUTBRc1QwRkJUeXhYUVVGWExFTkJRVU03U1VGRGNrSXNRMEZCUXpzN1UwRm9TRlVzVDBGQlR6dEJRVzFJY0VJN096czdPenRIUVUxSE8wRkJRMGdzVFVGQlRTeFBRVUZQTEZGQlFWTXNVMEZCVVN4UFFVRlBPMGxCUTI1RE96czdPenRQUVV0SE8wbEJRMGtzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4UFFVRm5RanRSUVVOcVF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJRemxDTEUxQlFVMHNVMEZCVXl4SFFVRkhMRVZCUVVVc1EwRkJRenRSUVVOeVFpdzJSRUZCTmtRN1VVRkROMFFzVFVGQlRTeFhRVUZYTEVkQlFVY3NaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeEZRVUZGTEZGQlFWRXNRMEZCUXl4VFFVRlRMRVZCUVVVc1UwRkJVeXhEUVVGRExFTkJRVU03VVVGRE5VVXNTVUZCU1N4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dFJRVVY2UWl4TlFVRk5MRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdVVUZGYWtNc1MwRkJTeXhKUVVGSkxFdEJRVXNzUjBGQlJ5eERRVUZETEVWQlFVVXNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVTdXVUZEYUVRc2QwTkJRWGRETzFsQlEzaERMRTFCUVUwc1EwRkJReXhIUVVGWExGTkJRVk1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0WlFVTndReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eFhRVUZYTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkZOVUlzTmtKQlFUWkNPMWxCUXpkQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVTdaMEpCUXk5Q0xFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTTdiMEpCUVVVc1UwRkJVenRuUWtGRGNrSXNUVUZCVFN4SlFVRkpMRWRCUVVjc1YwRkJWeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTTFRaXcwUlVGQk5FVTdaMEpCUXpWRkxFMUJRVTBzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkRNME1zTUVWQlFUQkZPMmRDUVVNeFJTeE5RVUZOTEVOQlFVTXNSMEZCUnl3d1FrRkJNRUlzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1owSkJRMnBFTEdsRVFVRnBSRHRuUWtGRGFrUXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFbEJRVWtzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVGRk8yOUNRVU4yUkN4TlFVRk5MRlZCUVZVc1IwRkJSeXhOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMjlDUVVONlJDeE5RVUZOTEUxQlFVMHNSMEZCUnl4VFFVRlRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVONlF5eHBRMEZCYVVNN2IwSkJRMnBETEZkQlFWY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU1zU1VGQlNTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8ybENRVU4yUkR0aFFVTkdPMWxCUTBRc2FVVkJRV2xGTzFsQlEycEZMRTFCUVUwc1NVRkJTU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETzFsQlEzWkNMRWxCUVVrc1RVRkJUU3hKUVVGSkxFVkJRVVU3WjBKQlEyUXNUVUZCVFR0VFFVTlVPMUZCUTBRc1QwRkJUeXhYUVVGWExFTkJRVU03U1VGRGNrSXNRMEZCUXp0RFFVTkdPMEZCUlVRN096czdPenRIUVUxSE8wRkJRMGdzVFVGQlRTeFBRVUZQTEZkQlFWa3NVMEZCVVN4UFFVRlBPMGxCUTNSRE96czdPenRQUVV0SE8wbEJRMDhzWVVGQllTeERRVUZUTzBsQlEzUkNMRmRCUVZjc1EwRkJVenRKUVVOd1FpeG5Ra0ZCWjBJc1EwRkJVenRKUVVWdVF5eFpRVUZaTEU5QlFXbENPMUZCUXpOQ0xFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTm1MRWxCUVVrc1EwRkJReXhOUVVGTkxFZEJRVWNzVDBGQlR5eEZRVUZGTEUxQlFVMHNTVUZCU1N4SFFVRkhMRU5CUVVNN1VVRkRja01zU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4UFFVRlBMRVZCUVVVc1MwRkJTeXhKUVVGSkxFMUJRVTBzUTBGQlF6dFJRVU4wUXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hIUVVGSExFOUJRVThzUlVGQlJTeGhRVUZoTEVsQlFVa3NSMEZCUnl4RFFVRkRPMUZCUTI1RUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NUMEZCVHl4RlFVRkZMRmRCUVZjc1NVRkJTU3hKUVVGSkxFTkJRVU03VVVGRGFFUXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeEhRVUZITEU5QlFVOHNSVUZCUlN4blFrRkJaMElzU1VGQlNTeEpRVUZKTEVOQlFVTTdTVUZETlVRc1EwRkJRenRKUVVWTkxFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCWjBJN1VVRkRha01zVFVGQlRTeE5RVUZOTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVNNVFpeE5RVUZOTEZOQlFWTXNSMEZCUnl4RlFVRkZMRU5CUVVNN1VVRkRja0lzTkVSQlFUUkVPMUZCUXpWRUxFMUJRVTBzVjBGQlZ5eEhRVUZITEdkQ1FVRm5RaXhEUVVGRExFMUJRVTBzUlVGQlJTeFhRVUZYTEVOQlFVTXNVMEZCVXl4RlFVRkZMRk5CUVZNc1EwRkJReXhEUVVGRE8xRkJSUzlGTEUxQlFVMHNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVVZxUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNTMEZCU3l4SlFVRkpPMWxCUTJoRExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1IwRkJSeXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVm9SU3hKUVVGSkxFbEJRVWtzUTBGQlF5eFhRVUZYTEV0QlFVc3NTVUZCU1N4RlFVRkZPMWxCUXpkQ0xFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNN1dVRkRla0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdG5Ra0ZET1VNc1RVRkJUU3hEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMmRDUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRuUWtGRGRrUXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJRenR2UWtGQlJTeERRVUZETEVkQlFVY3NVMEZCVXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8yZENRVVZ5UXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlF6TkRMRWxCUVVrc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eFhRVUZYTzI5Q1FVTjBRaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVOQlFVTXNRMEZCUXp0aFFVTjRRanRUUVVOR08xRkJSVVFzU1VGQlNTeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVONlFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhoUVVGaExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF6dFJRVVYwUnl4TFFVRkxMRWxCUVVrc1MwRkJTeXhIUVVGSExFTkJRVU1zUlVGQlJTeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJUdFpRVU5vUkN4TFFVRkxMRWxCUVVrc1NVRkJTU3hIUVVGSExFTkJRVU1zUlVGQlJTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGQlJUdG5Ra0ZETlVNc05rTkJRVFpETzJkQ1FVTTNReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1owSkJRelZDTEVsQlFVa3NRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dG5Ra0ZETVVJc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF6dHZRa0ZCUlN4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzJkQ1FVVnlReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eFhRVUZYTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRelZDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZGTlVJc2VVVkJRWGxGTzJkQ1FVTjZSU3hOUVVGTkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdaMEpCUXpORExHdEZRVUZyUlR0blFrRkRiRVVzVFVGQlRTeERRVUZETEVkQlFVY3NNRUpCUVRCQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMmRDUVVWcVJDeEpRVUZKTEVOQlFVTXNRMEZCUXl4SlFVRkpMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RlFVRkZPMjlDUVVNMVFpeE5RVUZOTEZWQlFWVXNSMEZCUnl4TlFVRk5MRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0dlFrRkRMMFFzZDBOQlFYZERPMjlDUVVONFF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4VFFVRlRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVONlF5eFhRVUZYTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNWVUZCVlN4RFFVRkRMRU5CUVVNN2IwSkJRM0pFTEZkQlFWY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU1zU1VGQlNTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8ybENRVU4yUkR0aFFVTkdPMWxCUTBRc1RVRkJUU3hKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVUZETEVOQlFVTTdXVUZEYWtVc1NVRkJTU3hOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVODdaMEpCUTNaQ0xFMUJRVTA3VTBGRFZEdFJRVU5FTEU5QlFVOHNWMEZCVnl4RFFVRkRPMGxCUTNKQ0xFTkJRVU03UTBGRFJpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdUM0IwYVc5dWN5d2dRMjl2Y21ScGJtRjBaWE1zSUZabFkzUnZjbk1zSUVScGMzUmhibU5sVFdWMGNtbGpmU0JtY205dElDZEFaR0YwWVdkeWIyc3RiR2xpY21GeWFXVnpMM1YwYVd4ekwzTnlZeTkwZVhCbExXUmxZMnhoY21GMGFXOXVjeWM3WEc1cGJYQnZjblFnZTF4dUlDQmpZV3hqZFd4aGRHVkZkV05zYVdSbFlXNUVhWE4wWVc1alpTeGNiaUFnWm1sc2JGSmhibVJ2YlUxaGRISnBlQ3hjYmlBZ2RtVmpkRzl5UVdSa0xGeHVmU0JtY205dElDZEFaR0YwWVdkeWIyc3RiR2xpY21GeWFXVnpMM1YwYVd4ekwzTnlZeTkyWldOMGIzSXRiM0JsY21GMGFXOXVjeWM3WEc1cGJYQnZjblFnZTNKaGJtUnZiVWx1ZEgwZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmNtRnVaRzl0Snp0Y2JtbHRjRzl5ZENCN1MyNXZkMjVOWlhSeWFXTnpmU0JtY205dElDY3VMM1I1Y0dWa0xXMWxkSEpwWTNNbk8xeHVhVzF3YjNKMElIdEVhWE4wWVc1alpVMWhkSEpwZUZObGNuWnBZMlVzSUdSdFRHbHVaV0Z5U1c1a1pYaDlJR1p5YjIwZ0p5NHZaR2x6ZEdGdVkyVXRiV0YwY21sNEp6dGNibHh1THlvcVhHNGdLaUJKYlhCc1pXMWxiblJ6SUhOMGIyTm9ZWE4wYVdNZ2NISnZlR2x0YVhSNUlHVnRZbVZrWkdsdVp5NWNiaUFxWEc0Z0tpQkFaWGh3YjNKMFhHNGdLaUJBWTJ4aGMzTWdVMUJGUW1GelpWeHVJQ29nUUd4cGJtc2daRzlwT2pFd0xqRXdNVFl2VXpFd09UTXRNekkyTXlnd015a3dNREUxTlMwMFhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QlRVRVZDWVhObElIdGNiaUFnY0hKdmRHVmpkR1ZrSUhOMFlYUnBZeUJrYVcxbGJuTnBiMjRnUFNBeU8xeHVJQ0J3Y205MFpXTjBaV1FnYzNSbGNITTZJRzUxYldKbGNqdGNiaUFnY0hKdmRHVmpkR1ZrSUdONVkyeGxjem9nYm5WdFltVnlPMXh1SUNCd2NtOTBaV04wWldRZ1kzVjBiMlptT2lCdWRXMWlaWEk3WEc0Z0lIQnliM1JsWTNSbFpDQnNZVzFpWkdFNklHNTFiV0psY2p0Y2JpQWdjSEp2ZEdWamRHVmtJR1JzWVcxaVpHRTZJRzUxYldKbGNqdGNiaUFnY0hKdmRHVmpkR1ZrSUd4aGJXSmtZVEk2SUc1MWJXSmxjanRjYmlBZ2NISnZkR1ZqZEdWa0lHUnNZVzFpWkdFeU9pQnVkVzFpWlhJN1hHNGdJSEJ5YjNSbFkzUmxaQ0JsY0hOcGJHOXVPaUJ1ZFcxaVpYSTdYRzRnSUhCeWIzUmxZM1JsWkNCa2FYTjBZVzVqWlVaMWJtTjBhVzl1T2lCRWFYTjBZVzVqWlUxbGRISnBZenRjYmlBZ2NISnZkR1ZqZEdWa0lHUnBjM1JoYm1ObFJuVnVZM1JwYjI1T1lXMWxPaUJMYm05M2JrMWxkSEpwWTNNN1hHNGdJR1JwYzNSaGJtTmxPaUJHYkc5aGRETXlRWEp5WVhrN1hHNGdJSEJ5YjNSbFkzUmxaQ0JrYlVsdVpHVjRSblZ1WTNRL09pQW9hVG9nYm5WdFltVnlMQ0JxT2lCdWRXMWlaWElwSUQwK0lHNTFiV0psY2p0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxjeUJoYmlCcGJuTjBZVzVqWlNCdlppQlRVRVZDWVhObExseHVJQ0FnS2lCQWNHRnlZVzBnZTA5d2RHbHZibk45SUZ0dmNIUnBiMjV6WFNCUGNIUnBiMjV6SUhSdklIQmhjM01nZEc4Z2RHaGxJR052Ym5OMGNuVmpkRzl5TGx4dUlDQWdLaUJBYldWdFltVnliMllnVTFCRlFtRnpaVnh1SUNBZ0tpOWNiaUFnWTI5dWMzUnlkV04wYjNJb2IzQjBhVzl1Y3o4NklFOXdkR2x2Ym5NcElIdGNiaUFnSUNCMGFHbHpMbk4wWlhCeklEMGdiM0IwYVc5dWN6OHVjM1JsY0hNZ1B6OGdNRHRjYmlBZ0lDQjBhR2x6TG1ONVkyeGxjeUE5SUc5d2RHbHZibk0vTG1ONVkyeGxjeUEvUHlBeFpUWTdYRzRnSUNBZ0x5OGdVMlZzWldOMElHRWdZM1YwYjJabUlHUnBjM1JoYm1ObElIdGpkWFJ2Wm1aOUlHRnVaQ0F1TGk1Y2JpQWdJQ0IwYUdsekxtTjFkRzltWmlBOUlHOXdkR2x2Ym5NL0xtTjFkRzltWmlBL1B5QXdPMXh1SUNBZ0lDOHZJQzR1TGlCaGJpQnBibWwwYVdGc0lHeGxZWEp1YVc1bklISmhkR1VnZTJ4aGJXSmtZWDBnUGlBd1hHNGdJQ0FnZEdocGN5NXNZVzFpWkdFZ1BTQnZjSFJwYjI1elB5NXNZVzFpWkdFZ1B6OGdNaTR3TzF4dUlDQWdJSFJvYVhNdVpHeGhiV0prWVNBOUlHOXdkR2x2Ym5NL0xtUnNZVzFpWkdFZ1B6OGdNQzR3TVR0Y2JpQWdJQ0IwYUdsekxteGhiV0prWVRJZ1BTQjBhR2x6TG14aGJXSmtZU0F2SURJdU8xeHVJQ0FnSUhSb2FYTXVaR3hoYldKa1lUSWdQU0IwYUdsekxtUnNZVzFpWkdFZ0x5QXlManRjYmlBZ0lDQjBhR2x6TG1Wd2MybHNiMjRnUFNCdmNIUnBiMjV6UHk1bGNITnBiRzl1SUQ4L0lERmxMVEV3TzF4dUlDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JpY21GalpTMXpkSGxzWlZ4dUlDQWdJSFJvYVhNdVpHbHpkR0Z1WTJWR2RXNWpkR2x2YmlBOUlHOXdkR2x2Ym5NL0xtUnBjM1JoYm1ObElEOC9JR05oYkdOMWJHRjBaVVYxWTJ4cFpHVmhia1JwYzNSaGJtTmxPMXh1SUNBZ0lIUm9hWE11WkdsemRHRnVZMlVnUFNCdVpYY2dSbXh2WVhRek1rRnljbUY1S0NrN1hHNGdJQ0FnZEdocGN5NWthWE4wWVc1alpVWjFibU4wYVc5dVRtRnRaU0E5SUc5d2RHbHZibk0vTG1ScGMzUmhibU5sUm5WdVkzUnBiMjVPWVcxbElUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJKYm1sMGFXRnNhWHBsY3lCa2FYTjBZVzVqWlNCdFlYUnlhWGd1WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCN1ZtVmpkRzl5YzMwZ2RtVmpkRzl5Y3lCSmJuQjFkQ0IyWldOMGIzSnpJSFJ2SUdOaGJHTjFiR0YwWlNCa2FYTjBZVzVqWlNCaVpYUjNaV1Z1TGx4dUlDQWdLaUJBYldWdFltVnliMllnVTFCRlFtRnpaVnh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUdGemVXNWpJR2x1YVhSRWFYTjBZVzVqWlNoMlpXTjBiM0p6T2lCV1pXTjBiM0p6S1NCN1hHNGdJQ0FnZEdocGN5NWtiVWx1WkdWNFJuVnVZM1FnUFNCa2JVeHBibVZoY2tsdVpHVjRLSFpsWTNSdmNuTXViR1Z1WjNSb0tUdGNiaUFnSUNCamIyNXpkQ0J0WVhSeWFYaFRaWEoyYVdObElEMGdibVYzSUVScGMzUmhibU5sVFdGMGNtbDRVMlZ5ZG1salpTaDBjblZsTENCbVlXeHpaU2s3WEc0Z0lDQWdkR2hwY3k1a2FYTjBZVzVqWlNBOUlHRjNZV2wwSUcxaGRISnBlRk5sY25acFkyVXVZMkZzWXloMlpXTjBiM0p6TENCMGFHbHpMbVJwYzNSaGJtTmxSblZ1WTNScGIyNU9ZVzFsS1R0Y2JpQWdJQ0J0WVhSeWFYaFRaWEoyYVdObExuUmxjbTFwYm1GMFpTZ3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOaGJHTjFiR0YwWlhNZ1pHbHpkR0Z1WTJVZ1ltVjBkMlZsYmlCMGFHVWdkSGR2SUhabFkzUnZjbk1nWjJsMlpXNHVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0I3Vm1WamRHOXljMzBnZG1WamRHOXljeUJUWlhRZ2IyWWdkbVZqZEc5eWN5QjBieUJqWVd4amRXeGhkR1VnWkdsemRHRnVZMlZ6SUdKbGRIZGxaVzR1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQnBibVJsZURFZ1NXNWtaWGdnYjJZZ2RHaGxJR1pwY25OMElIWmxZM1J2Y2lCdlppQjBhR1VnY0dGcGNpNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUdsdVpHVjRNaUJKYm1SbGVDQnZaaUIwYUdVZ2MyVmpiMjVrSUhabFkzUnZjaUJ2WmlCMGFHVWdjR0ZwY2k1Y2JpQWdJQ29nUUhKbGRIVnliaUI3Ym5WdFltVnlmU0JFYVhOMFlXNWpaU0JpWlhSM1pXVnVJSFJvWlhObElIUjNieUIyWldOMGIzSnpMbHh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUdOaGJHTkVhWE4wWVc1alpTaDJaV04wYjNKek9pQldaV04wYjNKekxDQnBibVJsZURFNklHNTFiV0psY2l3Z2FXNWtaWGd5T2lCdWRXMWlaWElwT2lCdWRXMWlaWElnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1ScGMzUmhibU5sVzNSb2FYTXVaRzFKYm1SbGVFWjFibU4wSVNocGJtUmxlREVzSUdsdVpHVjRNaWxkTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFVnRZbVZrY3lCMGFHVWdkbVZqZEc5eWN5Qm5hWFpsYmlCcGJuUnZJR0VnZEhkdkxXUnBiV1Z1YzJsdmJtRnNJSE53WVdObExseHVJQ0FnS2x4dUlDQWdLaUJBY0dGeVlXMGdlMVpsWTNSdmNuTjlJSFpsWTNSdmNuTWdSQzFrYVcxbGJuTnBiMjVoYkNCamIyOXlaR2x1WVhSbGN5NWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1EyOXZjbVJwYm1GMFpYTjlJRk5RUlNCamIyOXlaR2x1WVhSbGN5QnBiaUJFSUhOd1lXTmxMbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR0Z6ZVc1aklHVnRZbVZrS0habFkzUnZjbk02SUZabFkzUnZjbk1wT2lCUWNtOXRhWE5sUEVOdmIzSmthVzVoZEdWelBpQjdYRzRnSUNBZ1kyOXVjM1FnYmtsMFpXMXpJRDBnZG1WamRHOXljeTVzWlc1bmRHZzdYRzRnSUNBZ1kyOXVjM1FnWVhKbFlWZHBaSFJvSUQwZ05EQTdYRzRnSUNBZ0x5OGdTVzVwZEdsaGJHbDZaU0IwYUdVZ1JDMWthVzFsYm5OcGIyNWhiQ0JqYjI5eVpHbHVZWFJsY3lCdlppQjBhR1VnVGlCd2IybHVkSE11WEc0Z0lDQWdZMjl1YzNRZ1kyOXZjbVJwYm1GMFpYTWdQU0JtYVd4c1VtRnVaRzl0VFdGMGNtbDRLRzVKZEdWdGN5d2dVMUJGUW1GelpTNWthVzFsYm5OcGIyNHNJR0Z5WldGWGFXUjBhQ2s3WEc1Y2JpQWdJQ0JzWlhRZ2JHRnRZbVJoTWlBOUlIUm9hWE11YkdGdFltUmhNanRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbk4wWlhCeklEMDlQU0F3S1Z4dUlDQWdJQ0FnZEdocGN5NXpkR1Z3Y3lBOUlIWmxZM1J2Y25NdWJHVnVaM1JvSUMwZ01UdGNibHh1WEc0Z0lDQWdZWGRoYVhRZ2RHaHBjeTVwYm1sMFJHbHpkR0Z1WTJVb2RtVmpkRzl5Y3lrN1hHNWNiaUFnSUNCbWIzSWdLR3hsZENCamVXTnNaU0E5SURBN0lHTjVZMnhsSUR3Z2RHaHBjeTVqZVdOc1pYTTdJQ3NyWTNsamJHVXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJSE4wWlhBZ1BTQXdPeUJ6ZEdWd0lEd2dkR2hwY3k1emRHVndjenNnS3l0emRHVndLU0I3WEc0Z0lDQWdJQ0FnSUM4dklGTmxiR1ZqZENCMGQyOGdjRzlwYm5SekxDQnBJR0Z1WkNCcUxDQmhkQ0J5WVc1a2IyMHNJQzR1TGx4dUlDQWdJQ0FnSUNCamIyNXpkQ0JwSUQwZ2NtRnVaRzl0U1c1MEtHNUpkR1Z0Y3lrN1hHNGdJQ0FnSUNBZ0lHeGxkQ0JxSUQwZ2NtRnVaRzl0U1c1MEtHNUpkR1Z0Y3lrN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNocElEMDlJR29wSUdvZ1BTQnlZVzVrYjIxSmJuUW9ia2wwWlcxektUdGNibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQnliM2RwSUQwZ1kyOXZjbVJwYm1GMFpYTmJhVjA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSEp2ZDJvZ1BTQmpiMjl5WkdsdVlYUmxjMXRxWFR0Y2JseHVJQ0FnSUNBZ0lDQXZMeUF1TGk0Z2NtVjBjbWxsZG1VZ0tHOXlJR1YyWVd4MVlYUmxLU0IwYUdWcGNpQndjbTk0YVcxcGRIa2dhVzRnZEdobElHbHVjSFYwSUhOd1lXTmxMQ0J5YVdvZ1lXNWtJQzR1TGx4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5SUQwZ2RHaHBjeTVqWVd4alJHbHpkR0Z1WTJVb2RtVmpkRzl5Y3l3Z2FTd2dhaWs3WEc0Z0lDQWdJQ0FnSUM4dklDNHVMaUJqYjIxd2RYUmxJSFJvWldseUlFVjFZMnhwWkdWaGJpQmthWE4wWVc1alpTQnZiaUIwYUdVZ1JDMWthVzFsYm5OcGIyNWhiQ0J0WVhBc0lHUnBhaTVjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaQ0E5SUdOaGJHTjFiR0YwWlVWMVkyeHBaR1ZoYmtScGMzUmhibU5sS0hKdmQya3NJSEp2ZDJvcE8xeHVYRzRnSUNBZ0lDQWdJQzh2SUVsbUlISnBhaUE4UFNCeVl5d2diM0lnYVdZZ2NtbHFJRDRnY21NZ1lXNWtJR1JwYWlBOElISnBhaUF1TGk1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ2gwYUdsekxtTjFkRzltWmlBOVBTQXdLU0I4ZkNBb2NpQThQU0IwYUdsekxtTjFkRzltWmlrZ2ZId2dLR1FnUENCeUtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzExYkhScGNHeHBaWElnUFNCc1lXMWlaR0V5SUNvZ0tISWdMU0JrS1NBdklDaGtJQ3NnZEdocGN5NWxjSE5wYkc5dUtUdGNiaUFnSUNBZ0lDQWdJQ0F2THlBdUxpNGdkWEJrWVhSbElIUm9aU0JqYjI5eVpHbHVZWFJsY3lCNGFTQmhibVFnZUdvdVhHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1pHbG1aa2xLSUQwZ2RtVmpkRzl5UVdSa0tISnZkMmtzSUhKdmQyb3NJQzB4S1R0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjl5WkdsdVlYUmxjMXRwWFNBOUlIWmxZM1J2Y2tGa1pDaHliM2RwTENCa2FXWm1TVW9zSUcxMWJIUnBjR3hwWlhJcE8xeHVJQ0FnSUNBZ0lDQWdJR052YjNKa2FXNWhkR1Z6VzJwZElEMGdkbVZqZEc5eVFXUmtLSEp2ZDJvc0lHUnBabVpKU2l3Z0xXMTFiSFJwY0d4cFpYSXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0F2THlCRVpXTnlaV0Z6WlNCMGFHVWdiR1ZoY201cGJtY2djbUYwWlNCN2JHRnRZbVJoZlNCaWVTQmhJSEJ5WlhOamNtbGlaV1FnZTJSc1lXMWlaR0Y5TGx4dUlDQWdJQ0FnYkdGdFltUmhNaUF0UFNCMGFHbHpMbVJzWVcxaVpHRXlPMXh1SUNBZ0lDQWdhV1lnS0d4aGJXSmtZVElnUEQwZ01DNHBYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdZMjl2Y21ScGJtRjBaWE03WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCSmJYQnNaVzFsYm5SeklHMXZaR2xtYVdWa0lITjBiMk5vWVhOMGFXTWdjSEp2ZUdsdGFYUjVJR1Z0WW1Wa1pHbHVaeTVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQVkyeGhjM01nVUZOUVJVSmhjMlZjYmlBcUlFQnNhVzVySUdSdmFUb3hNQzR4TURFMkwxTXhNRGt6TFRNeU5qTW9NRE1wTURBeE5UVXRORnh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVUZOUVJVSmhjMlVnWlhoMFpXNWtjeUJUVUVWQ1lYTmxJSHRjYmlBZ0x5b3FYRzRnSUNBcUlFVnRZbVZrY3lCMGFHVWdkbVZqZEc5eWN5Qm5hWFpsYmlCcGJuUnZJR0VnZEhkdkxXUnBiV1Z1YzJsdmJtRnNJSE53WVdObElIVnphVzVuSUdFZ2JXOWthV1pwWldRZ2RYQmtZWFJsSUhKMWJHVXVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0I3Vm1WamRHOXljMzBnZG1WamRHOXljeUJFTFdScGJXVnVjMmx2Ym1Gc0lHTnZiM0prYVc1aGRHVnpMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdERiMjl5WkdsdVlYUmxjMzBnVTFCRklHTnZiM0prYVc1aGRHVnpJR2x1SUVRZ2MzQmhZMlV1WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nWVhONWJtTWdaVzFpWldRb2RtVmpkRzl5Y3pvZ1ZtVmpkRzl5Y3lrNklGQnliMjFwYzJVOFEyOXZjbVJwYm1GMFpYTStJSHRjYmlBZ0lDQmpiMjV6ZENCdVNYUmxiWE1nUFNCMlpXTjBiM0p6TG14bGJtZDBhRHRjYmlBZ0lDQmpiMjV6ZENCaGNtVmhWMmxrZEdnZ1BTQTBNRHRjYmlBZ0lDQXZMeUFnU1c1cGRHbGhiR2w2WlNCMGFHVWdSQzFrYVcxbGJuTnBiMjVoYkNCamIyOXlaR2x1WVhSbGN5QnZaaUIwYUdVZ1RpQndiMmx1ZEhNdVhHNGdJQ0FnWTI5dWMzUWdZMjl2Y21ScGJtRjBaWE1nUFNCbWFXeHNVbUZ1Wkc5dFRXRjBjbWw0S0c1SmRHVnRjeXdnVUZOUVJVSmhjMlV1WkdsdFpXNXphVzl1TENCaGNtVmhWMmxrZEdncE8xeHVJQ0FnSUd4bGRDQnNZVzFpWkdFZ1BTQjBhR2x6TG14aGJXSmtZVHRjYmx4dUlDQWdJR0YzWVdsMElIUm9hWE11YVc1cGRFUnBjM1JoYm1ObEtIWmxZM1J2Y25NcE8xeHVYRzRnSUNBZ1ptOXlJQ2hzWlhRZ1kzbGpiR1VnUFNBd095QmplV05zWlNBOElIUm9hWE11WTNsamJHVnpPeUFySzJONVkyeGxLU0I3WEc0Z0lDQWdJQ0F2THlCVFpXeGxZM1FnWVNCd2IybHVkQ3dnYVN3Z1lYUWdjbUZ1Wkc5dElDaHdhWFp2ZENrdVhHNGdJQ0FnSUNCamIyNXpkQ0JwT2lCdWRXMWlaWElnUFNCeVlXNWtiMjFKYm5Rb2JrbDBaVzF6S1R0Y2JpQWdJQ0FnSUdOdmJuTjBJSEp2ZDJrZ1BTQmpiMjl5WkdsdVlYUmxjMXRwWFR0Y2JseHVJQ0FnSUNBZ0x5OGdSbTl5SUdWMlpYSjVJSEJ2YVc1MElHb2dJVDBnYVNBdUxpNWNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2dia2wwWlcxek95QXJLMm9wSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR2tnUFQwZ2Fpa2dZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQWdJR052Ym5OMElISnZkMm9nUFNCamIyOXlaR2x1WVhSbGMxdHFYVHRjYmlBZ0lDQWdJQ0FnTHk4Z0xpNHVJSEpsZEhKcFpYWmxJQ2h2Y2lCbGRtRnNkV0YwWlNrZ2FYUnpJSEJ5YjNocGJXbDBlU0IwYnlCcElHbHVJSFJvWlNCcGJuQjFkQ0J6Y0dGalpTd2djbWxxSUM0dUxseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCeUlEMGdkR2hwY3k1allXeGpSR2x6ZEdGdVkyVW9kbVZqZEc5eWN5d2dhU3dnYWlrN1hHNGdJQ0FnSUNBZ0lDOHZJQzR1TGlCaGJtUWdZMjl0Y0hWMFpTQjBhR1ZwY2lCRmRXTnNhV1JsWVc0Z1pHbHpkR0Z1WTJVZ2IyNGdkR2hsSUVRdFpHbHRaVzV6YVc5dVlXd2diV0Z3TENCa2FXb3VYRzRnSUNBZ0lDQWdJR052Ym5OMElHUWdQU0JqWVd4amRXeGhkR1ZGZFdOc2FXUmxZVzVFYVhOMFlXNWpaU2h5YjNkcExDQnliM2RxS1R0Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnY21scUlEdzlJSEpqTENCdmNpQnBaaUJ5YVdvZ1BpQnlZeUJoYm1RZ1pHbHFJRHdnY21scUlDNHVMbHh1SUNBZ0lDQWdJQ0JwWmlBb0tIUm9hWE11WTNWMGIyWm1JRDA5SURBcElIeDhJQ2h5SUR3OUlIUm9hWE11WTNWMGIyWm1LU0I4ZkNBb1pDQThJSElwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2JYVnNkR2x3YkdsbGNpQTlJR3hoYldKa1lTQXFJQ2h5SUMwZ1pDa2dMeUFvWkNBcklIUm9hWE11WlhCemFXeHZiaWs3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWkdsbVprbEtJRDBnZG1WamRHOXlRV1JrS0hKdmQya3NJSEp2ZDJvc0lDMHhLVHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QXVMaTRnZFhCa1lYUmxJSFJvWlNCamIyOXlaR2x1WVhSbGN5QjRhaTVjYmlBZ0lDQWdJQ0FnSUNCamIyOXlaR2x1WVhSbGMxdHFYU0E5SUhabFkzUnZja0ZrWkNoeWIzZHFMQ0JrYVdabVNVb3NJQzF0ZFd4MGFYQnNhV1Z5S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0x5OGdSR1ZqY21WaGMyVWdkR2hsSUd4bFlYSnVhVzVuSUhKaGRHVWdlMnhoYldKa1lYMGdZbmtnWVNCd2NtVnpZM0pwWW1Wa0lIdGtiR0Z0WW1SaGZTNWNiaUFnSUNBZ0lHeGhiV0prWVNBdFBTQjBhR2x6TG1Sc1lXMWlaR0U3WEc0Z0lDQWdJQ0JwWmlBb2JHRnRZbVJoSUR3OUlEQXVLVnh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJR052YjNKa2FXNWhkR1Z6TzF4dUlDQjlYRzU5WEc1Y2JpOHFLbHh1SUNvZ1NXMXdiR1Z0Wlc1MGN5QnRiMlJwWm1sbFpDQnpkRzlqYUdGemRHbGpJSEJ5YjNocGJXbDBlU0JsYldKbFpHUnBibWN1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FHTnNZWE56SUU5eWFXZHBibUZzVTFCRlhHNGdLaUJBYkdsdWF5QmtiMms2TVRBdU1UQXdNaTlxWTJNdU1UQXlNelJjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUU5eWFXZHBibUZzVTFCRklHVjRkR1Z1WkhNZ1UxQkZRbUZ6WlNCN1hHNGdJQzhxS2x4dUlDQWdLaUJGYldKbFpITWdkR2hsSUhabFkzUnZjbk1nWjJsMlpXNGdhVzUwYnlCaElIUjNieTFrYVcxbGJuTnBiMjVoYkNCemNHRmpaU0IxYzJsdVp5QmhJRzF2WkdsbWFXVmtJSFZ3WkdGMFpTQnlkV3hsTGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UxWmxZM1J2Y25OOUlIWmxZM1J2Y25NZ1JDMWthVzFsYm5OcGIyNWhiQ0JqYjI5eVpHbHVZWFJsY3k1Y2JpQWdJQ29nUUhKbGRIVnliaUI3UTI5dmNtUnBibUYwWlhOOUlGTlFSU0JqYjI5eVpHbHVZWFJsY3lCcGJpQkVJSE53WVdObExseHVJQ0FnS2k5Y2JpQWdjSEp2ZEdWamRHVmtJSEpoWkdsMWMxQmxjbU5sYm5RNklHNTFiV0psY2p0Y2JpQWdjSEp2ZEdWamRHVmtJRzFoZUVScGMzUmhibU5sT2lCdWRXMWlaWEk3WEc0Z0lIQnliM1JsWTNSbFpDQnRZWGhFYVhOMFlXNWpaVk4wWlhCek9pQnVkVzFpWlhJN1hHNWNiaUFnWTI5dWMzUnlkV04wYjNJb2IzQjBhVzl1Y3o4NklFOXdkR2x2Ym5NcElIdGNiaUFnSUNCemRYQmxjaWh2Y0hScGIyNXpLVHRjYmlBZ0lDQjBhR2x6TG1ONVkyeGxjeUE5SUc5d2RHbHZibk0vTG1ONVkyeGxjeUEvUHlBeFpUTTdYRzRnSUNBZ2RHaHBjeTV6ZEdWd2N5QTlJRzl3ZEdsdmJuTS9Mbk4wWlhCeklEOC9JREV3TURBd01EdGNiaUFnSUNCMGFHbHpMbkpoWkdsMWMxQmxjbU5sYm5RZ1BTQnZjSFJwYjI1elB5NXlZV1JwZFhOUVpYSmpaVzUwSUQ4L0lERXVNRHRjYmlBZ0lDQjBhR2x6TG0xaGVFUnBjM1JoYm1ObElEMGdiM0IwYVc5dWN6OHViV0Y0UkdsemRHRnVZMlVnUHo4Z2JuVnNiRHRjYmlBZ0lDQjBhR2x6TG0xaGVFUnBjM1JoYm1ObFUzUmxjSE1nUFNCdmNIUnBiMjV6UHk1dFlYaEVhWE4wWVc1alpWTjBaWEJ6SUQ4L0lHNTFiR3c3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWVhONWJtTWdaVzFpWldRb2RtVmpkRzl5Y3pvZ1ZtVmpkRzl5Y3lrNklGQnliMjFwYzJVOFEyOXZjbVJwYm1GMFpYTStJSHRjYmlBZ0lDQmpiMjV6ZENCdVNYUmxiWE1nUFNCMlpXTjBiM0p6TG14bGJtZDBhRHRjYmlBZ0lDQmpiMjV6ZENCaGNtVmhWMmxrZEdnZ1BTQTBNRHRjYmlBZ0lDQXZMeUJKYm1sMGFXRnNhWHBsSUhSb1pTQkVMV1JwYldWdWMybHZibUZzSUdOdmIzSmthVzVoZEdWeklHOW1JSFJvWlNCT0lIQnZhVzUwY3k1Y2JpQWdJQ0JqYjI1emRDQmpiMjl5WkdsdVlYUmxjeUE5SUdacGJHeFNZVzVrYjIxTllYUnlhWGdvYmtsMFpXMXpMQ0JQY21sbmFXNWhiRk5RUlM1a2FXMWxibk5wYjI0c0lHRnlaV0ZYYVdSMGFDazdYRzVjYmlBZ0lDQmhkMkZwZENCMGFHbHpMbWx1YVhSRWFYTjBZVzVqWlNoMlpXTjBiM0p6S1R0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TG0xaGVFUnBjM1JoYm1ObFUzUmxjSE1nUFQwOUlHNTFiR3dwWEc0Z0lDQWdJQ0IwYUdsekxtMWhlRVJwYzNSaGJtTmxVM1JsY0hNZ1BTQnVTWFJsYlhNZ0tpQk5ZWFJvTG1ac2IyOXlLQ2h1U1hSbGJYTWdMU0F4S1NBdklESXBPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXViV0Y0UkdsemRHRnVZMlVnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhSb2FYTXViV0Y0UkdsemRHRnVZMlVnUFNBdE1XVXpOenRjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJRzRnUFNBd095QnVJRHdnZEdocGN5NXRZWGhFYVhOMFlXNWpaVk4wWlhCek95QnVLeXNwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYVNBOUlISmhibVJ2YlVsdWRDaHVTWFJsYlhNcE95QnNaWFFnYWlBOUlISmhibVJ2YlVsdWRDaHVTWFJsYlhNcE8xeHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2FTQTlQU0JxS1NCcUlEMGdjbUZ1Wkc5dFNXNTBLRzVKZEdWdGN5azdYRzVjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaQ0E5SUhSb2FYTXVZMkZzWTBScGMzUmhibU5sS0habFkzUnZjbk1zSUdrc0lHb3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb1pDQStJSFJvYVhNdWJXRjRSR2x6ZEdGdVkyVXBYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NXRZWGhFYVhOMFlXNWpaU0E5SUdRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYkdWMElHeGhiV0prWVNBOUlIUm9hWE11YkdGdFltUmhPMXh1SUNBZ0lHTnZibk4wSUhKaFpHbDFjeUE5SUNoMGFHbHpMbkpoWkdsMWMxQmxjbU5sYm5RZ1BUMGdNQzR3S1NBL0lIUm9hWE11YldGNFJHbHpkR0Z1WTJVZ09pQjBhR2x6TG0xaGVFUnBjM1JoYm1ObElDb2dkR2hwY3k1eVlXUnBkWE5RWlhKalpXNTBPMXh1WEc0Z0lDQWdabTl5SUNoc1pYUWdZM2xqYkdVZ1BTQXdPeUJqZVdOc1pTQThJSFJvYVhNdVkzbGpiR1Z6T3lBcksyTjVZMnhsS1NCN1hHNGdJQ0FnSUNCbWIzSWdLR3hsZENCemRHVndJRDBnTURzZ2MzUmxjQ0E4SUhSb2FYTXVjM1JsY0hNN0lDc3JjM1JsY0NrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJUWld4bFkzUWdkSGR2SUhCdmFXNTBjeXdnYVNCaGJtUWdhaXdnWVhRZ2NtRnVaRzl0TENBdUxpNWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2FTQTlJSEpoYm1SdmJVbHVkQ2h1U1hSbGJYTXBPMXh1SUNBZ0lDQWdJQ0JzWlhRZ2FpQTlJSEpoYm1SdmJVbHVkQ2h1U1hSbGJYTXBPMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9hU0E5UFNCcUtTQnFJRDBnY21GdVpHOXRTVzUwS0c1SmRHVnRjeWs3WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnY205M2FTQTlJR052YjNKa2FXNWhkR1Z6VzJsZE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCeWIzZHFJRDBnWTI5dmNtUnBibUYwWlhOYmFsMDdYRzVjYmlBZ0lDQWdJQ0FnTHk4Z2NtVjBjbWxsZG1VZ0tHOXlJR1YyWVd4MVlYUmxLU0IwYUdWcGNpQndjbTk0YVcxcGRIa2dhVzRnZEdobElHbHVjSFYwSUhOd1lXTmxMQ0J5YVdvZ1lXNWtJQzR1TGx4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5SUQwZ2RHaHBjeTVqWVd4alJHbHpkR0Z1WTJVb2RtVmpkRzl5Y3l3Z2FTd2dhaWs3WEc0Z0lDQWdJQ0FnSUM4dklHTnZiWEIxZEdVZ2RHaGxhWElnUlhWamJHbGtaV0Z1SUdScGMzUmhibU5sSUc5dUlIUm9aU0JFTFdScGJXVnVjMmx2Ym1Gc0lHMWhjQ3dnWkdscUxseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCa0lEMGdZMkZzWTNWc1lYUmxSWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVW9jbTkzYVN3Z2NtOTNhaWs3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ2h5SUR3OUlISmhaR2wxY3lrZ2ZId2dLR1FnUENCeUtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJRzExYkhScGNHeHBaWElnUFNCc1lXMWlaR0VnS2lBd0xqVWdLaUFvY2lBdElHUXBJQzhnS0dRZ0t5QjBhR2x6TG1Wd2MybHNiMjRwTzF4dUlDQWdJQ0FnSUNBZ0lDOHZJQzR1TGlCMWNHUmhkR1VnZEdobElHTnZiM0prYVc1aGRHVnpJSGhwSUdGdVpDQjRhaTVjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JrYVdabVNVb2dQU0IyWldOMGIzSkJaR1FvY205M2FTd2djbTkzYWl3Z0xURXBPMXh1SUNBZ0lDQWdJQ0FnSUdOdmIzSmthVzVoZEdWelcybGRJRDBnZG1WamRHOXlRV1JrS0hKdmQya3NJR1JwWm1aSlNpd2diWFZzZEdsd2JHbGxjaWs3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXZjbVJwYm1GMFpYTmJhbDBnUFNCMlpXTjBiM0pCWkdRb2NtOTNhaXdnWkdsbVprbEtMQ0F0YlhWc2RHbHdiR2xsY2lrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHeGhiV0prWVNBdFBTQW9LSFJvYVhNdWJHRnRZbVJoSUMwZ2RHaHBjeTVrYkdGdFltUmhLU0F2SUNoMGFHbHpMbU41WTJ4bGN5QXRJREV1TUNrcE95QTdYRzRnSUNBZ0lDQnBaaUFvYkdGdFltUmhJRHdnZEdocGN5NWtiR0Z0WW1SaEtWeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHTnZiM0prYVc1aGRHVnpPMXh1SUNCOVhHNTlYRzRpWFgwPSIsIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbmltcG9ydCB7IFRTTkUgfSBmcm9tICdAa2Vja2VsdC90c25lJztcbmltcG9ydCB7IFZlY3RvciwgfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy90eXBlLWRlY2xhcmF0aW9ucyc7XG5pbXBvcnQgeyB0cmFuc3Bvc2VNYXRyaXgsIGFzc2VydCwgfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy92ZWN0b3Itb3BlcmF0aW9ucyc7XG5pbXBvcnQgeyBTUEVCYXNlLCBQU1BFQmFzZSwgT3JpZ2luYWxTUEUgfSBmcm9tICcuL3NwZSc7XG5pbXBvcnQgeyBNZWFzdXJlLCBBdmFpbGFibGVNZXRyaWNzLCBpc0JpdEFycmF5TWV0cmljIH0gZnJvbSAnLi90eXBlZC1tZXRyaWNzL3R5cGVkLW1ldHJpY3MnO1xuaW1wb3J0IEJpdEFycmF5IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL2JpdC1hcnJheSc7XG5pbXBvcnQgeyBVTUFQIH0gZnJvbSAnLi91bWFwJztcbmltcG9ydCB7IERpc3RhbmNlTWF0cml4LCBEaXN0YW5jZU1hdHJpeFNlcnZpY2UsIGRpc3RhbmNlTWF0cml4UHJveHksIGRtTGluZWFySW5kZXggfSBmcm9tICcuL2Rpc3RhbmNlLW1hdHJpeCc7XG5pbXBvcnQgeyBTcGFyc2VNYXRyaXhTZXJ2aWNlIH0gZnJvbSAnLi9kaXN0YW5jZS1tYXRyaXgvc3BhcnNlLW1hdHJpeC1zZXJ2aWNlJztcbmV4cG9ydCB2YXIgRGltUmVkdWN0aW9uTWV0aG9kcztcbihmdW5jdGlvbiAoRGltUmVkdWN0aW9uTWV0aG9kcykge1xuICAgIERpbVJlZHVjdGlvbk1ldGhvZHNbXCJVTUFQXCJdID0gXCJVTUFQXCI7XG4gICAgRGltUmVkdWN0aW9uTWV0aG9kc1tcIlRfU05FXCJdID0gXCJ0LVNORVwiO1xufSkoRGltUmVkdWN0aW9uTWV0aG9kcyB8fCAoRGltUmVkdWN0aW9uTWV0aG9kcyA9IHt9KSk7XG4vKiogVW1hcCB1c2VzIHByZWNhbGN1bGF0ZWQgZGlzdGFuY2UgbWF0cml4IHRvIHNhdmUgdGltZS4gdGhvdWdoIGZvciB0b28gbXVjaCBkYXRhLCBtZW1vcnkgYmVjb21lcyBjb25zdHJhaW50LlxuICogaWYgd2UgaGF2ZSAxMDAgMDAwIHJvd3MsIGRpc3RhbmNlIG1hdHJpeCB3aWxsIHRha2UgfjEwZ2Igb2YgbWVtb3J5IGFuZCBwcm9iYWJseSBvdmVyZmxvdy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9ESVNUQU5DRV9NQVRSSVhfUk9XUyA9IDIwMDAwO1xuZXhwb3J0IGNsYXNzIFVNQVBPcHRpb25zIHtcbiAgICBsZWFybmluZ1JhdGUgPSB7IHVpTmFtZTogJ0xlYXJpbmlnIHJhdGUnLCB2YWx1ZTogMSwgdG9vbHRpcDogJ1RoZSBpbml0aWFsIGxlYXJuaW5nIHJhdGUgZm9yIHRoZSBlbWJlZGRpbmcgb3B0aW1pemF0aW9uJyB9O1xuICAgIG5Db21wb25lbnRzID0geyB1aU5hbWU6ICdDb21wb25lbnRzJywgdmFsdWU6IDIsIHRvb2x0aXA6ICdUaGUgbnVtYmVyIG9mIGNvbXBvbmVudHMgKGRpbWVuc2lvbnMpIHRvIHByb2plY3QgdGhlIGRhdGEgdG8nIH07XG4gICAgbkVwb2NocyA9IHsgdWlOYW1lOiAnRXBvY2hzJywgdmFsdWU6IDAsIHRvb2x0aXA6ICdUaGUgbnVtYmVyIG9mIGVwb2NocyB0byBvcHRpbWl6ZSBlbWJlZGRpbmdzIHZpYSBTR0QuIENvbXB1dGVkIGF1dG9tYXRpY2FsbHkgaWYgc2V0IHRvIDAnIH07XG4gICAgbk5laWdoYm9ycyA9IHsgdWlOYW1lOiAnTmVpZ2hib3JzJywgdmFsdWU6IDE1LCB0b29sdGlwOiAnVGhlIG51bWJlciBvZiBuZWFyZXN0IG5laWdoYm9ycyB0byBjb25zdHJ1Y3QgdGhlIGZ1enp5IG1hbmlmb2xkJyB9O1xuICAgIHNwcmVhZCA9IHsgdWlOYW1lOiAnU3ByZWFkJywgdmFsdWU6IDEsIHRvb2x0aXA6ICdUaGUgZWZmZWN0aXZlIHNjYWxlIG9mIGVtYmVkZGVkIHBvaW50cywgdXNlZCB3aXRoIG1pbiBkaXN0YW5jZSB0byBjb250cm9sIHRoZSBjbHVtcGVkL2Rpc3BlcnNlZCBuYXR1cmUgb2YgdGhlIGVtYmVkZGluZycgfTtcbiAgICBtaW5EaXN0ID0geyB1aU5hbWU6ICdNaW4gZGlzdGFuY2UnLCB2YWx1ZTogMC4xLCB0b29sdGlwOiAnVGhlIGVmZmVjdGl2ZSBtaW5pbXVtIGRpc3RhbmNlIGJldHdlZW4gZW1iZWRkZWQgcG9pbnRzLCB1c2VkIHdpdGggc3ByZWFkIHRvIGNvbnRyb2wgdGhlIGNsdW1wZWQvZGlzcGVyc2VkIG5hdHVyZSBvZiB0aGUgZW1iZWRkaW5nJyB9O1xuICAgIGNvbnN0cnVjdG9yKCkgeyB9XG4gICAgO1xufVxuZXhwb3J0IGNsYXNzIFRTTkVPcHRpb25zIHtcbiAgICBlcHNpbG9uID0geyB1aU5hbWU6ICdFcHNpbG9uJywgdmFsdWU6IDEwLCB0b29sdGlwOiAnRXBzaWxvbiBpcyBsZWFybmluZyByYXRlJyB9O1xuICAgIHBlcnBsZXhpdHkgPSB7IHVpTmFtZTogJ1BlcnBsZXhpdHknLCB2YWx1ZTogMzAsIHRvb2x0aXA6ICdSb3VnaGx5IGhvdyBtYW55IG5laWdoYm9ycyBlYWNoIHBvaW50IGluZmx1ZW5jZXMnIH07XG4gICAgZGltID0geyB1aU5hbWU6ICdEaW1lbnNpb25hbGl0eScsIHZhbHVlOiAyLCB0b29sdGlwOiAnRGltZW5zaW9uYWxpdHkgb2YgdGhlIGVtYmVkZGluZycgfTtcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuICAgIDtcbn1cbi8qKiBBYnN0cmFjdCBkaW1lbnNpb25hbGl0eSByZWR1Y2VyICovXG5jbGFzcyBSZWR1Y2VyIHtcbiAgICBkYXRhO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgIH1cbn1cbi8qKiB0LVNORSBkaW1lbnNpb25hbGl0eSByZWR1Y3Rpb24uICovXG5jbGFzcyBUU05FUmVkdWNlciBleHRlbmRzIFJlZHVjZXIge1xuICAgIHJlZHVjZXI7XG4gICAgaXRlcmF0aW9ucztcbiAgICBkaXN0YW5jZUZuYW1lO1xuICAgIGRpc3RhbmNlRm47XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBUU05FUmVkdWNlci5cbiAgICAgKiBAcGFyYW0ge09wdGlvbnN9IG9wdGlvbnMgT3B0aW9ucyB0byBwYXNzIHRvIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgKiBAbWVtYmVyb2YgVFNORVJlZHVjZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLnJlZHVjZXIgPSBuZXcgVFNORShvcHRpb25zKTtcbiAgICAgICAgdGhpcy5pdGVyYXRpb25zID0gb3B0aW9ucz8uaXRlcmF0aW9ucyA/PyAxMDA7XG4gICAgICAgIHRoaXMuZGlzdGFuY2VGbmFtZSA9IG9wdGlvbnMuZGlzdGFuY2VGbmFtZTtcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZuID0gb3B0aW9ucy5kaXN0YW5jZUZuO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWJlZHMgdGhlIGRhdGEgZ2l2ZW4gaW50byB0aGUgdHdvLWRpbWVuc2lvbmFsIHNwYWNlIHVzaW5nIHQtU05FIG1ldGhvZC5cXFxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3BhcmFsbGVsRGlzdGFuY2VXb3JrZXJzXSBXaGV0aGVyIHRvIHVzZSBwYXJhbGxlbCBkaXN0YW5jZSB3b3JrZXJzLlxuICAgICAqIEByZXR1cm4ge2FueX0gQ2FydGVzaWFuIGNvb3JkaW5hdGUgb2YgdGhpcyBlbWJlZGRpbmcgYW5kIGRpc3RhbmNlIG1hdHJpeCB3aGVyZSBhcHBsaWNhYmxlLlxuICAgICAqL1xuICAgIGFzeW5jIHRyYW5zZm9ybShwYXJhbGxlbERpc3RhbmNlV29ya2Vycykge1xuICAgICAgICBjb25zdCBkaXN0YW5jZSA9IHBhcmFsbGVsRGlzdGFuY2VXb3JrZXJzID8gYXdhaXQgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hdHJpeFNlcnZpY2UgPSBuZXcgRGlzdGFuY2VNYXRyaXhTZXJ2aWNlKHRydWUsIGZhbHNlKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzdCA9IGF3YWl0IG1hdHJpeFNlcnZpY2UuY2FsYyh0aGlzLmRhdGEsIHRoaXMuZGlzdGFuY2VGbmFtZSk7XG4gICAgICAgICAgICAgICAgbWF0cml4U2VydmljZS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGlzdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgbWF0cml4U2VydmljZS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSgpIDpcbiAgICAgICAgICAgICgoKSA9PiB7IGNvbnN0IHJldCA9IERpc3RhbmNlTWF0cml4LmNhbGModGhpcy5kYXRhLCAoYSwgYikgPT4gdGhpcy5kaXN0YW5jZUZuKGEsIGIpKTsgcmV0Lm5vcm1hbGl6ZSgpOyByZXR1cm4gcmV0LmRhdGE7IH0pKCk7XG4gICAgICAgIGNvbnN0IG1hdHJpeFByb3h5ID0gZGlzdGFuY2VNYXRyaXhQcm94eShkaXN0YW5jZSwgdGhpcy5kYXRhLmxlbmd0aCk7XG4gICAgICAgIHRoaXMucmVkdWNlci5pbml0RGF0YURpc3QobWF0cml4UHJveHkpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlcmF0aW9uczsgKytpKVxuICAgICAgICAgICAgdGhpcy5yZWR1Y2VyLnN0ZXAoKTsgLy8gZXZlcnkgdGltZSB5b3UgY2FsbCB0aGlzLCBzb2x1dGlvbiBnZXRzIGJldHRlclxuICAgICAgICByZXR1cm4geyBkaXN0YW5jZTogZGlzdGFuY2UsIGVtYmVkZGluZzogdGhpcy5yZWR1Y2VyLmdldFNvbHV0aW9uKCkgfTtcbiAgICB9XG59XG4vKipcbiAqIEltcGxlbWVudHMgVU1BUCBkaW1lbnNpb25hbGl0eSByZWR1Y3Rpb24uXG4gKlxuICogQGNsYXNzIFVNQVBSZWR1Y2VyXG4gKiBAZXh0ZW5kcyB7UmVkdWNlcn1cbiAqL1xuY2xhc3MgVU1BUFJlZHVjZXIgZXh0ZW5kcyBSZWR1Y2VyIHtcbiAgICByZWR1Y2VyO1xuICAgIGRpc3RhbmNlRm5hbWU7XG4gICAgZGlzdGFuY2VGbjtcbiAgICB2ZWN0b3JzO1xuICAgIGRpc3RhbmNlTWF0cml4O1xuICAgIHNwYXJzZU1hdHJpeDtcbiAgICBkbUluZGV4RnVuYztcbiAgICBwcm9ncmVzc0Z1bmM7XG4gICAgZGlzdGFuY2VGbkFyZ3M7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBVTUFQUmVkdWNlci5cbiAgICAgKiBAcGFyYW0ge09wdGlvbnN9IG9wdGlvbnMgT3B0aW9ucyB0byBwYXNzIHRvIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgKiBAbWVtYmVyb2YgVU1BUFJlZHVjZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgICAgICBhc3NlcnQoJ2Rpc3RhbmNlRm5hbWUnIGluIG9wdGlvbnMpO1xuICAgICAgICBhc3NlcnQoJ2Rpc3RhbmNlRm4nIGluIG9wdGlvbnMpO1xuICAgICAgICB0aGlzLmRpc3RhbmNlRm5BcmdzID0gb3B0aW9ucz8uZGlzdGFuY2VGbkFyZ3M7XG4gICAgICAgIHRoaXMuZGlzdGFuY2VGbiA9IG9wdGlvbnMuZGlzdGFuY2VGbjtcbiAgICAgICAgdGhpcy5wcm9ncmVzc0Z1bmMgPSBvcHRpb25zLnByb2dyZXNzRnVuYztcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZuYW1lID0gb3B0aW9ucy5kaXN0YW5jZUZuYW1lO1xuICAgICAgICB0aGlzLmRtSW5kZXhGdW5jID0gZG1MaW5lYXJJbmRleCh0aGlzLmRhdGEubGVuZ3RoKTtcbiAgICAgICAgLy9VbWFwIHVzZXMgdmVjdG9yIGluZGV4aW5nLCBzbyB3ZSBuZWVkIHRvIGNyZWF0ZSBhbiBhcnJheSBvZiB2ZWN0b3JzIGFzIGluZGVjZXMuXG4gICAgICAgIHRoaXMudmVjdG9ycyA9IG5ldyBBcnJheSh0aGlzLmRhdGEubGVuZ3RoKS5maWxsKDApLm1hcCgoXywgaSkgPT4gaSk7XG4gICAgICAgIG9wdGlvbnMuZGlzdGFuY2VGbiA9IHRoaXMuX2VuY29kZWREaXN0YW5jZS5iaW5kKHRoaXMpO1xuICAgICAgICBpZiAodGhpcy5kYXRhLmxlbmd0aCA8IDE1KVxuICAgICAgICAgICAgb3B0aW9ucy5uTmVpZ2hib3JzID0gdGhpcy5kYXRhLmxlbmd0aCAtIDE7XG4gICAgICAgIHRoaXMucmVkdWNlciA9IG5ldyBVTUFQKG9wdGlvbnMpO1xuICAgICAgICAvLyB0aGlzLnJlZHVjZXIuZGlzdGFuY2VGbiA9IHRoaXMuX2VuY29kZWREaXN0YW5jZS5iaW5kKHRoaXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDdXN0b20gZGlzdGFuY2Ugd3JhcHBlciB0byBoYXZlIG51bWVyaWMgaW5wdXRzIGluc3RlYWQgb2Ygc3RyaW5nIG9uZXMuXG4gICAgICpcbiAgICAgKiBAcHJvdGVjdGVkXG4gICAgICogQHBhcmFtIHtudW1iZXJbXX0gYSBUaGUgZmlyc3QgaXRlbS5cbiAgICAgKiBAcGFyYW0ge251bWJlcltdfSBiIFRoZSBmaXJzdCBpdGVtLlxuICAgICAqIEByZXR1cm4ge251bWJlcn0gRGlzdGFuY2UgbWV0cmljLlxuICAgICAqIEBtZW1iZXJvZiBVTUFQUmVkdWNlclxuICAgICAqL1xuICAgIC8vIHByb3RlY3RlZCBfZW5jb2RlZERpc3RhbmNlTWF0cml4KGE6IG51bWJlciwgYjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAvLyAgIGlmIChhID09PSBiKVxuICAgIC8vICAgICByZXR1cm4gMDtcbiAgICAvLyAgIGlmIChhID4gYilcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuZGlzdGFuY2VNYXRyaXghW3RoaXMuZG1JbmRleEZ1bmMoYiwgYSldO1xuICAgIC8vICAgcmV0dXJuIHRoaXMuZGlzdGFuY2VNYXRyaXghW3RoaXMuZG1JbmRleEZ1bmMoYSwgYildO1xuICAgIC8vIH1cbiAgICBfZW5jb2RlZFNwYXJzZU1hdHJpeChhLCBiKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNwYXJzZU1hdHJpeC5nZXQoYSk/LmdldChiKSA/PyB0aGlzLnNwYXJzZU1hdHJpeC5nZXQoYik/LmdldChhKSA/PyAxO1xuICAgIH1cbiAgICBfZW5jb2RlZERpc3RhbmNlKGEsIGIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzdGFuY2VGbih0aGlzLmRhdGFbYV0sIHRoaXMuZGF0YVtiXSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEVtYmVkcyB0aGUgZGF0YSBnaXZlbiBpbnRvIHRoZSB0d28tZGltZW5zaW9uYWwgc3BhY2UgdXNpbmcgVU1BUCBtZXRob2QuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbX3BhcmFsbGVsRGlzdGFuY2VXb3JrZXJzXSBXaGV0aGVyIHRvIHVzZSBwYXJhbGxlbCBkaXN0YW5jZSBtYXRyaXggd29ya2Vycy5cbiAgICAgKiBAcmV0dXJuIHthbnl9IENhcnRlc2lhbiBjb29yZGluYXRlIG9mIHRoaXMgZW1iZWRkaW5nLlxuICAgICAqL1xuICAgIGFzeW5jIHRyYW5zZm9ybShfcGFyYWxsZWxEaXN0YW5jZVdvcmtlcnMpIHtcbiAgICAgICAgY29uc29sZS50aW1lKCdrbm4gZ3JhcGgnKTtcbiAgICAgICAgY29uc3Qga25uUmVzID0gYXdhaXQgbmV3IFNwYXJzZU1hdHJpeFNlcnZpY2UoKS5nZXRLTk4odGhpcy5kYXRhLCB0aGlzLmRpc3RhbmNlRm5hbWUsIHRoaXMucmVkdWNlci5uZWlnaGJvcnMsIHRoaXMuZGlzdGFuY2VGbkFyZ3MpO1xuICAgICAgICBjb25zb2xlLnRpbWVFbmQoJ2tubiBncmFwaCcpO1xuICAgICAgICB0aGlzLnJlZHVjZXIuc2V0UHJlY29tcHV0ZWRLTk4oa25uUmVzLmtubkluZGV4ZXMsIGtublJlcy5rbm5EaXN0YW5jZXMpO1xuICAgICAgICAvLyBuZWVkZWQgc28gdGhhdCBnYXJiYWdlIGNvbGxlY3RvciBjYW4gZnJlZSBtZW1vcnkgZnJvbSBkaXN0YW5jZSBtYXRyaXhcbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlbWJlZGRpbmcgPSBhd2FpdCB0aGlzLnJlZHVjZXIuZml0QXN5bmModGhpcy52ZWN0b3JzLCAoZXBvYykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NGdW5jKVxuICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3NGdW5jKGVwb2MsIHRoaXMucmVkdWNlci5nZXRORXBvY2hzKCksIHRoaXMucmVkdWNlci5nZXRFbWJlZGRpbmcoKSk7XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiBhcnJheUNhc3QyQ29vcmRpbmF0ZXMoZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcnJheShkYXRhLmxlbmd0aCkuZmlsbCgwKS5tYXAoKF8sIGkpID0+IChWZWN0b3IuZnJvbShkYXRhW2ldKSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGVtYmVkZGluZzogYXJyYXlDYXN0MkNvb3JkaW5hdGVzKGVtYmVkZGluZyksIC4uLih0aGlzLmRpc3RhbmNlTWF0cml4ID8geyBkaXN0YW5jZTogdGhpcy5kaXN0YW5jZU1hdHJpeCB9IDoge30pIH07XG4gICAgfVxufVxuLyoqXG4gKiBJbXBsZW1lbnRzIG9yaWdpbmFsIFNQRSBkaW1lbnNpb25hbGl0eSByZWR1Y3Rpb24uXG4gKlxuICogQGNsYXNzIFNQRVJlZHVjZXJcbiAqIEBleHRlbmRzIHtSZWR1Y2VyfVxuICovXG5jbGFzcyBTUEVSZWR1Y2VyIGV4dGVuZHMgUmVkdWNlciB7XG4gICAgcmVkdWNlcjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFNQRVJlZHVjZXIuXG4gICAgICogQHBhcmFtIHtPcHRpb25zfSBvcHRpb25zIE9wdGlvbnMgdG8gcGFzcyB0byB0aGUgY29uc3RydWN0b3IuXG4gICAgICogQG1lbWJlcm9mIFNQRVJlZHVjZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLnJlZHVjZXIgPSBuZXcgU1BFQmFzZShvcHRpb25zKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRW1iZWRzIHRoZSBkYXRhIGdpdmVuIGludG8gdGhlIHR3by1kaW1lbnNpb25hbCBzcGFjZSB1c2luZyB0aGUgb3JpZ2luYWwgU1BFIG1ldGhvZC5cbiAgICAgKiBAcmV0dXJuIHthbnl9IENhcnRlc2lhbiBjb29yZGluYXRlIG9mIHRoaXMgZW1iZWRkaW5nIGFuZCBkaXN0YW5jZSBtYXRyaXggd2hlcmUgYXBwbGljYWJsZS5cbiAgICAgKi9cbiAgICBhc3luYyB0cmFuc2Zvcm0oKSB7XG4gICAgICAgIGNvbnN0IGVtYiA9IGF3YWl0IHRoaXMucmVkdWNlci5lbWJlZCh0aGlzLmRhdGEpO1xuICAgICAgICByZXR1cm4geyBkaXN0YW5jZTogdGhpcy5yZWR1Y2VyLmRpc3RhbmNlLCBlbWJlZGRpbmc6IGVtYiB9O1xuICAgIH1cbn1cbi8qKlxuICogSW1wbGVtZW50cyBtb2RpZmllZCBTUEUgZGltZW5zaW9uYWxpdHkgcmVkdWN0aW9uLlxuICpcbiAqIEBjbGFzcyBQU1BFUmVkdWNlclxuICogQGV4dGVuZHMge1JlZHVjZXJ9XG4gKi9cbmNsYXNzIFBTUEVSZWR1Y2VyIGV4dGVuZHMgUmVkdWNlciB7XG4gICAgcmVkdWNlcjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFBTUEVSZWR1Y2VyLlxuICAgICAqIEBwYXJhbSB7T3B0aW9uc30gb3B0aW9ucyBPcHRpb25zIHRvIHBhc3MgdG8gdGhlIGNvbnN0cnVjdG9yLlxuICAgICAqIEBtZW1iZXJvZiBQU1BFUmVkdWNlclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMucmVkdWNlciA9IG5ldyBQU1BFQmFzZShvcHRpb25zKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRW1iZWRzIHRoZSBkYXRhIGdpdmVuIGludG8gdGhlIHR3by1kaW1lbnNpb25hbCBzcGFjZSB1c2luZyB0aGUgbW9kaWZpZWQgU1BFIG1ldGhvZC5cbiAgICAgKiBAcmV0dXJuIHthbnl9IENhcnRlc2lhbiBjb29yZGluYXRlIG9mIHRoaXMgZW1iZWRkaW5nIGFuZCBkaXN0YW5jZSBtYXRyaXggd2hlcmUgYXBwbGljYWJsZS5cbiAgICAgKi9cbiAgICBhc3luYyB0cmFuc2Zvcm0oKSB7XG4gICAgICAgIGNvbnN0IGVtYiA9IGF3YWl0IHRoaXMucmVkdWNlci5lbWJlZCh0aGlzLmRhdGEpO1xuICAgICAgICByZXR1cm4geyBkaXN0YW5jZTogdGhpcy5yZWR1Y2VyLmRpc3RhbmNlLCBlbWJlZGRpbmc6IGVtYiB9O1xuICAgIH1cbn1cbi8qKlxuICogSW1wbGVtZW50cyBvcmlnaW5hbCBTUEUgZGltZW5zaW9uYWxpdHkgcmVkdWN0aW9uLlxuICpcbiAqIEBjbGFzcyBPcmlnaW5hbFNQRVJlZHVjZXJcbiAqIEBleHRlbmRzIHtSZWR1Y2VyfVxuICovXG5jbGFzcyBPcmlnaW5hbFNQRVJlZHVjZXIgZXh0ZW5kcyBSZWR1Y2VyIHtcbiAgICByZWR1Y2VyO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgT3JpZ2luYWxTUEVSZWR1Y2VyLlxuICAgICAqIEBwYXJhbSB7T3B0aW9uc30gb3B0aW9ucyBPcHRpb25zIHRvIHBhc3MgdG8gdGhlIGNvbnN0cnVjdG9yLlxuICAgICAqIEBtZW1iZXJvZiBPcmlnaW5hbFNQRVJlZHVjZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLnJlZHVjZXIgPSBuZXcgT3JpZ2luYWxTUEUob3B0aW9ucyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEVtYmVkcyB0aGUgZGF0YSBnaXZlbiBpbnRvIHRoZSB0d28tZGltZW5zaW9uYWwgc3BhY2UgdXNpbmcgdGhlIG9yaWdpbmFsIFNQRSBtZXRob2QuXG4gICAgICogQHJldHVybiB7YW55fSBDYXJ0ZXNpYW4gY29vcmRpbmF0ZSBvZiB0aGlzIGVtYmVkZGluZyBhbmQgZGlzdGFuY2UgbWF0cml4IHdoZXJlIGFwcGxpY2FibGUuXG4gICAgICovXG4gICAgYXN5bmMgdHJhbnNmb3JtKCkge1xuICAgICAgICBjb25zdCBlbWIgPSBhd2FpdCB0aGlzLnJlZHVjZXIuZW1iZWQodGhpcy5kYXRhKTtcbiAgICAgICAgcmV0dXJuIHsgZGlzdGFuY2U6IHRoaXMucmVkdWNlci5kaXN0YW5jZSwgZW1iZWRkaW5nOiBlbWIgfTtcbiAgICB9XG59XG5jb25zdCBBdmFpbGFibGVSZWR1Y2VycyA9IHtcbiAgICAnVU1BUCc6IFVNQVBSZWR1Y2VyLFxuICAgICd0LVNORSc6IFRTTkVSZWR1Y2VyLFxuICAgICdTUEUnOiBTUEVSZWR1Y2VyLFxuICAgICdwU1BFJzogUFNQRVJlZHVjZXIsXG4gICAgJ09yaWdpbmFsU1BFJzogT3JpZ2luYWxTUEVSZWR1Y2VyLFxufTtcbi8qKlxuICogVW5pZmllZCBjbGFzcyBpbXBsZW1lbnRpbmcgZGlmZmVyZW50IGRpbWVuc2lvbmFsaXR5IHJlZHVjdGlvbiBtZXRob2RzLlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBEaW1lbnNpb25hbGl0eVJlZHVjZXJcbiAqL1xuZXhwb3J0IGNsYXNzIERpbWVuc2lvbmFsaXR5UmVkdWNlciB7XG4gICAgcmVkdWNlcjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERpbWVuc2lvbmFsaXR5UmVkdWNlci5cbiAgICAgKiBAcGFyYW0ge2FueVtdfSBkYXRhIFZlY3RvcnMgdG8gZW1iZWQuXG4gICAgICogQHBhcmFtIHtLbm93bk1ldGhvZHN9IG1ldGhvZCBFbWJlZGRpbmcgbWV0aG9kIHRvIGJlIGFwcGxpZWRcbiAgICAgKiBAcGFyYW0ge0tub3duTWV0cmljc30gbWV0cmljIERpc3RhbmNlIG1ldHJpYyB0byBiZSBjb21wdXRlZCBiZXR3ZWVuIGVhY2ggb2YgdGhlIHZlY3RvcnMuXG4gICAgICogQHBhcmFtIHtPcHRpb25zfSBbb3B0aW9uc10gT3B0aW9ucyB0byBwYXNzIHRvIHRoZSBpbXBsZW1lbnRpbmcgZW1iZWRkZXJzLlxuICAgICAqIEBtZW1iZXJvZiBEaW1lbnNpb25hbGl0eVJlZHVjZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhLCBtZXRob2QsIG1ldHJpYywgb3B0aW9ucykge1xuICAgICAgICBjb25zdCBtZWFzdXJlID0gbmV3IE1lYXN1cmUobWV0cmljKS5nZXRNZWFzdXJlKG9wdGlvbnM/LmRpc3RhbmNlRm5BcmdzKTtcbiAgICAgICAgbGV0IHNwZWNPcHRpb25zID0ge307XG4gICAgICAgIGxldCBiaXRBcnJheUxlbmd0aCA9IDIwNDg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgaWYgKGRhdGFbaV0gJiYgZGF0YVtpXS5fbGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgYml0QXJyYXlMZW5ndGggPSBkYXRhW2ldLl9sZW5ndGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQml0QXJyYXlNZXRyaWMobWV0cmljKSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGFbaV0gJiYgZGF0YVtpXS5fZGF0YSlcbiAgICAgICAgICAgICAgICAgICAgZGF0YVtpXSA9IG5ldyBCaXRBcnJheShkYXRhW2ldLl9kYXRhLCBkYXRhW2ldLl9sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgZGF0YVtpXSA9IG5ldyBCaXRBcnJheShiaXRBcnJheUxlbmd0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1ldGhvZCA9PSAnVU1BUCcpIHtcbiAgICAgICAgICAgIHNwZWNPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIC4uLnsgZGF0YTogZGF0YSB9LFxuICAgICAgICAgICAgICAgIC4uLnsgZGlzdGFuY2VGbjogbWVhc3VyZSB9LFxuICAgICAgICAgICAgICAgIC4uLnsgZGlzdGFuY2VGbmFtZTogbWV0cmljIH0sXG4gICAgICAgICAgICAgICAgLi4ueyBuRXBvY2hzOiBvcHRpb25zPy5jeWNsZXMgfSxcbiAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtZXRob2QgPT0gJ3QtU05FJykge1xuICAgICAgICAgICAgc3BlY09wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgLi4ueyBkYXRhOiBkYXRhIH0sXG4gICAgICAgICAgICAgICAgLi4ueyBkaXN0YW5jZUZuOiBtZWFzdXJlIH0sXG4gICAgICAgICAgICAgICAgLi4ueyBkaXN0YW5jZUZuYW1lOiBtZXRyaWMgfSxcbiAgICAgICAgICAgICAgICAuLi57IGl0ZXJhdGlvbnM6IG9wdGlvbnM/LmN5Y2xlcyA/PyB1bmRlZmluZWQgfSxcbiAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtZXRob2QgPT0gJ1NQRScpIHtcbiAgICAgICAgICAgIHNwZWNPcHRpb25zID0geyAuLi57IGRhdGE6IGRhdGEgfSwgLi4ueyBkaXN0YW5jZTogbWVhc3VyZSB9LCBkaXN0YW5jZUZ1bmN0aW9uTmFtZTogbWV0cmljLCAuLi5vcHRpb25zIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzcGVjT3B0aW9ucyA9IHsgLi4ueyBkYXRhOiBkYXRhIH0sIC4uLnsgZGlzdGFuY2U6IG1lYXN1cmUgfSwgZGlzdGFuY2VGdW5jdGlvbk5hbWU6IG1ldHJpYywgLi4ub3B0aW9ucyB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVkdWNlciA9IG5ldyBBdmFpbGFibGVSZWR1Y2Vyc1ttZXRob2RdKHNwZWNPcHRpb25zKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRW1iZWRzIHRoZSBkYXRhIGdpdmVuIGludG8gdGhlIHR3by1kaW1lbnNpb25hbCBzcGFjZSB1c2luZyB0aGUgY2hvc2VuIG1ldGhvZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gdHJhbnNwb3NlIFdoZXRoZXIgdG8gdHJhbnNmb3JtIGNvb3JkaW5hdGVzIHRvIGhhdmUgY29sdW1ucy1maXJzdCBvcmllbnRhdGlvbi5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHBhcmFsbGVsRGlzdGFuY2VXb3JrZXJzIFdoZXRoZXIgdG8gdXNlIHBhcmFsbGVsIGRpc3RhbmNlIGNvbXB1dGF0aW9uLlxuICAgICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgZW1iZWRkaW5nIG1ldGhvZCB3YXMgbm90IGZvdW5kLlxuICAgICAqIEByZXR1cm4ge2FueX0gQ2FydGVzaWFuIGNvb3JkaW5hdGUgb2YgdGhpcyBlbWJlZGRpbmcgYW5kIGRpc3RhbmNlIG1hdHJpeCB3aGVyZSBhcHBsaWNhYmxlLlxuICAgICAqIEBtZW1iZXJvZiBEaW1lbnNpb25hbGl0eVJlZHVjZXJcbiAgICAgKi9cbiAgICBhc3luYyB0cmFuc2Zvcm0odHJhbnNwb3NlID0gZmFsc2UsIHBhcmFsbGVsRGlzdGFuY2VXb3JrZXJzKSB7XG4gICAgICAgIGlmICh0aGlzLnJlZHVjZXIgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVkdWNlciB3YXMgbm90IGRlZmluZWQuJyk7XG4gICAgICAgIGxldCB7IGVtYmVkZGluZywgZGlzdGFuY2UgfSA9IGF3YWl0IHRoaXMucmVkdWNlci50cmFuc2Zvcm0ocGFyYWxsZWxEaXN0YW5jZVdvcmtlcnMpO1xuICAgICAgICBpZiAodHJhbnNwb3NlKVxuICAgICAgICAgICAgZW1iZWRkaW5nID0gdHJhbnNwb3NlTWF0cml4KGVtYmVkZGluZyk7XG4gICAgICAgIHJldHVybiB7IGRpc3RhbmNlOiBkaXN0YW5jZSwgZW1iZWRkaW5nOiBlbWJlZGRpbmcgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBtZXRyaWNzIGF2YWlsYWJsZSBieSB0eXBlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtBdmFpbGFibGVEYXRhVHlwZXN9IHR5cGVOYW1lIHR5cGUgbmFtZVxuICAgICAqIEByZXR1cm4ge3N0cmluZ1tdfSBNZXRyaWMgbmFtZXMgd2hpY2ggZXhwZWN0cyB0aGUgZ2l2ZW4gZGF0YSB0eXBlXG4gICAgICogQG1lbWJlcm9mIERpbWVuc2lvbmFsaXR5UmVkdWNlclxuICAgICAqL1xuICAgIHN0YXRpYyBhdmFpbGFibGVNZXRyaWNzQnlUeXBlKHR5cGVOYW1lKSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzW3R5cGVOYW1lXSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgZGltZW5zaW9uYWxpdHkgcmVkdWN0aW9uIG1ldGhvZHMgYXZhaWxhYmxlLlxuICAgICAqXG4gICAgICogQHJlYWRvbmx5XG4gICAgICogQG1lbWJlcm9mIERpbWVuc2lvbmFsaXR5UmVkdWNlclxuICAgICAqL1xuICAgIHN0YXRpYyBnZXQgYXZhaWxhYmxlTWV0aG9kcygpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZVJlZHVjZXJzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBtZXRyaWNzIGF2YWlsYWJsZS5cbiAgICAgKlxuICAgICAqIEByZWFkb25seVxuICAgICAqIEBtZW1iZXJvZiBEaW1lbnNpb25hbGl0eVJlZHVjZXJcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0IGF2YWlsYWJsZU1ldHJpY3MoKSB7XG4gICAgICAgIGxldCBhbnMgPSBbXTtcbiAgICAgICAgT2JqZWN0LnZhbHVlcyhBdmFpbGFibGVNZXRyaWNzKS5mb3JFYWNoKChvYmopID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFycmF5ID0gT2JqZWN0LnZhbHVlcyhvYmopO1xuICAgICAgICAgICAgYW5zID0gWy4uLmFucywgLi4uYXJyYXldO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFucztcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2ljbVZrZFdObExXUnBiV1Z1YzJsdmJtRnNhWFI1TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2ljbVZrZFdObExXUnBiV1Z1YzJsdmJtRnNhWFI1TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRFJDUVVFMFFqdEJRVU0xUWl4UFFVRlBMRVZCUVVNc1NVRkJTU3hGUVVGRExFMUJRVTBzWlVGQlpTeERRVUZETzBGQlEyNURMRTlCUVU4c1JVRkhUQ3hOUVVGTkxFZEJSMUFzVFVGQlRTeHBSRUZCYVVRc1EwRkJRenRCUVVONlJDeFBRVUZQTEVWQlEwd3NaVUZCWlN4RlFVTm1MRTFCUVUwc1IwRkRVQ3hOUVVGTkxHbEVRVUZwUkN4RFFVRkRPMEZCUTNwRUxFOUJRVThzUlVGQlF5eFBRVUZQTEVWQlFVVXNVVUZCVVN4RlFVRkZMRmRCUVZjc1JVRkJReXhOUVVGTkxFOUJRVThzUTBGQlF6dEJRVU55UkN4UFFVRlBMRVZCUVVNc1QwRkJUeXhGUVVGblFpeG5Ra0ZCWjBJc1JVRkROME1zWjBKQlFXZENMRVZCUVhGQ0xFMUJRVTBzSzBKQlFTdENMRU5CUVVNN1FVRkROMFVzVDBGQlR5eFJRVUZSTEUxQlFVMHNlVU5CUVhsRExFTkJRVU03UVVGREwwUXNUMEZCVHl4RlFVRnBRaXhKUVVGSkxFVkJRVU1zVFVGQlRTeFJRVUZSTEVOQlFVTTdRVUZETlVNc1QwRkJUeXhGUVVGRExHTkJRV01zUlVGQlJTeHhRa0ZCY1VJc1JVRkJSU3h0UWtGQmJVSXNSVUZCUlN4aFFVRmhMRVZCUVVNc1RVRkJUU3h0UWtGQmJVSXNRMEZCUXp0QlFVTTFSeXhQUVVGUExFVkJRVU1zYlVKQlFXMUNMRVZCUVVNc1RVRkJUU3g1UTBGQmVVTXNRMEZCUXp0QlFXTTFSU3hOUVVGTkxFTkJRVTRzU1VGQldTeHRRa0ZIV0R0QlFVaEVMRmRCUVZrc2JVSkJRVzFDTzBsQlF6ZENMRzlEUVVGaExFTkJRVUU3U1VGRFlpeHpRMEZCWlN4RFFVRkJPMEZCUTJwQ0xFTkJRVU1zUlVGSVZ5eHRRa0ZCYlVJc1MwRkJia0lzYlVKQlFXMUNMRkZCUnpsQ08wRkJaME5FT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hEUVVGRExFMUJRVTBzZDBKQlFYZENMRWRCUVVjc1MwRkJTeXhEUVVGRE8wRkJSVGxETEUxQlFVMHNUMEZCVHl4WFFVRlhPMGxCUTNSQ0xGbEJRVmtzUjBGQmRVSXNSVUZCUXl4TlFVRk5MRVZCUVVVc1pVRkJaU3hGUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZETEVWQlFVVXNUMEZCVHl4RlFVRkZMREJFUVVFd1JDeEZRVUZETEVOQlFVTTdTVUZETlVrc1YwRkJWeXhIUVVGMVFpeEZRVUZETEUxQlFVMHNSVUZCUlN4WlFVRlpMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVU1zUlVGQlJTeFBRVUZQTEVWQlFVVXNPRVJCUVRoRUxFVkJRVU1zUTBGQlF6dEpRVU0xU1N4UFFVRlBMRWRCUVhWQ0xFVkJRVU1zVFVGQlRTeEZRVUZGTEZGQlFWRXNSVUZCUlN4TFFVRkxMRVZCUVVVc1EwRkJReXhGUVVGRkxFOUJRVThzUlVGQlJTeDVSa0ZCZVVZc1JVRkJReXhEUVVGRE8wbEJReTlLTEZWQlFWVXNSMEZCZFVJc1JVRkJReXhOUVVGTkxFVkJRVVVzVjBGQlZ5eEZRVUZGTEV0QlFVc3NSVUZCUlN4RlFVRkZMRVZCUVVVc1QwRkJUeXhGUVVGRkxHbEZRVUZwUlN4RlFVRkRMRU5CUVVNN1NVRkRPVWtzVFVGQlRTeEhRVUYxUWl4RlFVRkRMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVOQlFVTXNSVUZCUlN4UFFVRlBMRVZCUVVVc2VVaEJRWGxJTEVWQlFVTXNRMEZCUXp0SlFVTTVUQ3hQUVVGUExFZEJRWFZDTEVWQlFVTXNUVUZCVFN4RlFVRkZMR05CUVdNc1JVRkJSU3hMUVVGTExFVkJRVVVzUjBGQlJ5eEZRVUZGTEU5QlFVOHNSVUZCUlN4dFNVRkJiVWtzUlVGQlF5eERRVUZETzBsQlJXcE9MR2RDUVVGbExFTkJRVU03U1VGQlFTeERRVUZETzBOQlEyeENPMEZCUlVRc1RVRkJUU3hQUVVGUExGZEJRVmM3U1VGRGRFSXNUMEZCVHl4SFFVRjFRaXhGUVVGRExFMUJRVTBzUlVGQlJTeFRRVUZUTEVWQlFVVXNTMEZCU3l4RlFVRkZMRVZCUVVVc1JVRkJSU3hQUVVGUExFVkJRVVVzTUVKQlFUQkNMRVZCUVVNc1EwRkJRenRKUVVOc1J5eFZRVUZWTEVkQlFYVkNMRVZCUVVNc1RVRkJUU3hGUVVGRkxGbEJRVmtzUlVGQlJTeExRVUZMTEVWQlFVVXNSVUZCUlN4RlFVRkZMRTlCUVU4c1JVRkJSU3hyUkVGQmEwUXNSVUZCUXl4RFFVRkRPMGxCUTJoSkxFZEJRVWNzUjBGQmRVSXNSVUZCUXl4TlFVRk5MRVZCUVVVc1owSkJRV2RDTEVWQlFVVXNTMEZCU3l4RlFVRkZMRU5CUVVNc1JVRkJSU3hQUVVGUExFVkJRVVVzYVVOQlFXbERMRVZCUVVNc1EwRkJRenRKUVVVelJ5eG5Ra0ZCWlN4RFFVRkRPMGxCUVVFc1EwRkJRenREUVVOc1FqdEJRVVZFTEhORFFVRnpRenRCUVVOMFF5eE5RVUZsTEU5QlFVODdTVUZEVml4SlFVRkpMRU5CUVZVN1NVRkZlRUlzV1VGQldTeFBRVUZuUWp0UlFVTXhRaXhKUVVGSkxFTkJRVU1zU1VGQlNTeEhRVUZITEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNN1NVRkRNMElzUTBGQlF6dERRVXRHTzBGQlJVUXNjME5CUVhORE8wRkJRM1JETEUxQlFVMHNWMEZCV1N4VFFVRlJMRTlCUVU4N1NVRkRja0lzVDBGQlR5eERRVUZQTzBsQlEyUXNWVUZCVlN4RFFVRlRPMGxCUTI1Q0xHRkJRV0VzUTBGQlpUdEpRVU0xUWl4VlFVRlZMRU5CUVRaQ08wbEJSV3BFT3pzN08wOUJTVWM3U1VGRFNDeFpRVUZaTEU5QlFXZENPMUZCUXpGQ0xFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTm1MRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzU1VGQlNTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRha01zU1VGQlNTeERRVUZETEZWQlFWVXNSMEZCUnl4UFFVRlBMRVZCUVVVc1ZVRkJWU3hKUVVGSkxFZEJRVWNzUTBGQlF6dFJRVU0zUXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hIUVVGSExFOUJRVThzUTBGQlF5eGhRVUZoTEVOQlFVTTdVVUZETTBNc1NVRkJTU3hEUVVGRExGVkJRVlVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNWVUZCVlN4RFFVRkRPMGxCUTNaRExFTkJRVU03U1VGRlJEczdPenRQUVVsSE8wbEJRMGtzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4MVFrRkJhVU03VVVGRGRFUXNUVUZCVFN4UlFVRlJMRWRCUVVjc2RVSkJRWFZDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFbEJRVWtzUlVGQlJUdFpRVU16UkN4TlFVRk5MR0ZCUVdFc1IwRkJSeXhKUVVGSkxIRkNRVUZ4UWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFpRVU0zUkN4SlFVRkpPMmRDUVVOR0xFMUJRVTBzU1VGQlNTeEhRVUZITEUxQlFVMHNZVUZCWVN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenRuUWtGRGNrVXNZVUZCWVN4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8yZENRVU14UWl4UFFVRlBMRWxCUVVrc1EwRkJRenRoUVVOaU8xbEJRVU1zVDBGQlR5eERRVUZETEVWQlFVVTdaMEpCUTFZc1lVRkJZU3hEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzJkQ1FVTXhRaXhOUVVGTkxFTkJRVU1zUTBGQlF6dGhRVU5VTzFGQlEwZ3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRE8xbEJRMG9zUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4TlFVRk5MRWRCUVVjc1IwRkJSeXhqUVVGakxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETEVOQlFVTXNUMEZCVHl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXp0UlFVVXZTQ3hOUVVGTkxGZEJRVmNzUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXhSUVVGUkxFVkJRVVVzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOd1JTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRmxCUVZrc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dFJRVVYyUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSU3hGUVVGRkxFTkJRVU03V1VGRGRFTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETEdsRVFVRnBSRHRSUVVWNFJTeFBRVUZQTEVWQlFVTXNVVUZCVVN4RlFVRkZMRkZCUVZFc1JVRkJSU3hUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4WFFVRlhMRVZCUVVVc1JVRkJReXhEUVVGRE8wbEJRM0pGTEVOQlFVTTdRMEZEUmp0QlFWVkVPenM3T3p0SFFVdEhPMEZCUTBnc1RVRkJUU3hYUVVGWkxGTkJRVkVzVDBGQlR6dEpRVU55UWl4UFFVRlBMRU5CUVU4N1NVRkRaQ3hoUVVGaExFTkJRV1U3U1VGRE5VSXNWVUZCVlN4RFFVRlhPMGxCUTNKQ0xFOUJRVThzUTBGQlZ6dEpRVU5zUWl4alFVRmpMRU5CUVdkQ08wbEJRemxDTEZsQlFWa3NRMEZCYjBNN1NVRkRhRVFzVjBGQlZ5eERRVUZ0UXp0SlFVTTVReXhaUVVGWkxFTkJRWGRGTzBsQlEzQkdMR05CUVdNc1EwRkJjMEk3U1VGRE9VTTdPenM3VDBGSlJ6dEpRVU5JTEZsQlFWa3NUMEZCYjBJN1VVRkRPVUlzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTJZc1RVRkJUU3hEUVVGRExHVkJRV1VzU1VGQlNTeFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTnVReXhOUVVGTkxFTkJRVU1zV1VGQldTeEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTJoRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NUMEZCVHl4RlFVRkZMR05CUVdNc1EwRkJRenRSUVVNNVF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4SFFVRkhMRTlCUVU4c1EwRkJReXhWUVVGWExFTkJRVU03VVVGRGRFTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhQUVVGUExFTkJRVU1zV1VGQldTeERRVUZETzFGQlJYcERMRWxCUVVrc1EwRkJReXhoUVVGaExFZEJRVWNzVDBGQlR5eERRVUZETEdGQlFXTXNRMEZCUXp0UlFVTTFReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEdGQlFXRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlEyNUVMR2xHUVVGcFJqdFJRVU5xUml4SlFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJSWEJGTEU5QlFVOHNRMEZCUXl4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVVYwUkN4SlFVRkpMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEVWQlFVVTdXVUZEZGtJc1QwRkJUeXhEUVVGRExGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRE5VTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTnFReXc0UkVGQk9FUTdTVUZEYUVVc1EwRkJRenRKUVVWRU96czdPenM3T3p0UFFWRkhPMGxCUTBnc2JVVkJRVzFGTzBsQlEyNUZMR2xDUVVGcFFqdEpRVU5xUWl4blFrRkJaMEk3U1VGRGFFSXNaVUZCWlR0SlFVTm1MREpFUVVFeVJEdEpRVU16UkN4NVJFRkJlVVE3U1VGRGVrUXNTVUZCU1R0SlFVVk5MRzlDUVVGdlFpeERRVUZETEVOQlFWTXNSVUZCUlN4RFFVRlRPMUZCUTJwRUxFOUJRVThzU1VGQlNTeERRVUZETEZsQlFXRXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhaUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTVUZEY2tZc1EwRkJRenRKUVVWVExHZENRVUZuUWl4RFFVRkRMRU5CUVZNc1JVRkJSU3hEUVVGVE8xRkJRemRETEU5QlFVOHNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTnlSQ3hEUVVGRE8wbEJSVVE3T3pzN1QwRkpSenRKUVVOSkxFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlFVTXNkMEpCUVd0RE8xRkJRM1pFTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU03VVVGRE1VSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1RVRkJUU3hKUVVGSkxHMUNRVUZ0UWl4RlFVRkZMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1JVRkJSU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU03VVVGRGJFa3NUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dFJRVU0zUWl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExHbENRVUZwUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhWUVVGVkxFVkJRVVVzVFVGQlRTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMUZCUlhaRkxIZEZRVUYzUlR0UlFVTjRSU3hOUVVGTkxFbEJRVWtzVDBGQlR5eERRVUZQTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVN1dVRkRiRU1zVlVGQlZTeERRVUZETEVkQlFVY3NSVUZCUlR0blFrRkRaQ3hQUVVGUExFVkJRVVVzUTBGQlF6dFpRVU5hTEVOQlFVTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOV0xFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJVZ3NUVUZCVFN4VFFVRlRMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVWQlFVVTdXVUZEYmtVc1NVRkJTU3hKUVVGSkxFTkJRVU1zV1VGQldUdG5Ra0ZEYmtJc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhWUVVGVkxFVkJRVVVzUlVGQlJTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGNFWXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZTQ3hUUVVGVExIRkNRVUZ4UWl4RFFVRkRMRWxCUVdkQ08xbEJRemRETEU5QlFVOHNTVUZCU1N4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6bEZMRU5CUVVNN1VVRkZSQ3hQUVVGUExFVkJRVU1zVTBGQlV5eEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExGTkJRVk1zUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZETEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkRMRU5CUVVNN1NVRkRlRWdzUTBGQlF6dERRVU5HTzBGQlJVUTdPenM3TzBkQlMwYzdRVUZEU0N4TlFVRk5MRlZCUVZjc1UwRkJVU3hQUVVGUE8wbEJRM0JDTEU5QlFVOHNRMEZCVlR0SlFVVXpRanM3T3p0UFFVbEhPMGxCUTBnc1dVRkJXU3hQUVVGblFqdFJRVU14UWl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRFppeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRWxCUVVrc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzBsQlEzUkRMRU5CUVVNN1NVRkZSRHM3TzA5QlIwYzdTVUZEU1N4TFFVRkxMRU5CUVVNc1UwRkJVenRSUVVOd1FpeE5RVUZOTEVkQlFVY3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOb1JDeFBRVUZQTEVWQlFVTXNVVUZCVVN4RlFVRkZMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeEZRVUZGTEZOQlFWTXNSVUZCUlN4SFFVRkhMRVZCUVVNc1EwRkJRenRKUVVNelJDeERRVUZETzBOQlEwWTdRVUZGUkRzN096czdSMEZMUnp0QlFVTklMRTFCUVUwc1YwRkJXU3hUUVVGUkxFOUJRVTg3U1VGRGNrSXNUMEZCVHl4RFFVRlhPMGxCUlRWQ096czdPMDlCU1VjN1NVRkRTQ3haUVVGWkxFOUJRV2RDTzFGQlF6RkNMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU5tTEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hSUVVGUkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdTVUZEZGtNc1EwRkJRenRKUVVWRU96czdUMEZIUnp0SlFVTkpMRXRCUVVzc1EwRkJReXhUUVVGVE8xRkJRM0JDTEUxQlFVMHNSMEZCUnl4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRMmhFTEU5QlFVOHNSVUZCUXl4UlFVRlJMRVZCUVVVc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVWQlFVVXNVMEZCVXl4RlFVRkZMRWRCUVVjc1JVRkJReXhEUVVGRE8wbEJRek5FTEVOQlFVTTdRMEZEUmp0QlFVVkVPenM3T3p0SFFVdEhPMEZCUTBnc1RVRkJUU3hyUWtGQmJVSXNVMEZCVVN4UFFVRlBPMGxCUXpWQ0xFOUJRVThzUTBGQll6dEpRVVV2UWpzN096dFBRVWxITzBsQlEwZ3NXVUZCV1N4UFFVRm5RanRSUVVNeFFpeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRaaXhKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NWMEZCVnl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8wbEJRekZETEVOQlFVTTdTVUZGUkRzN08wOUJSMGM3U1VGRFNTeExRVUZMTEVOQlFVTXNVMEZCVXp0UlFVTndRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTm9SQ3hQUVVGUExFVkJRVU1zVVVGQlVTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1VVRkJVU3hGUVVGRkxGTkJRVk1zUlVGQlJTeEhRVUZITEVWQlFVTXNRMEZCUXp0SlFVTXpSQ3hEUVVGRE8wTkJRMFk3UVVGRlJDeE5RVUZOTEdsQ1FVRnBRaXhIUVVGSE8wbEJRM2hDTEUxQlFVMHNSVUZCUlN4WFFVRlhPMGxCUTI1Q0xFOUJRVThzUlVGQlJTeFhRVUZYTzBsQlEzQkNMRXRCUVVzc1JVRkJSU3hWUVVGVk8wbEJRMnBDTEUxQlFVMHNSVUZCUlN4WFFVRlhPMGxCUTI1Q0xHRkJRV0VzUlVGQlJTeHJRa0ZCYTBJN1EwRkRiRU1zUTBGQlF6dEJRVWxHT3pzN096dEhRVXRITzBGQlEwZ3NUVUZCVFN4UFFVRlBMSEZDUVVGeFFqdEpRVU40UWl4UFFVRlBMRU5CUVhOQ08wbEJSWEpET3pzN096czdPMDlCVDBjN1NVRkRTQ3haUVVGWkxFbEJRVmNzUlVGQlJTeE5RVUZ2UWl4RlFVRkZMRTFCUVc5Q0xFVkJRVVVzVDBGQmFVSTdVVUZEY0VZc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzUlVGQlJTeGpRVUZqTEVOQlFVTXNRMEZCUXp0UlFVTjRSU3hKUVVGSkxGZEJRVmNzUjBGQlJ5eEZRVUZGTEVOQlFVTTdVVUZEY2tJc1NVRkJTU3hqUVVGakxFZEJRVWNzU1VGQlNTeERRVUZETzFGQlF6RkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTzFsQlEzQkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhQUVVGUExFVkJRVVU3WjBKQlF6bENMR05CUVdNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRPMmRDUVVOcVF5eE5RVUZOTzJGQlExQTdVMEZEUmp0UlFVTkVMRWxCUVVrc1owSkJRV2RDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVN1dVRkROVUlzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVN1owSkJRM0JETEVsQlFVa3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxPMjlDUVVNeFFpeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1NVRkJTU3hSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN08yOUNRVVYyUkN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeFJRVUZSTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNN1lVRkRNVU03VTBGRFJqdFJRVVZFTEVsQlFVa3NUVUZCVFN4SlFVRkpMRTFCUVUwc1JVRkJSVHRaUVVOd1FpeFhRVUZYTEVkQlFVYzdaMEpCUTFvc1IwRkJSeXhGUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVTTdaMEpCUTJZc1IwRkJSeXhGUVVGRExGVkJRVlVzUlVGQlJTeFBRVUZQTEVWQlFVTTdaMEpCUTNoQ0xFZEJRVWNzUlVGQlF5eGhRVUZoTEVWQlFVVXNUVUZCVFN4RlFVRkRPMmRDUVVNeFFpeEhRVUZITEVWQlFVTXNUMEZCVHl4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVU03WjBKQlF6ZENMRWRCUVVjc1QwRkJUenRoUVVOWUxFTkJRVU03VTBGRFNEdGhRVUZOTEVsQlFVa3NUVUZCVFN4SlFVRkpMRTlCUVU4c1JVRkJSVHRaUVVNMVFpeFhRVUZYTEVkQlFVYzdaMEpCUTFvc1IwRkJSeXhGUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVTTdaMEpCUTJZc1IwRkJSeXhGUVVGRExGVkJRVlVzUlVGQlJTeFBRVUZQTEVWQlFVTTdaMEpCUTNoQ0xFZEJRVWNzUlVGQlF5eGhRVUZoTEVWQlFVVXNUVUZCVFN4RlFVRkRPMmRDUVVNeFFpeEhRVUZITEVWQlFVTXNWVUZCVlN4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFbEJRVWtzVTBGQlV5eEZRVUZETzJkQ1FVTTNReXhIUVVGSExFOUJRVTg3WVVGRFdDeERRVUZETzFOQlEwZzdZVUZCVFN4SlFVRkpMRTFCUVUwc1NVRkJTU3hMUVVGTExFVkJRVVU3V1VGRE1VSXNWMEZCVnl4SFFVRkhMRVZCUVVNc1IwRkJSeXhGUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVTXNSVUZCUlN4SFFVRkhMRVZCUVVNc1VVRkJVU3hGUVVGRkxFOUJRVThzUlVGQlF5eEZRVUZGTEc5Q1FVRnZRaXhGUVVGRkxFMUJRVTBzUlVGQlJTeEhRVUZITEU5QlFVOHNSVUZCUXl4RFFVRkRPMU5CUTI1SE8yRkJRVTA3V1VGRFRDeFhRVUZYTEVkQlFVY3NSVUZCUXl4SFFVRkhMRVZCUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUlVGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUXl4UlFVRlJMRVZCUVVVc1QwRkJUeXhGUVVGRExFVkJRVVVzYjBKQlFXOUNMRVZCUVVVc1RVRkJUU3hGUVVGRkxFZEJRVWNzVDBGQlR5eEZRVUZETEVOQlFVTTdVMEZEYmtjN1VVRkRSQ3hKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NhVUpCUVdsQ0xFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1NVRkROVVFzUTBGQlF6dEpRVVZFT3pzN096czdPenRQUVZGSE8wbEJRMGtzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4WlFVRnhRaXhMUVVGTExFVkJRVVVzZFVKQlFXbERPMUZCUTJ4R0xFbEJRVWtzU1VGQlNTeERRVUZETEU5QlFVOHNTMEZCU3l4VFFVRlRPMWxCUXpWQ0xFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU1zUTBGQlF6dFJRVVU1UXl4SlFVRkpMRVZCUVVNc1UwRkJVeXhGUVVGRkxGRkJRVkVzUlVGQlF5eEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhUUVVGVExFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1EwRkJRenRSUVVWc1JpeEpRVUZKTEZOQlFWTTdXVUZEV0N4VFFVRlRMRWRCUVVjc1pVRkJaU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzFGQlJYcERMRTlCUVU4c1JVRkJReXhSUVVGUkxFVkJRVVVzVVVGQlVTeEZRVUZGTEZOQlFWTXNSVUZCUlN4VFFVRlRMRVZCUVVNc1EwRkJRenRKUVVOd1JDeERRVUZETzBsQlJVUTdPenM3T3p0UFFVMUhPMGxCUTBnc1RVRkJUU3hEUVVGRExITkNRVUZ6UWl4RFFVRkRMRkZCUVRSQ08xRkJRM2hFTEU5QlFVOHNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMnBFTEVOQlFVTTdTVUZGUkRzN096czdUMEZMUnp0SlFVTklMRTFCUVUwc1MwRkJTeXhuUWtGQlowSTdVVUZEZWtJc1QwRkJUeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03U1VGRGVFTXNRMEZCUXp0SlFVVkVPenM3T3p0UFFVdEhPMGxCUTBnc1RVRkJUU3hMUVVGTExHZENRVUZuUWp0UlFVTjZRaXhKUVVGSkxFZEJRVWNzUjBGQllTeEZRVUZGTEVOQlFVTTdVVUZEZGtJc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZPMWxCUXpsRExFMUJRVTBzUzBGQlN5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGFrTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFVkJRVVVzUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTXpRaXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5JTEU5QlFVOHNSMEZCUnl4RFFVRkRPMGxCUTJJc1EwRkJRenREUVVOR0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9nWlhOc2FXNTBMV1JwYzJGaWJHVWdiV0Y0TFd4bGJpQXFMMXh1YVcxd2IzSjBJSHRVVTA1RmZTQm1jbTl0SUNkQWEyVmphMlZzZEM5MGMyNWxKenRjYm1sdGNHOXlkQ0I3WEc0Z0lFOXdkR2x2Ym5Nc1hHNGdJRU52YjNKa2FXNWhkR1Z6TEZ4dUlDQldaV04wYjNJc1hHNGdJRlpsWTNSdmNuTXNYRzRnSUUxaGRISnBlQ3hjYm4wZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmRIbHdaUzFrWldOc1lYSmhkR2x2Ym5Nbk8xeHVhVzF3YjNKMElIdGNiaUFnZEhKaGJuTndiM05sVFdGMGNtbDRMRnh1SUNCaGMzTmxjblFzWEc1OUlHWnliMjBnSjBCa1lYUmhaM0p2YXkxc2FXSnlZWEpwWlhNdmRYUnBiSE12YzNKakwzWmxZM1J2Y2kxdmNHVnlZWFJwYjI1ekp6dGNibWx0Y0c5eWRDQjdVMUJGUW1GelpTd2dVRk5RUlVKaGMyVXNJRTl5YVdkcGJtRnNVMUJGZlNCbWNtOXRJQ2N1TDNOd1pTYzdYRzVwYlhCdmNuUWdlMDFsWVhOMWNtVXNJRXR1YjNkdVRXVjBjbWxqY3l3Z1FYWmhhV3hoWW14bFRXVjBjbWxqY3l4Y2JpQWdhWE5DYVhSQmNuSmhlVTFsZEhKcFl5d2dRWFpoYVd4aFlteGxSR0YwWVZSNWNHVnpmU0JtY205dElDY3VMM1I1Y0dWa0xXMWxkSEpwWTNNdmRIbHdaV1F0YldWMGNtbGpjeWM3WEc1cGJYQnZjblFnUW1sMFFYSnlZWGtnWm5KdmJTQW5RR1JoZEdGbmNtOXJMV3hwWW5KaGNtbGxjeTkxZEdsc2N5OXpjbU12WW1sMExXRnljbUY1Snp0Y2JtbHRjRzl5ZENCN1ZVMUJVRkJoY21GdFpYUmxjbk1zSUZWTlFWQjlJR1p5YjIwZ0p5NHZkVzFoY0NjN1hHNXBiWEJ2Y25RZ2UwUnBjM1JoYm1ObFRXRjBjbWw0TENCRWFYTjBZVzVqWlUxaGRISnBlRk5sY25acFkyVXNJR1JwYzNSaGJtTmxUV0YwY21sNFVISnZlSGtzSUdSdFRHbHVaV0Z5U1c1a1pYaDlJR1p5YjIwZ0p5NHZaR2x6ZEdGdVkyVXRiV0YwY21sNEp6dGNibWx0Y0c5eWRDQjdVM0JoY25ObFRXRjBjbWw0VTJWeWRtbGpaWDBnWm5KdmJTQW5MaTlrYVhOMFlXNWpaUzF0WVhSeWFYZ3ZjM0JoY25ObExXMWhkSEpwZUMxelpYSjJhV05sSnp0Y2JseHVaWGh3YjNKMElIUjVjR1VnVTNCaGNuTmxUV0YwY21sNFZISmhibk5tWlhKVWVYQmxJRDBnZTF4dUlDQnBPaUJKYm5Rek1rRnljbUY1TEZ4dUlDQnFPaUJKYm5Rek1rRnljbUY1TEZ4dUlDQmthWE4wWVc1alpUb2dSbXh2WVhRek1rRnljbUY1TEZ4dWZWeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRWxTWldSMVkyVkVhVzFsYm5OcGIyNWhiR2wwZVZKbGMzVnNkQ0I3WEc0Z0lHUnBjM1JoYm1ObFB6b2dSbXh2WVhRek1rRnljbUY1TzF4dUlDQnpjR0Z5YzJWTllYUnlhWGcvT2lCTllYQThiblZ0WW1WeUxDQk5ZWEE4Ym5WdFltVnlMQ0J1ZFcxaVpYSStQanRjYmlBZ1pXMWlaV1JrYVc1bk9pQk5ZWFJ5YVhnN1hHNTlYRzVjYm1WNGNHOXlkQ0JsYm5WdElFUnBiVkpsWkhWamRHbHZiazFsZEdodlpITjdYRzRnSUZWTlFWQWdQU0FuVlUxQlVDY3NYRzRnSUZSZlUwNUZJRDBnSjNRdFUwNUZKMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFbFZUVUZRVDNCMGFXOXVjeUI3WEc0Z0lHeGxZWEp1YVc1blVtRjBaVDg2SUc1MWJXSmxjanRjYmlBZ2JrTnZiWEJ2Ym1WdWRITS9PaUJ1ZFcxaVpYSTdYRzRnSUc1RmNHOWphSE0vT2lCdWRXMWlaWEk3WEc0Z0lHNU9aV2xuYUdKdmNuTS9PaUJ1ZFcxaVpYSTdYRzRnSUhOd2NtVmhaRDg2SUc1MWJXSmxjanRjYmlBZ2JXbHVSR2x6ZEQ4NklHNTFiV0psY2p0Y2JpQWdjM0JoY25ObFRXRjBjbWw0VkdoeVpYTm9iMnhrUHpvZ2JuVnRZbVZ5TzF4dUlDQndjbVZEWVd4amRXeGhkR1ZFYVhOMFlXNWpaVTFoZEhKcGVEODZJR0p2YjJ4bFlXNDdYRzRnSUhWemFXNW5VM0JoY25ObFRXRjBjbWw0UHpvZ1ltOXZiR1ZoYmp0Y2JpQWdjM0JoY25ObFRXRjBjbWw0UHpvZ1UzQmhjbk5sVFdGMGNtbDRWSEpoYm5ObVpYSlVlWEJsTzF4dUlDQndjbTluY21WemMwWjFibU0vT2lBb1pYQnZZem9nYm5WdFltVnlMQ0JsY0c5amFITk1aVzVuZEdnNklHNTFiV0psY2l3Z1pXMWlaV1JrYVc1bmN6b2diblZ0WW1WeVcxMWJYU2tnUFQ0Z2RtOXBaRHRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkpWRk5PUlU5d2RHbHZibk1nZTF4dUlDQmxjSE5wYkc5dVB6b2diblZ0WW1WeU8xeHVJQ0J3WlhKd2JHVjRhWFI1UHpvZ2JuVnRZbVZ5TzF4dUlDQmthVzAvT2lCdWRXMWlaWEk3WEc1OVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTVVJwYlZKbFpIVmpkR2x2YmxCaGNtRnRJSHRjYmlBZ2RXbE9ZVzFsT2lCemRISnBibWM3WEc0Z0lIWmhiSFZsT2lCdWRXMWlaWElnZkNCdWRXeHNPMXh1SUNCMGIyOXNkR2x3T2lCemRISnBibWM3WEc0Z0lIQnNZV05sYUc5c1pHVnlQem9nYzNSeWFXNW5PMXh1SUNCdGFXNC9PaUJ1ZFcxaVpYSTdYRzRnSUcxaGVEODZJRzUxYldKbGNqdGNiaUFnYzNSbGNEODZJRzUxYldKbGNqdGNibjFjYmx4dUx5b3FJRlZ0WVhBZ2RYTmxjeUJ3Y21WallXeGpkV3hoZEdWa0lHUnBjM1JoYm1ObElHMWhkSEpwZUNCMGJ5QnpZWFpsSUhScGJXVXVJSFJvYjNWbmFDQm1iM0lnZEc5dklHMTFZMmdnWkdGMFlTd2diV1Z0YjNKNUlHSmxZMjl0WlhNZ1kyOXVjM1J5WVdsdWRDNWNiaUFxSUdsbUlIZGxJR2hoZG1VZ01UQXdJREF3TUNCeWIzZHpMQ0JrYVhOMFlXNWpaU0J0WVhSeWFYZ2dkMmxzYkNCMFlXdGxJSDR4TUdkaUlHOW1JRzFsYlc5eWVTQmhibVFnY0hKdlltRmliSGtnYjNabGNtWnNiM2N1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiMjV6ZENCTlFWaGZSRWxUVkVGT1EwVmZUVUZVVWtsWVgxSlBWMU1nUFNBeU1EQXdNRHRjYmx4dVpYaHdiM0owSUdOc1lYTnpJRlZOUVZCUGNIUnBiMjV6SUh0Y2JpQWdiR1ZoY201cGJtZFNZWFJsT2lCSlJHbHRVbVZrZFdOMGFXOXVVR0Z5WVcwZ1BTQjdkV2xPWVcxbE9pQW5UR1ZoY21sdWFXY2djbUYwWlNjc0lIWmhiSFZsT2lBeExDQjBiMjlzZEdsd09pQW5WR2hsSUdsdWFYUnBZV3dnYkdWaGNtNXBibWNnY21GMFpTQm1iM0lnZEdobElHVnRZbVZrWkdsdVp5QnZjSFJwYldsNllYUnBiMjRuZlR0Y2JpQWdia052YlhCdmJtVnVkSE02SUVsRWFXMVNaV1IxWTNScGIyNVFZWEpoYlNBOUlIdDFhVTVoYldVNklDZERiMjF3YjI1bGJuUnpKeXdnZG1Gc2RXVTZJRElzSUhSdmIyeDBhWEE2SUNkVWFHVWdiblZ0WW1WeUlHOW1JR052YlhCdmJtVnVkSE1nS0dScGJXVnVjMmx2Ym5NcElIUnZJSEJ5YjJwbFkzUWdkR2hsSUdSaGRHRWdkRzhuZlR0Y2JpQWdia1Z3YjJOb2N6b2dTVVJwYlZKbFpIVmpkR2x2YmxCaGNtRnRJRDBnZTNWcFRtRnRaVG9nSjBWd2IyTm9jeWNzSUhaaGJIVmxPaUF3TENCMGIyOXNkR2x3T2lBblZHaGxJRzUxYldKbGNpQnZaaUJsY0c5amFITWdkRzhnYjNCMGFXMXBlbVVnWlcxaVpXUmthVzVuY3lCMmFXRWdVMGRFTGlCRGIyMXdkWFJsWkNCaGRYUnZiV0YwYVdOaGJHeDVJR2xtSUhObGRDQjBieUF3SjMwN1hHNGdJRzVPWldsbmFHSnZjbk02SUVsRWFXMVNaV1IxWTNScGIyNVFZWEpoYlNBOUlIdDFhVTVoYldVNklDZE9aV2xuYUdKdmNuTW5MQ0IyWVd4MVpUb2dNVFVzSUhSdmIyeDBhWEE2SUNkVWFHVWdiblZ0WW1WeUlHOW1JRzVsWVhKbGMzUWdibVZwWjJoaWIzSnpJSFJ2SUdOdmJuTjBjblZqZENCMGFHVWdablY2ZW5rZ2JXRnVhV1p2YkdRbmZUdGNiaUFnYzNCeVpXRmtPaUJKUkdsdFVtVmtkV04wYVc5dVVHRnlZVzBnUFNCN2RXbE9ZVzFsT2lBblUzQnlaV0ZrSnl3Z2RtRnNkV1U2SURFc0lIUnZiMngwYVhBNklDZFVhR1VnWldabVpXTjBhWFpsSUhOallXeGxJRzltSUdWdFltVmtaR1ZrSUhCdmFXNTBjeXdnZFhObFpDQjNhWFJvSUcxcGJpQmthWE4wWVc1alpTQjBieUJqYjI1MGNtOXNJSFJvWlNCamJIVnRjR1ZrTDJScGMzQmxjbk5sWkNCdVlYUjFjbVVnYjJZZ2RHaGxJR1Z0WW1Wa1pHbHVaeWQ5TzF4dUlDQnRhVzVFYVhOME9pQkpSR2x0VW1Wa2RXTjBhVzl1VUdGeVlXMGdQU0I3ZFdsT1lXMWxPaUFuVFdsdUlHUnBjM1JoYm1ObEp5d2dkbUZzZFdVNklEQXVNU3dnZEc5dmJIUnBjRG9nSjFSb1pTQmxabVpsWTNScGRtVWdiV2x1YVcxMWJTQmthWE4wWVc1alpTQmlaWFIzWldWdUlHVnRZbVZrWkdWa0lIQnZhVzUwY3l3Z2RYTmxaQ0IzYVhSb0lITndjbVZoWkNCMGJ5QmpiMjUwY205c0lIUm9aU0JqYkhWdGNHVmtMMlJwYzNCbGNuTmxaQ0J1WVhSMWNtVWdiMllnZEdobElHVnRZbVZrWkdsdVp5ZDlPMXh1WEc0Z0lHTnZibk4wY25WamRHOXlLQ2tnZTMwN1hHNTlYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QlVVMDVGVDNCMGFXOXVjeUI3WEc0Z0lHVndjMmxzYjI0NklFbEVhVzFTWldSMVkzUnBiMjVRWVhKaGJTQTlJSHQxYVU1aGJXVTZJQ2RGY0hOcGJHOXVKeXdnZG1Gc2RXVTZJREV3TENCMGIyOXNkR2x3T2lBblJYQnphV3h2YmlCcGN5QnNaV0Z5Ym1sdVp5QnlZWFJsSjMwN1hHNGdJSEJsY25Cc1pYaHBkSGs2SUVsRWFXMVNaV1IxWTNScGIyNVFZWEpoYlNBOUlIdDFhVTVoYldVNklDZFFaWEp3YkdWNGFYUjVKeXdnZG1Gc2RXVTZJRE13TENCMGIyOXNkR2x3T2lBblVtOTFaMmhzZVNCb2IzY2diV0Z1ZVNCdVpXbG5hR0p2Y25NZ1pXRmphQ0J3YjJsdWRDQnBibVpzZFdWdVkyVnpKMzA3WEc0Z0lHUnBiVG9nU1VScGJWSmxaSFZqZEdsdmJsQmhjbUZ0SUQwZ2UzVnBUbUZ0WlRvZ0owUnBiV1Z1YzJsdmJtRnNhWFI1Snl3Z2RtRnNkV1U2SURJc0lIUnZiMngwYVhBNklDZEVhVzFsYm5OcGIyNWhiR2wwZVNCdlppQjBhR1VnWlcxaVpXUmthVzVuSjMwN1hHNWNiaUFnWTI5dWMzUnlkV04wYjNJb0tTQjdmVHRjYm4xY2JseHVMeW9xSUVGaWMzUnlZV04wSUdScGJXVnVjMmx2Ym1Gc2FYUjVJSEpsWkhWalpYSWdLaTljYm1GaWMzUnlZV04wSUdOc1lYTnpJRkpsWkhWalpYSWdlMXh1SUNCd2NtOTBaV04wWldRZ1pHRjBZVG9nVm1WamRHOXljenRjYmx4dUlDQmpiMjV6ZEhKMVkzUnZjaWh2Y0hScGIyNXpPaUJQY0hScGIyNXpLU0I3WEc0Z0lDQWdkR2hwY3k1a1lYUmhJRDBnYjNCMGFXOXVjeTVrWVhSaE8xeHVJQ0I5WEc1Y2JpQWdMeW9xSUVWdFltVmtjeUIwYUdVZ1pHRjBZU0JuYVhabGJpQnBiblJ2SUhSb1pTQjBkMjh0WkdsdFpXNXphVzl1WVd3Z2MzQmhZMlV1WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMkZ1ZVgwZ1EyRnlkR1Z6YVdGdUlHTnZiM0prYVc1aGRHVWdiMllnZEdocGN5QmxiV0psWkdScGJtY2dZVzVrSUdScGMzUmhibU5sSUcxaGRISnBlQ0IzYUdWeVpTQmhjSEJzYVdOaFlteGxMaUFxTDF4dUlDQmhZbk4wY21GamRDQjBjbUZ1YzJadmNtMG9jR0Z5WVd4c1pXeEVhWE4wWVc1alpWZHZjbXRsY25NL09pQmliMjlzWldGdUtUb2dVSEp2YldselpUeEpVbVZrZFdObFJHbHRaVzV6YVc5dVlXeHBkSGxTWlhOMWJIUStPMXh1ZlZ4dVhHNHZLaW9nZEMxVFRrVWdaR2x0Wlc1emFXOXVZV3hwZEhrZ2NtVmtkV04wYVc5dUxpQXFMMXh1WTJ4aGMzTWdWRk5PUlZKbFpIVmpaWElnWlhoMFpXNWtjeUJTWldSMVkyVnlJSHRjYmlBZ2NISnZkR1ZqZEdWa0lISmxaSFZqWlhJNklGUlRUa1U3WEc0Z0lIQnliM1JsWTNSbFpDQnBkR1Z5WVhScGIyNXpPaUJ1ZFcxaVpYSTdYRzRnSUhCeWIzUmxZM1JsWkNCa2FYTjBZVzVqWlVadVlXMWxPaUJMYm05M2JrMWxkSEpwWTNNN1hHNGdJSEJ5YjNSbFkzUmxaQ0JrYVhOMFlXNWpaVVp1T2lBb1lUb2dZVzU1TENCaU9pQmhibmtwSUQwK0lHNTFiV0psY2p0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxjeUJoYmlCcGJuTjBZVzVqWlNCdlppQlVVMDVGVW1Wa2RXTmxjaTVjYmlBZ0lDb2dRSEJoY21GdElIdFBjSFJwYjI1emZTQnZjSFJwYjI1eklFOXdkR2x2Ym5NZ2RHOGdjR0Z6Y3lCMGJ5QjBhR1VnWTI5dWMzUnlkV04wYjNJdVhHNGdJQ0FxSUVCdFpXMWlaWEp2WmlCVVUwNUZVbVZrZFdObGNseHVJQ0FnS2k5Y2JpQWdZMjl1YzNSeWRXTjBiM0lvYjNCMGFXOXVjem9nVDNCMGFXOXVjeWtnZTF4dUlDQWdJSE4xY0dWeUtHOXdkR2x2Ym5NcE8xeHVJQ0FnSUhSb2FYTXVjbVZrZFdObGNpQTlJRzVsZHlCVVUwNUZLRzl3ZEdsdmJuTXBPMXh1SUNBZ0lIUm9hWE11YVhSbGNtRjBhVzl1Y3lBOUlHOXdkR2x2Ym5NL0xtbDBaWEpoZEdsdmJuTWdQejhnTVRBd08xeHVJQ0FnSUhSb2FYTXVaR2x6ZEdGdVkyVkdibUZ0WlNBOUlHOXdkR2x2Ym5NdVpHbHpkR0Z1WTJWR2JtRnRaVHRjYmlBZ0lDQjBhR2x6TG1ScGMzUmhibU5sUm00Z1BTQnZjSFJwYjI1ekxtUnBjM1JoYm1ObFJtNDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUlcxaVpXUnpJSFJvWlNCa1lYUmhJR2RwZG1WdUlHbHVkRzhnZEdobElIUjNieTFrYVcxbGJuTnBiMjVoYkNCemNHRmpaU0IxYzJsdVp5QjBMVk5PUlNCdFpYUm9iMlF1WEZ4Y2JpQWdJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0JiY0dGeVlXeHNaV3hFYVhOMFlXNWpaVmR2Y210bGNuTmRJRmRvWlhSb1pYSWdkRzhnZFhObElIQmhjbUZzYkdWc0lHUnBjM1JoYm1ObElIZHZjbXRsY25NdVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJGdWVYMGdRMkZ5ZEdWemFXRnVJR052YjNKa2FXNWhkR1VnYjJZZ2RHaHBjeUJsYldKbFpHUnBibWNnWVc1a0lHUnBjM1JoYm1ObElHMWhkSEpwZUNCM2FHVnlaU0JoY0hCc2FXTmhZbXhsTGx4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdGemVXNWpJSFJ5WVc1elptOXliU2h3WVhKaGJHeGxiRVJwYzNSaGJtTmxWMjl5YTJWeWN6ODZJR0p2YjJ4bFlXNHBPaUJRY205dGFYTmxQRWxTWldSMVkyVkVhVzFsYm5OcGIyNWhiR2wwZVZKbGMzVnNkRDRnZTF4dUlDQWdJR052Ym5OMElHUnBjM1JoYm1ObElEMGdjR0Z5WVd4c1pXeEVhWE4wWVc1alpWZHZjbXRsY25NZ1B5QmhkMkZwZENBb1lYTjVibU1nS0NrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2JXRjBjbWw0VTJWeWRtbGpaU0E5SUc1bGR5QkVhWE4wWVc1alpVMWhkSEpwZUZObGNuWnBZMlVvZEhKMVpTd2dabUZzYzJVcE8xeHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaR2x6ZENBOUlHRjNZV2wwSUcxaGRISnBlRk5sY25acFkyVXVZMkZzWXloMGFHbHpMbVJoZEdFc0lIUm9hWE11WkdsemRHRnVZMlZHYm1GdFpTazdYRzRnSUNBZ0lDQWdJRzFoZEhKcGVGTmxjblpwWTJVdWRHVnliV2x1WVhSbEtDazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmthWE4wTzF4dUlDQWdJQ0FnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ0lDQnRZWFJ5YVhoVFpYSjJhV05sTG5SbGNtMXBibUYwWlNncE8xeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCbE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcEtDa2dPbHh1SUNBZ0lDQWdLQ2dwSUQwK0lIc2dZMjl1YzNRZ2NtVjBJRDBnUkdsemRHRnVZMlZOWVhSeWFYZ3VZMkZzWXloMGFHbHpMbVJoZEdFc0lDaGhMQ0JpS1NBOVBpQjBhR2x6TG1ScGMzUmhibU5sUm00b1lTd2dZaWtwT3lCeVpYUXVibTl5YldGc2FYcGxLQ2s3SUhKbGRIVnliaUJ5WlhRdVpHRjBZVHNnZlNrb0tUdGNibHh1SUNBZ0lHTnZibk4wSUcxaGRISnBlRkJ5YjNoNUlEMGdaR2x6ZEdGdVkyVk5ZWFJ5YVhoUWNtOTRlU2hrYVhOMFlXNWpaU3dnZEdocGN5NWtZWFJoTG14bGJtZDBhQ2s3WEc0Z0lDQWdkR2hwY3k1eVpXUjFZMlZ5TG1sdWFYUkVZWFJoUkdsemRDaHRZWFJ5YVhoUWNtOTRlU2s3WEc1Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhSb2FYTXVhWFJsY21GMGFXOXVjenNnS3l0cEtWeHVJQ0FnSUNBZ2RHaHBjeTV5WldSMVkyVnlMbk4wWlhBb0tUc2dMeThnWlhabGNua2dkR2x0WlNCNWIzVWdZMkZzYkNCMGFHbHpMQ0J6YjJ4MWRHbHZiaUJuWlhSeklHSmxkSFJsY2x4dVhHNGdJQ0FnY21WMGRYSnVJSHRrYVhOMFlXNWpaVG9nWkdsemRHRnVZMlVzSUdWdFltVmtaR2x1WnpvZ2RHaHBjeTV5WldSMVkyVnlMbWRsZEZOdmJIVjBhVzl1S0NsOU8xeHVJQ0I5WEc1OVhHNWNibVY0Y0c5eWRDQjBlWEJsSUZWdFlYQlBjSFJwYjI1eklEMGdUM0IwYVc5dWN5QW1JRlZOUVZCUVlYSmhiV1YwWlhKeklDWWdlMXh1SUNCd2NtVkRZV3hqZFd4aGRHVkVhWE4wWVc1alpVMWhkSEpwZUQ4NklHSnZiMnhsWVc0c1hHNGdJSFZ6YVc1blUzQmhjbk5sVFdGMGNtbDRQem9nWW05dmJHVmhiaXhjYmlBZ2MzQmhjbk5sVFdGMGNtbDRWR2h5WlhOb2IyeGtQem9nYm5WdFltVnlMRnh1SUNCemNHRnljMlZOWVhSeWFYZy9PaUJUY0dGeWMyVk5ZWFJ5YVhoVWNtRnVjMlpsY2xSNWNHVXNYRzRnSUhCeWIyZHlaWE56Um5WdVl6ODZJQ2hsY0c5ak9pQnVkVzFpWlhJc0lHVndiMk5vYzB4bGJtZDBhRG9nYm5WdFltVnlMQ0JsYldKbFpHUnBibWR6T2lCdWRXMWlaWEpiWFZ0ZEtTQTlQaUIyYjJsa0xGeHVmVHRjYmx4dUx5b3FYRzRnS2lCSmJYQnNaVzFsYm5SeklGVk5RVkFnWkdsdFpXNXphVzl1WVd4cGRIa2djbVZrZFdOMGFXOXVMbHh1SUNwY2JpQXFJRUJqYkdGemN5QlZUVUZRVW1Wa2RXTmxjbHh1SUNvZ1FHVjRkR1Z1WkhNZ2UxSmxaSFZqWlhKOVhHNGdLaTljYm1Oc1lYTnpJRlZOUVZCU1pXUjFZMlZ5SUdWNGRHVnVaSE1nVW1Wa2RXTmxjaUI3WEc0Z0lIQnliM1JsWTNSbFpDQnlaV1IxWTJWeU9pQlZUVUZRTzF4dUlDQndjbTkwWldOMFpXUWdaR2x6ZEdGdVkyVkdibUZ0WlRvZ1MyNXZkMjVOWlhSeWFXTnpPMXh1SUNCd2NtOTBaV04wWldRZ1pHbHpkR0Z1WTJWR2Jqb2dSblZ1WTNScGIyNDdYRzRnSUhCeWIzUmxZM1JsWkNCMlpXTjBiM0p6T2lCdWRXMWlaWEpiWFR0Y2JpQWdjSEp2ZEdWamRHVmtJR1JwYzNSaGJtTmxUV0YwY21sNFB6b2dSbXh2WVhRek1rRnljbUY1TzF4dUlDQndjbTkwWldOMFpXUWdjM0JoY25ObFRXRjBjbWw0UHpvZ1RXRndQRzUxYldKbGNpd2dUV0Z3UEc1MWJXSmxjaXdnYm5WdFltVnlQajQ3WEc0Z0lIQnliM1JsWTNSbFpDQmtiVWx1WkdWNFJuVnVZem9nS0drNklHNTFiV0psY2l3Z2Fqb2diblZ0WW1WeUtTQTlQaUJ1ZFcxaVpYSTdYRzRnSUhCeWIzUmxZM1JsWkNCd2NtOW5jbVZ6YzBaMWJtTS9PaUFvWlhCdll6b2diblZ0WW1WeUxDQmxjRzlqYUhOTVpXNW5kR2c2SUc1MWJXSmxjaXdnWlcxaVpXUmthVzVuY3pvZ2JuVnRZbVZ5VzExYlhTa2dQVDRnZG05cFpEdGNiaUFnY0hKdmRHVmpkR1ZrSUdScGMzUmhibU5sUm01QmNtZHpQem9nZTF0Zk9pQnpkSEpwYm1kZE9pQmhibmw5TzF4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbGN5QmhiaUJwYm5OMFlXNWpaU0J2WmlCVlRVRlFVbVZrZFdObGNpNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0UGNIUnBiMjV6ZlNCdmNIUnBiMjV6SUU5d2RHbHZibk1nZEc4Z2NHRnpjeUIwYnlCMGFHVWdZMjl1YzNSeWRXTjBiM0l1WEc0Z0lDQXFJRUJ0WlcxaVpYSnZaaUJWVFVGUVVtVmtkV05sY2x4dUlDQWdLaTljYmlBZ1kyOXVjM1J5ZFdOMGIzSW9iM0IwYVc5dWN6b2dWVzFoY0U5d2RHbHZibk1wSUh0Y2JpQWdJQ0J6ZFhCbGNpaHZjSFJwYjI1ektUdGNiaUFnSUNCaGMzTmxjblFvSjJScGMzUmhibU5sUm01aGJXVW5JR2x1SUc5d2RHbHZibk1wTzF4dUlDQWdJR0Z6YzJWeWRDZ25aR2x6ZEdGdVkyVkdiaWNnYVc0Z2IzQjBhVzl1Y3lrN1hHNGdJQ0FnZEdocGN5NWthWE4wWVc1alpVWnVRWEpuY3lBOUlHOXdkR2x2Ym5NL0xtUnBjM1JoYm1ObFJtNUJjbWR6TzF4dUlDQWdJSFJvYVhNdVpHbHpkR0Z1WTJWR2JpQTlJRzl3ZEdsdmJuTXVaR2x6ZEdGdVkyVkdiaUU3WEc0Z0lDQWdkR2hwY3k1d2NtOW5jbVZ6YzBaMWJtTWdQU0J2Y0hScGIyNXpMbkJ5YjJkeVpYTnpSblZ1WXp0Y2JseHVJQ0FnSUhSb2FYTXVaR2x6ZEdGdVkyVkdibUZ0WlNBOUlHOXdkR2x2Ym5NdVpHbHpkR0Z1WTJWR2JtRnRaU0U3WEc0Z0lDQWdkR2hwY3k1a2JVbHVaR1Y0Um5WdVl5QTlJR1J0VEdsdVpXRnlTVzVrWlhnb2RHaHBjeTVrWVhSaExteGxibWQwYUNrN1hHNGdJQ0FnTHk5VmJXRndJSFZ6WlhNZ2RtVmpkRzl5SUdsdVpHVjRhVzVuTENCemJ5QjNaU0J1WldWa0lIUnZJR055WldGMFpTQmhiaUJoY25KaGVTQnZaaUIyWldOMGIzSnpJR0Z6SUdsdVpHVmpaWE11WEc0Z0lDQWdkR2hwY3k1MlpXTjBiM0p6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11WkdGMFlTNXNaVzVuZEdncExtWnBiR3dvTUNrdWJXRndLQ2hmTENCcEtTQTlQaUJwS1R0Y2JseHVJQ0FnSUc5d2RHbHZibk11WkdsemRHRnVZMlZHYmlBOUlIUm9hWE11WDJWdVkyOWtaV1JFYVhOMFlXNWpaUzVpYVc1a0tIUm9hWE1wTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11WkdGMFlTNXNaVzVuZEdnZ1BDQXhOU2xjYmlBZ0lDQWdJRzl3ZEdsdmJuTXViazVsYVdkb1ltOXljeUE5SUhSb2FYTXVaR0YwWVM1c1pXNW5kR2dnTFNBeE8xeHVJQ0FnSUhSb2FYTXVjbVZrZFdObGNpQTlJRzVsZHlCVlRVRlFLRzl3ZEdsdmJuTXBPMXh1SUNBZ0lDOHZJSFJvYVhNdWNtVmtkV05sY2k1a2FYTjBZVzVqWlVadUlEMGdkR2hwY3k1ZlpXNWpiMlJsWkVScGMzUmhibU5sTG1KcGJtUW9kR2hwY3lrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM1Z6ZEc5dElHUnBjM1JoYm1ObElIZHlZWEJ3WlhJZ2RHOGdhR0YyWlNCdWRXMWxjbWxqSUdsdWNIVjBjeUJwYm5OMFpXRmtJRzltSUhOMGNtbHVaeUJ2Ym1WekxseHVJQ0FnS2x4dUlDQWdLaUJBY0hKdmRHVmpkR1ZrWEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeVcxMTlJR0VnVkdobElHWnBjbk4wSUdsMFpXMHVYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5VzExOUlHSWdWR2hsSUdacGNuTjBJR2wwWlcwdVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTI1MWJXSmxjbjBnUkdsemRHRnVZMlVnYldWMGNtbGpMbHh1SUNBZ0tpQkFiV1Z0WW1WeWIyWWdWVTFCVUZKbFpIVmpaWEpjYmlBZ0lDb3ZYRzRnSUM4dklIQnliM1JsWTNSbFpDQmZaVzVqYjJSbFpFUnBjM1JoYm1ObFRXRjBjbWw0S0dFNklHNTFiV0psY2l3Z1lqb2diblZ0WW1WeUtUb2diblZ0WW1WeUlIdGNiaUFnTHk4Z0lDQnBaaUFvWVNBOVBUMGdZaWxjYmlBZ0x5OGdJQ0FnSUhKbGRIVnliaUF3TzF4dUlDQXZMeUFnSUdsbUlDaGhJRDRnWWlsY2JpQWdMeThnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVJwYzNSaGJtTmxUV0YwY21sNElWdDBhR2x6TG1SdFNXNWtaWGhHZFc1aktHSXNJR0VwWFR0Y2JpQWdMeThnSUNCeVpYUjFjbTRnZEdocGN5NWthWE4wWVc1alpVMWhkSEpwZUNGYmRHaHBjeTVrYlVsdVpHVjRSblZ1WXloaExDQmlLVjA3WEc0Z0lDOHZJSDFjYmx4dUlDQndjbTkwWldOMFpXUWdYMlZ1WTI5a1pXUlRjR0Z5YzJWTllYUnlhWGdvWVRvZ2JuVnRZbVZ5TENCaU9pQnVkVzFpWlhJcE9pQnVkVzFpWlhJZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTndZWEp6WlUxaGRISnBlQ0V1WjJWMEtHRXBQeTVuWlhRb1lpa2dQejhnZEdocGN5NXpjR0Z5YzJWTllYUnlhWGdoTG1kbGRDaGlLVDh1WjJWMEtHRXBJRDgvSURFN1hHNGdJSDFjYmx4dUlDQndjbTkwWldOMFpXUWdYMlZ1WTI5a1pXUkVhWE4wWVc1alpTaGhPaUJ1ZFcxaVpYSXNJR0k2SUc1MWJXSmxjaWs2SUc1MWJXSmxjaUI3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WkdsemRHRnVZMlZHYmloMGFHbHpMbVJoZEdGYllWMHNJSFJvYVhNdVpHRjBZVnRpWFNrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSVzFpWldSeklIUm9aU0JrWVhSaElHZHBkbVZ1SUdsdWRHOGdkR2hsSUhSM2J5MWthVzFsYm5OcGIyNWhiQ0J6Y0dGalpTQjFjMmx1WnlCVlRVRlFJRzFsZEdodlpDNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYlgzQmhjbUZzYkdWc1JHbHpkR0Z1WTJWWGIzSnJaWEp6WFNCWGFHVjBhR1Z5SUhSdklIVnpaU0J3WVhKaGJHeGxiQ0JrYVhOMFlXNWpaU0J0WVhSeWFYZ2dkMjl5YTJWeWN5NWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1lXNTVmU0JEWVhKMFpYTnBZVzRnWTI5dmNtUnBibUYwWlNCdlppQjBhR2x6SUdWdFltVmtaR2x1Wnk1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCaGMzbHVZeUIwY21GdWMyWnZjbTBvWDNCaGNtRnNiR1ZzUkdsemRHRnVZMlZYYjNKclpYSnpQem9nWW05dmJHVmhiaWs2SUZCeWIyMXBjMlU4U1ZKbFpIVmpaVVJwYldWdWMybHZibUZzYVhSNVVtVnpkV3gwUGlCN1hHNGdJQ0FnWTI5dWMyOXNaUzUwYVcxbEtDZHJibTRnWjNKaGNHZ25LVHRjYmlBZ0lDQmpiMjV6ZENCcmJtNVNaWE1nUFNCaGQyRnBkQ0J1WlhjZ1UzQmhjbk5sVFdGMGNtbDRVMlZ5ZG1salpTZ3BMbWRsZEV0T1RpaDBhR2x6TG1SaGRHRXNJSFJvYVhNdVpHbHpkR0Z1WTJWR2JtRnRaU3dnZEdocGN5NXlaV1IxWTJWeUxtNWxhV2RvWW05eWN5d2dkR2hwY3k1a2FYTjBZVzVqWlVadVFYSm5jeWs3WEc0Z0lDQWdZMjl1YzI5c1pTNTBhVzFsUlc1a0tDZHJibTRnWjNKaGNHZ25LVHRjYmlBZ0lDQjBhR2x6TG5KbFpIVmpaWEl1YzJWMFVISmxZMjl0Y0hWMFpXUkxUazRvYTI1dVVtVnpMbXR1YmtsdVpHVjRaWE1zSUd0dWJsSmxjeTVyYm01RWFYTjBZVzVqWlhNcE8xeHVYRzRnSUNBZ0x5OGdibVZsWkdWa0lITnZJSFJvWVhRZ1oyRnlZbUZuWlNCamIyeHNaV04wYjNJZ1kyRnVJR1p5WldVZ2JXVnRiM0o1SUdaeWIyMGdaR2x6ZEdGdVkyVWdiV0YwY21sNFhHNGdJQ0FnWVhkaGFYUWdibVYzSUZCeWIyMXBjMlU4ZG05cFpENG9LSEpsYzI5c2RtVXBJRDArSUh0Y2JpQWdJQ0FnSUhObGRGUnBiV1Z2ZFhRb0tDa2dQVDRnZTF4dUlDQWdJQ0FnSUNCeVpYTnZiSFpsS0NrN1hHNGdJQ0FnSUNCOUxDQTFNREFwTzF4dUlDQWdJSDBwTzF4dVhHNGdJQ0FnWTI5dWMzUWdaVzFpWldSa2FXNW5JRDBnWVhkaGFYUWdkR2hwY3k1eVpXUjFZMlZ5TG1acGRFRnplVzVqS0hSb2FYTXVkbVZqZEc5eWN5d2dLR1Z3YjJNcElEMCtJSHRjYmlBZ0lDQWdJR2xtSUNoMGFHbHpMbkJ5YjJkeVpYTnpSblZ1WXlsY2JpQWdJQ0FnSUNBZ2RHaHBjeTV3Y205bmNtVnpjMFoxYm1Nb1pYQnZZeXdnZEdocGN5NXlaV1IxWTJWeUxtZGxkRTVGY0c5amFITW9LU3dnZEdocGN5NXlaV1IxWTJWeUxtZGxkRVZ0WW1Wa1pHbHVaeWdwS1R0Y2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUdaMWJtTjBhVzl1SUdGeWNtRjVRMkZ6ZERKRGIyOXlaR2x1WVhSbGN5aGtZWFJoT2lCdWRXMWlaWEpiWFZ0ZEtUb2dRMjl2Y21ScGJtRjBaWE1nZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCQmNuSmhlU2hrWVhSaExteGxibWQwYUNrdVptbHNiQ2d3S1M1dFlYQW9LRjhzSUdrcElEMCtJQ2hXWldOMGIzSXVabkp2YlNoa1lYUmhXMmxkS1NrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUI3WlcxaVpXUmthVzVuT2lCaGNuSmhlVU5oYzNReVEyOXZjbVJwYm1GMFpYTW9aVzFpWldSa2FXNW5LU3dnTGk0dUtIUm9hWE11WkdsemRHRnVZMlZOWVhSeWFYZ2dQeUI3WkdsemRHRnVZMlU2SUhSb2FYTXVaR2x6ZEdGdVkyVk5ZWFJ5YVhoOUlEb2dlMzBwZlR0Y2JpQWdmVnh1ZlZ4dVhHNHZLaXBjYmlBcUlFbHRjR3hsYldWdWRITWdiM0pwWjJsdVlXd2dVMUJGSUdScGJXVnVjMmx2Ym1Gc2FYUjVJSEpsWkhWamRHbHZiaTVjYmlBcVhHNGdLaUJBWTJ4aGMzTWdVMUJGVW1Wa2RXTmxjbHh1SUNvZ1FHVjRkR1Z1WkhNZ2UxSmxaSFZqWlhKOVhHNGdLaTljYm1Oc1lYTnpJRk5RUlZKbFpIVmpaWElnWlhoMFpXNWtjeUJTWldSMVkyVnlJSHRjYmlBZ2NISnZkR1ZqZEdWa0lISmxaSFZqWlhJNklGTlFSVUpoYzJVN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOeVpXRjBaWE1nWVc0Z2FXNXpkR0Z1WTJVZ2IyWWdVMUJGVW1Wa2RXTmxjaTVjYmlBZ0lDb2dRSEJoY21GdElIdFBjSFJwYjI1emZTQnZjSFJwYjI1eklFOXdkR2x2Ym5NZ2RHOGdjR0Z6Y3lCMGJ5QjBhR1VnWTI5dWMzUnlkV04wYjNJdVhHNGdJQ0FxSUVCdFpXMWlaWEp2WmlCVFVFVlNaV1IxWTJWeVhHNGdJQ0FxTDF4dUlDQmpiMjV6ZEhKMVkzUnZjaWh2Y0hScGIyNXpPaUJQY0hScGIyNXpLU0I3WEc0Z0lDQWdjM1Z3WlhJb2IzQjBhVzl1Y3lrN1hHNGdJQ0FnZEdocGN5NXlaV1IxWTJWeUlEMGdibVYzSUZOUVJVSmhjMlVvYjNCMGFXOXVjeWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1JXMWlaV1J6SUhSb1pTQmtZWFJoSUdkcGRtVnVJR2x1ZEc4Z2RHaGxJSFIzYnkxa2FXMWxibk5wYjI1aGJDQnpjR0ZqWlNCMWMybHVaeUIwYUdVZ2IzSnBaMmx1WVd3Z1UxQkZJRzFsZEdodlpDNWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1lXNTVmU0JEWVhKMFpYTnBZVzRnWTI5dmNtUnBibUYwWlNCdlppQjBhR2x6SUdWdFltVmtaR2x1WnlCaGJtUWdaR2x6ZEdGdVkyVWdiV0YwY21sNElIZG9aWEpsSUdGd2NHeHBZMkZpYkdVdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1lYTjVibU1nZEhKaGJuTm1iM0p0S0NrNklGQnliMjFwYzJVOFNWSmxaSFZqWlVScGJXVnVjMmx2Ym1Gc2FYUjVVbVZ6ZFd4MFBpQjdYRzRnSUNBZ1kyOXVjM1FnWlcxaUlEMGdZWGRoYVhRZ2RHaHBjeTV5WldSMVkyVnlMbVZ0WW1Wa0tIUm9hWE11WkdGMFlTazdYRzRnSUNBZ2NtVjBkWEp1SUh0a2FYTjBZVzVqWlRvZ2RHaHBjeTV5WldSMVkyVnlMbVJwYzNSaGJtTmxMQ0JsYldKbFpHUnBibWM2SUdWdFluMDdYRzRnSUgxY2JuMWNibHh1THlvcVhHNGdLaUJKYlhCc1pXMWxiblJ6SUcxdlpHbG1hV1ZrSUZOUVJTQmthVzFsYm5OcGIyNWhiR2wwZVNCeVpXUjFZM1JwYjI0dVhHNGdLbHh1SUNvZ1FHTnNZWE56SUZCVFVFVlNaV1IxWTJWeVhHNGdLaUJBWlhoMFpXNWtjeUI3VW1Wa2RXTmxjbjFjYmlBcUwxeHVZMnhoYzNNZ1VGTlFSVkpsWkhWalpYSWdaWGgwWlc1a2N5QlNaV1IxWTJWeUlIdGNiaUFnY0hKdmRHVmpkR1ZrSUhKbFpIVmpaWEk2SUZCVFVFVkNZWE5sTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJEY21WaGRHVnpJR0Z1SUdsdWMzUmhibU5sSUc5bUlGQlRVRVZTWldSMVkyVnlMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwOXdkR2x2Ym5OOUlHOXdkR2x2Ym5NZ1QzQjBhVzl1Y3lCMGJ5QndZWE56SUhSdklIUm9aU0JqYjI1emRISjFZM1J2Y2k1Y2JpQWdJQ29nUUcxbGJXSmxjbTltSUZCVFVFVlNaV1IxWTJWeVhHNGdJQ0FxTDF4dUlDQmpiMjV6ZEhKMVkzUnZjaWh2Y0hScGIyNXpPaUJQY0hScGIyNXpLU0I3WEc0Z0lDQWdjM1Z3WlhJb2IzQjBhVzl1Y3lrN1hHNGdJQ0FnZEdocGN5NXlaV1IxWTJWeUlEMGdibVYzSUZCVFVFVkNZWE5sS0c5d2RHbHZibk1wTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFVnRZbVZrY3lCMGFHVWdaR0YwWVNCbmFYWmxiaUJwYm5SdklIUm9aU0IwZDI4dFpHbHRaVzV6YVc5dVlXd2djM0JoWTJVZ2RYTnBibWNnZEdobElHMXZaR2xtYVdWa0lGTlFSU0J0WlhSb2IyUXVYRzRnSUNBcUlFQnlaWFIxY200Z2UyRnVlWDBnUTJGeWRHVnphV0Z1SUdOdmIzSmthVzVoZEdVZ2IyWWdkR2hwY3lCbGJXSmxaR1JwYm1jZ1lXNWtJR1JwYzNSaGJtTmxJRzFoZEhKcGVDQjNhR1Z5WlNCaGNIQnNhV05oWW14bExseHVJQ0FnS2k5Y2JpQWdjSFZpYkdsaklHRnplVzVqSUhSeVlXNXpabTl5YlNncE9pQlFjbTl0YVhObFBFbFNaV1IxWTJWRWFXMWxibk5wYjI1aGJHbDBlVkpsYzNWc2RENGdlMXh1SUNBZ0lHTnZibk4wSUdWdFlpQTlJR0YzWVdsMElIUm9hWE11Y21Wa2RXTmxjaTVsYldKbFpDaDBhR2x6TG1SaGRHRXBPMXh1SUNBZ0lISmxkSFZ5YmlCN1pHbHpkR0Z1WTJVNklIUm9hWE11Y21Wa2RXTmxjaTVrYVhOMFlXNWpaU3dnWlcxaVpXUmthVzVuT2lCbGJXSjlPMXh1SUNCOVhHNTlYRzVjYmk4cUtseHVJQ29nU1cxd2JHVnRaVzUwY3lCdmNtbG5hVzVoYkNCVFVFVWdaR2x0Wlc1emFXOXVZV3hwZEhrZ2NtVmtkV04wYVc5dUxseHVJQ3BjYmlBcUlFQmpiR0Z6Y3lCUGNtbG5hVzVoYkZOUVJWSmxaSFZqWlhKY2JpQXFJRUJsZUhSbGJtUnpJSHRTWldSMVkyVnlmVnh1SUNvdlhHNWpiR0Z6Y3lCUGNtbG5hVzVoYkZOUVJWSmxaSFZqWlhJZ1pYaDBaVzVrY3lCU1pXUjFZMlZ5SUh0Y2JpQWdjSEp2ZEdWamRHVmtJSEpsWkhWalpYSTZJRTl5YVdkcGJtRnNVMUJGTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJEY21WaGRHVnpJR0Z1SUdsdWMzUmhibU5sSUc5bUlFOXlhV2RwYm1Gc1UxQkZVbVZrZFdObGNpNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0UGNIUnBiMjV6ZlNCdmNIUnBiMjV6SUU5d2RHbHZibk1nZEc4Z2NHRnpjeUIwYnlCMGFHVWdZMjl1YzNSeWRXTjBiM0l1WEc0Z0lDQXFJRUJ0WlcxaVpYSnZaaUJQY21sbmFXNWhiRk5RUlZKbFpIVmpaWEpjYmlBZ0lDb3ZYRzRnSUdOdmJuTjBjblZqZEc5eUtHOXdkR2x2Ym5NNklFOXdkR2x2Ym5NcElIdGNiaUFnSUNCemRYQmxjaWh2Y0hScGIyNXpLVHRjYmlBZ0lDQjBhR2x6TG5KbFpIVmpaWElnUFNCdVpYY2dUM0pwWjJsdVlXeFRVRVVvYjNCMGFXOXVjeWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1JXMWlaV1J6SUhSb1pTQmtZWFJoSUdkcGRtVnVJR2x1ZEc4Z2RHaGxJSFIzYnkxa2FXMWxibk5wYjI1aGJDQnpjR0ZqWlNCMWMybHVaeUIwYUdVZ2IzSnBaMmx1WVd3Z1UxQkZJRzFsZEdodlpDNWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1lXNTVmU0JEWVhKMFpYTnBZVzRnWTI5dmNtUnBibUYwWlNCdlppQjBhR2x6SUdWdFltVmtaR2x1WnlCaGJtUWdaR2x6ZEdGdVkyVWdiV0YwY21sNElIZG9aWEpsSUdGd2NHeHBZMkZpYkdVdVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1lYTjVibU1nZEhKaGJuTm1iM0p0S0NrNklGQnliMjFwYzJVOFNWSmxaSFZqWlVScGJXVnVjMmx2Ym1Gc2FYUjVVbVZ6ZFd4MFBpQjdYRzRnSUNBZ1kyOXVjM1FnWlcxaUlEMGdZWGRoYVhRZ2RHaHBjeTV5WldSMVkyVnlMbVZ0WW1Wa0tIUm9hWE11WkdGMFlTazdYRzRnSUNBZ2NtVjBkWEp1SUh0a2FYTjBZVzVqWlRvZ2RHaHBjeTV5WldSMVkyVnlMbVJwYzNSaGJtTmxMQ0JsYldKbFpHUnBibWM2SUdWdFluMDdYRzRnSUgxY2JuMWNibHh1WTI5dWMzUWdRWFpoYVd4aFlteGxVbVZrZFdObGNuTWdQU0I3WEc0Z0lDZFZUVUZRSnpvZ1ZVMUJVRkpsWkhWalpYSXNYRzRnSUNkMExWTk9SU2M2SUZSVFRrVlNaV1IxWTJWeUxGeHVJQ0FuVTFCRkp6b2dVMUJGVW1Wa2RXTmxjaXhjYmlBZ0ozQlRVRVVuT2lCUVUxQkZVbVZrZFdObGNpeGNiaUFnSjA5eWFXZHBibUZzVTFCRkp6b2dUM0pwWjJsdVlXeFRVRVZTWldSMVkyVnlMRnh1ZlR0Y2JseHVaWGh3YjNKMElIUjVjR1VnUzI1dmQyNU5aWFJvYjJSeklEMGdhMlY1YjJZZ2RIbHdaVzltSUVGMllXbHNZV0pzWlZKbFpIVmpaWEp6TzF4dVhHNHZLaXBjYmlBcUlGVnVhV1pwWldRZ1kyeGhjM01nYVcxd2JHVnRaVzUwYVc1bklHUnBabVpsY21WdWRDQmthVzFsYm5OcGIyNWhiR2wwZVNCeVpXUjFZM1JwYjI0Z2JXVjBhRzlrY3k1Y2JpQXFYRzRnS2lCQVpYaHdiM0owWEc0Z0tpQkFZMnhoYzNNZ1JHbHRaVzV6YVc5dVlXeHBkSGxTWldSMVkyVnlYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJFYVcxbGJuTnBiMjVoYkdsMGVWSmxaSFZqWlhJZ2UxeHVJQ0J3Y21sMllYUmxJSEpsWkhWalpYSTZJRkpsWkhWalpYSWdmQ0IxYm1SbFptbHVaV1E3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpYTWdZVzRnYVc1emRHRnVZMlVnYjJZZ1JHbHRaVzV6YVc5dVlXeHBkSGxTWldSMVkyVnlMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UyRnVlVnRkZlNCa1lYUmhJRlpsWTNSdmNuTWdkRzhnWlcxaVpXUXVYRzRnSUNBcUlFQndZWEpoYlNCN1MyNXZkMjVOWlhSb2IyUnpmU0J0WlhSb2IyUWdSVzFpWldSa2FXNW5JRzFsZEdodlpDQjBieUJpWlNCaGNIQnNhV1ZrWEc0Z0lDQXFJRUJ3WVhKaGJTQjdTMjV2ZDI1TlpYUnlhV056ZlNCdFpYUnlhV01nUkdsemRHRnVZMlVnYldWMGNtbGpJSFJ2SUdKbElHTnZiWEIxZEdWa0lHSmxkSGRsWlc0Z1pXRmphQ0J2WmlCMGFHVWdkbVZqZEc5eWN5NWNiaUFnSUNvZ1FIQmhjbUZ0SUh0UGNIUnBiMjV6ZlNCYmIzQjBhVzl1YzEwZ1QzQjBhVzl1Y3lCMGJ5QndZWE56SUhSdklIUm9aU0JwYlhCc1pXMWxiblJwYm1jZ1pXMWlaV1JrWlhKekxseHVJQ0FnS2lCQWJXVnRZbVZ5YjJZZ1JHbHRaVzV6YVc5dVlXeHBkSGxTWldSMVkyVnlYRzRnSUNBcUwxeHVJQ0JqYjI1emRISjFZM1J2Y2loa1lYUmhPaUJoYm5sYlhTd2diV1YwYUc5a09pQkxibTkzYmsxbGRHaHZaSE1zSUcxbGRISnBZem9nUzI1dmQyNU5aWFJ5YVdOekxDQnZjSFJwYjI1elB6b2dUM0IwYVc5dWN5a2dlMXh1SUNBZ0lHTnZibk4wSUcxbFlYTjFjbVVnUFNCdVpYY2dUV1ZoYzNWeVpTaHRaWFJ5YVdNcExtZGxkRTFsWVhOMWNtVW9iM0IwYVc5dWN6OHVaR2x6ZEdGdVkyVkdia0Z5WjNNcE8xeHVJQ0FnSUd4bGRDQnpjR1ZqVDNCMGFXOXVjeUE5SUh0OU8xeHVJQ0FnSUd4bGRDQmlhWFJCY25KaGVVeGxibWQwYUNBOUlESXdORGc3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JrWVhSaExteGxibWQwYURzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0JwWmlBb1pHRjBZVnRwWFNBbUppQmtZWFJoVzJsZExsOXNaVzVuZEdncElIdGNiaUFnSUNBZ0lDQWdZbWwwUVhKeVlYbE1aVzVuZEdnZ1BTQmtZWFJoVzJsZExsOXNaVzVuZEdnN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvYVhOQ2FYUkJjbkpoZVUxbGRISnBZeWh0WlhSeWFXTXBLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdSaGRHRXViR1Z1WjNSb095QXJLMmtwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR1JoZEdGYmFWMGdKaVlnWkdGMFlWdHBYUzVmWkdGMFlTbGNiaUFnSUNBZ0lDQWdJQ0JrWVhSaFcybGRJRDBnYm1WM0lFSnBkRUZ5Y21GNUtHUmhkR0ZiYVYwdVgyUmhkR0VzSUdSaGRHRmJhVjB1WDJ4bGJtZDBhQ2s3WEc0Z0lDQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdJQ0JrWVhSaFcybGRJRDBnYm1WM0lFSnBkRUZ5Y21GNUtHSnBkRUZ5Y21GNVRHVnVaM1JvS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JXVjBhRzlrSUQwOUlDZFZUVUZRSnlrZ2UxeHVJQ0FnSUNBZ2MzQmxZMDl3ZEdsdmJuTWdQU0I3WEc0Z0lDQWdJQ0FnSUM0dUxudGtZWFJoT2lCa1lYUmhmU3hjYmlBZ0lDQWdJQ0FnTGk0dWUyUnBjM1JoYm1ObFJtNDZJRzFsWVhOMWNtVjlMRnh1SUNBZ0lDQWdJQ0F1TGk1N1pHbHpkR0Z1WTJWR2JtRnRaVG9nYldWMGNtbGpmU3hjYmlBZ0lDQWdJQ0FnTGk0dWUyNUZjRzlqYUhNNklHOXdkR2x2Ym5NL0xtTjVZMnhsYzMwc1hHNGdJQ0FnSUNBZ0lDNHVMbTl3ZEdsdmJuTXNYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9iV1YwYUc5a0lEMDlJQ2QwTFZOT1JTY3BJSHRjYmlBZ0lDQWdJSE53WldOUGNIUnBiMjV6SUQwZ2UxeHVJQ0FnSUNBZ0lDQXVMaTU3WkdGMFlUb2daR0YwWVgwc1hHNGdJQ0FnSUNBZ0lDNHVMbnRrYVhOMFlXNWpaVVp1T2lCdFpXRnpkWEpsZlN4Y2JpQWdJQ0FnSUNBZ0xpNHVlMlJwYzNSaGJtTmxSbTVoYldVNklHMWxkSEpwWTMwc1hHNGdJQ0FnSUNBZ0lDNHVMbnRwZEdWeVlYUnBiMjV6T2lCdmNIUnBiMjV6UHk1amVXTnNaWE1nUHo4Z2RXNWtaV1pwYm1Wa2ZTeGNiaUFnSUNBZ0lDQWdMaTR1YjNCMGFXOXVjeXhjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h0WlhSb2IyUWdQVDBnSjFOUVJTY3BJSHRjYmlBZ0lDQWdJSE53WldOUGNIUnBiMjV6SUQwZ2V5NHVMbnRrWVhSaE9pQmtZWFJoZlN3Z0xpNHVlMlJwYzNSaGJtTmxPaUJ0WldGemRYSmxmU3dnWkdsemRHRnVZMlZHZFc1amRHbHZiazVoYldVNklHMWxkSEpwWXl3Z0xpNHViM0IwYVc5dWMzMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhOd1pXTlBjSFJwYjI1eklEMGdleTR1TG50a1lYUmhPaUJrWVhSaGZTd2dMaTR1ZTJScGMzUmhibU5sT2lCdFpXRnpkWEpsZlN3Z1pHbHpkR0Z1WTJWR2RXNWpkR2x2Yms1aGJXVTZJRzFsZEhKcFl5d2dMaTR1YjNCMGFXOXVjMzA3WEc0Z0lDQWdmVnh1SUNBZ0lIUm9hWE11Y21Wa2RXTmxjaUE5SUc1bGR5QkJkbUZwYkdGaWJHVlNaV1IxWTJWeWMxdHRaWFJvYjJSZEtITndaV05QY0hScGIyNXpLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRmJXSmxaSE1nZEdobElHUmhkR0VnWjJsMlpXNGdhVzUwYnlCMGFHVWdkSGR2TFdScGJXVnVjMmx2Ym1Gc0lITndZV05sSUhWemFXNW5JSFJvWlNCamFHOXpaVzRnYldWMGFHOWtMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnZTJKdmIyeGxZVzU5SUhSeVlXNXpjRzl6WlNCWGFHVjBhR1Z5SUhSdklIUnlZVzV6Wm05eWJTQmpiMjl5WkdsdVlYUmxjeUIwYnlCb1lYWmxJR052YkhWdGJuTXRabWx5YzNRZ2IzSnBaVzUwWVhScGIyNHVYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ2NHRnlZV3hzWld4RWFYTjBZVzVqWlZkdmNtdGxjbk1nVjJobGRHaGxjaUIwYnlCMWMyVWdjR0Z5WVd4c1pXd2daR2x6ZEdGdVkyVWdZMjl0Y0hWMFlYUnBiMjR1WEc0Z0lDQXFJRUIwYUhKdmQzTWdlMFZ5Y205eWZTQkpaaUIwYUdVZ1pXMWlaV1JrYVc1bklHMWxkR2h2WkNCM1lYTWdibTkwSUdadmRXNWtMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdGhibmw5SUVOaGNuUmxjMmxoYmlCamIyOXlaR2x1WVhSbElHOW1JSFJvYVhNZ1pXMWlaV1JrYVc1bklHRnVaQ0JrYVhOMFlXNWpaU0J0WVhSeWFYZ2dkMmhsY21VZ1lYQndiR2xqWVdKc1pTNWNiaUFnSUNvZ1FHMWxiV0psY205bUlFUnBiV1Z1YzJsdmJtRnNhWFI1VW1Wa2RXTmxjbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR0Z6ZVc1aklIUnlZVzV6Wm05eWJTaDBjbUZ1YzNCdmMyVTZJR0p2YjJ4bFlXNGdQU0JtWVd4elpTd2djR0Z5WVd4c1pXeEVhWE4wWVc1alpWZHZjbXRsY25NL09pQmliMjlzWldGdUtUb2dVSEp2YldselpUeEpVbVZrZFdObFJHbHRaVzV6YVc5dVlXeHBkSGxTWlhOMWJIUStJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXlaV1IxWTJWeUlEMDlQU0IxYm1SbFptbHVaV1FwWEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMUpsWkhWalpYSWdkMkZ6SUc1dmRDQmtaV1pwYm1Wa0xpY3BPMXh1WEc0Z0lDQWdiR1YwSUh0bGJXSmxaR1JwYm1jc0lHUnBjM1JoYm1ObGZTQTlJR0YzWVdsMElIUm9hWE11Y21Wa2RXTmxjaTUwY21GdWMyWnZjbTBvY0dGeVlXeHNaV3hFYVhOMFlXNWpaVmR2Y210bGNuTXBPMXh1WEc0Z0lDQWdhV1lnS0hSeVlXNXpjRzl6WlNsY2JpQWdJQ0FnSUdWdFltVmtaR2x1WnlBOUlIUnlZVzV6Y0c5elpVMWhkSEpwZUNobGJXSmxaR1JwYm1jcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUh0a2FYTjBZVzVqWlRvZ1pHbHpkR0Z1WTJVc0lHVnRZbVZrWkdsdVp6b2daVzFpWldSa2FXNW5mVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUcxbGRISnBZM01nWVhaaGFXeGhZbXhsSUdKNUlIUjVjR1V1WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCN1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWemZTQjBlWEJsVG1GdFpTQjBlWEJsSUc1aGJXVmNiaUFnSUNvZ1FISmxkSFZ5YmlCN2MzUnlhVzVuVzExOUlFMWxkSEpwWXlCdVlXMWxjeUIzYUdsamFDQmxlSEJsWTNSeklIUm9aU0JuYVhabGJpQmtZWFJoSUhSNWNHVmNiaUFnSUNvZ1FHMWxiV0psY205bUlFUnBiV1Z1YzJsdmJtRnNhWFI1VW1Wa2RXTmxjbHh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR0YyWVdsc1lXSnNaVTFsZEhKcFkzTkNlVlI1Y0dVb2RIbHdaVTVoYldVNklFRjJZV2xzWVdKc1pVUmhkR0ZVZVhCbGN5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1YTJWNWN5aEJkbUZwYkdGaWJHVk5aWFJ5YVdOelczUjVjR1ZPWVcxbFhTazdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJrYVcxbGJuTnBiMjVoYkdsMGVTQnlaV1IxWTNScGIyNGdiV1YwYUc5a2N5QmhkbUZwYkdGaWJHVXVYRzRnSUNBcVhHNGdJQ0FxSUVCeVpXRmtiMjVzZVZ4dUlDQWdLaUJBYldWdFltVnliMllnUkdsdFpXNXphVzl1WVd4cGRIbFNaV1IxWTJWeVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1oyVjBJR0YyWVdsc1lXSnNaVTFsZEdodlpITW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlFOWlhbVZqZEM1clpYbHpLRUYyWVdsc1lXSnNaVkpsWkhWalpYSnpLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUcxbGRISnBZM01nWVhaaGFXeGhZbXhsTGx4dUlDQWdLbHh1SUNBZ0tpQkFjbVZoWkc5dWJIbGNiaUFnSUNvZ1FHMWxiV0psY205bUlFUnBiV1Z1YzJsdmJtRnNhWFI1VW1Wa2RXTmxjbHh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR2RsZENCaGRtRnBiR0ZpYkdWTlpYUnlhV056S0NrZ2UxeHVJQ0FnSUd4bGRDQmhibk02SUhOMGNtbHVaMXRkSUQwZ1cxMDdYRzRnSUNBZ1QySnFaV04wTG5aaGJIVmxjeWhCZG1GcGJHRmliR1ZOWlhSeWFXTnpLUzVtYjNKRllXTm9LQ2h2WW1vcElEMCtJSHRjYmlBZ0lDQWdJR052Ym5OMElHRnljbUY1SUQwZ1QySnFaV04wTG5aaGJIVmxjeWh2WW1vcE8xeHVJQ0FnSUNBZ1lXNXpJRDBnV3k0dUxtRnVjeXdnTGk0dVlYSnlZWGxkTzF4dUlDQWdJSDBwTzF4dUlDQWdJSEpsZEhWeWJpQmhibk03WEc0Z0lIMWNibjFjYmlKZGZRPT0iLCJpbXBvcnQgeyBEaW1lbnNpb25hbGl0eVJlZHVjZXIgfSBmcm9tICcuLi9yZWR1Y2UtZGltZW5zaW9uYWxpdHknO1xuLyoqXG4gKiBXb3JrZXIgdGhyZWFkIHJlY2VpdmluZyBkYXRhIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSB7YW55W119IGNvbHVtbkRhdGEgU2FtcGxlcyB0byBwcm9jZXNzLlxuICogQHBhcmFtIHtLbm93bk1ldGhvZHN9IG1ldGhvZCBFbWJlZGRpbmcgbWV0aG9kLlxuICogQHBhcmFtIHtLbm93bk1ldHJpY3N9IG1lYXN1cmUgRGlzdGFuY2UgbWV0cmljLlxuICogQHBhcmFtIHthbnl9IG9wdGlvbnMgT3B0aW9ucyB0byBwYXNzIHRvIGFsZ29yaXRobS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gcGFyYWxsZWxEaXN0YW5jZVdvcmtlcnMgV2hldGhlciB0byB1c2UgcGFyYWxsZWwgZGlzdGFuY2Ugd29ya2Vycy5cbiAqIEByZXR1cm4ge2FueX0gRW1iZWRkaW5nIChhbmQgZGlzdGFuY2UgbWF0cml4IHdoZXJlIGFwcGxpY2FibGUpLlxuICovXG5hc3luYyBmdW5jdGlvbiBvbk1lc3NhZ2UoY29sdW1uRGF0YSwgbWV0aG9kLCBtZWFzdXJlLCBvcHRpb25zLCBwYXJhbGxlbERpc3RhbmNlV29ya2Vycykge1xuICAgIGNvbnN0IHJlZHVjZXIgPSBuZXcgRGltZW5zaW9uYWxpdHlSZWR1Y2VyKGNvbHVtbkRhdGEsIG1ldGhvZCwgbWVhc3VyZSwgeyAuLi5vcHRpb25zLCBwcm9ncmVzc0Z1bmMgfSk7XG4gICAgcmV0dXJuIGF3YWl0IHJlZHVjZXIudHJhbnNmb3JtKHRydWUsIHBhcmFsbGVsRGlzdGFuY2VXb3JrZXJzKTtcbn1cbmFzeW5jIGZ1bmN0aW9uIHByb2dyZXNzRnVuYyhlcG9jaE51bSwgZXBvY2hzTGVuZ3RoLCBlbWJlZGRpbmcpIHtcbiAgICBpZiAoZXBvY2hOdW0gJSA1ID09PSAwKVxuICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKHsgZXBvY2hOdW0sIGVwb2Noc0xlbmd0aCwgZW1iZWRkaW5nIH0pO1xufVxuc2VsZi5vbm1lc3NhZ2UgPSBhc3luYyAoeyBkYXRhOiB7IGNvbHVtbkRhdGEsIG1ldGhvZCwgbWVhc3VyZSwgb3B0aW9ucywgcGFyYWxsZWxEaXN0YW5jZVdvcmtlcnMgfSB9KSA9PiB7XG4gICAgbGV0IGRhdGE7XG4gICAgdHJ5IHtcbiAgICAgICAgZGF0YSA9IGF3YWl0IG9uTWVzc2FnZShjb2x1bW5EYXRhLCBtZXRob2QsIG1lYXN1cmUsIG9wdGlvbnMsIHBhcmFsbGVsRGlzdGFuY2VXb3JrZXJzKTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgZGF0YSA9IHsgZXJyb3I6IGUgfTtcbiAgICB9XG4gICAgc2VsZi5wb3N0TWVzc2FnZSh7XG4gICAgICAgIGVycm9yOiBkYXRhLmVycm9yLFxuICAgICAgICBkaXN0YW5jZTogZGF0YS5kaXN0YW5jZSxcbiAgICAgICAgZW1iZWRkaW5nOiBkYXRhLmVtYmVkZGluZyxcbiAgICB9KTtcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2laR2x0Wlc1emFXOXVZV3hwZEhrdGNtVmtkV05sY2k1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJbVJwYldWdWMybHZibUZzYVhSNUxYSmxaSFZqWlhJdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVDBGQlR5eEZRVUZETEhGQ1FVRnhRaXhGUVVGbExFMUJRVTBzTUVKQlFUQkNMRU5CUVVNN1FVRkhOMFU3T3pzN096czdPenRIUVZOSE8wRkJRMGdzUzBGQlN5eFZRVUZWTEZOQlFWTXNRMEZCUXl4VlFVRnBRaXhGUVVGRkxFMUJRVzlDTEVWQlFVVXNUMEZCY1VJc1JVRkRja1lzVDBGQllTeEZRVUZGTEhWQ1FVRnBRenRKUVVOb1JDeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMSEZDUVVGeFFpeERRVU4yUXl4VlFVRlZMRVZCUTFZc1RVRkJUU3hGUVVOT0xFOUJRVThzUlVGRFVDeEZRVUZETEVkQlFVY3NUMEZCVHl4RlFVRkZMRmxCUVZrc1JVRkJReXhEUVVNelFpeERRVUZETzBsQlEwWXNUMEZCVHl4TlFVRk5MRTlCUVU4c1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeEZRVUZGTEhWQ1FVRjFRaXhEUVVGRExFTkJRVU03UVVGRGFFVXNRMEZCUXp0QlFVVkVMRXRCUVVzc1ZVRkJWU3haUVVGWkxFTkJRVVVzVVVGQlowSXNSVUZCUlN4WlFVRnZRaXhGUVVGRkxGTkJRWEZDTzBsQlEzaEdMRWxCUVVrc1VVRkJVU3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETzFGQlEzQkNMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlF5eFJRVUZSTEVWQlFVVXNXVUZCV1N4RlFVRkZMRk5CUVZNc1JVRkJReXhEUVVGRExFTkJRVU03UVVGRE1VUXNRMEZCUXp0QlFVVkVMRWxCUVVrc1EwRkJReXhUUVVGVExFZEJRVWNzUzBGQlN5eEZRVUZGTEVWQlFVTXNTVUZCU1N4RlFVRkZMRVZCUVVNc1ZVRkJWU3hGUVVGRkxFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNUMEZCVHl4RlFVRkZMSFZDUVVGMVFpeEZRVUZETEVWQlFVTXNSVUZCUlN4RlFVRkZPMGxCUTJwSExFbEJRVWtzU1VGQmIwUXNRMEZCUXp0SlFVTjZSQ3hKUVVGSk8xRkJRMFlzU1VGQlNTeEhRVUZITEUxQlFVMHNVMEZCVXl4RFFVRkRMRlZCUVZVc1JVRkJSU3hOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEU5QlFVOHNSVUZCUlN4MVFrRkJkVUlzUTBGQlF5eERRVUZETzB0QlEzWkdPMGxCUVVNc1QwRkJUeXhEUVVGTkxFVkJRVVU3VVVGRFppeEpRVUZKTEVkQlFVY3NSVUZCUXl4TFFVRkxMRVZCUVVVc1EwRkJReXhGUVVGRExFTkJRVU03UzBGRGJrSTdTVUZEUkN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRE8xRkJRMllzUzBGQlN5eEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxPMUZCUTJwQ0xGRkJRVkVzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVR0UlFVTjJRaXhUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTTdTMEZETVVJc1EwRkJReXhEUVVGRE8wRkJRMHdzUTBGQlF5eERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0RWFXMWxibk5wYjI1aGJHbDBlVkpsWkhWalpYSXNJRXR1YjNkdVRXVjBhRzlrYzMwZ1puSnZiU0FuTGk0dmNtVmtkV05sTFdScGJXVnVjMmx2Ym1Gc2FYUjVKenRjYm1sdGNHOXlkQ0I3UzI1dmQyNU5aWFJ5YVdOemZTQm1jbTl0SUNjdUxpOTBlWEJsWkMxdFpYUnlhV056TDNSNWNHVmtMVzFsZEhKcFkzTW5PMXh1WEc0dktpcGNiaUFxSUZkdmNtdGxjaUIwYUhKbFlXUWdjbVZqWldsMmFXNW5JR1JoZEdFZ1puVnVZM1JwYjI0dVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0aGJubGJYWDBnWTI5c2RXMXVSR0YwWVNCVFlXMXdiR1Z6SUhSdklIQnliMk5sYzNNdVhHNGdLaUJBY0dGeVlXMGdlMHR1YjNkdVRXVjBhRzlrYzMwZ2JXVjBhRzlrSUVWdFltVmtaR2x1WnlCdFpYUm9iMlF1WEc0Z0tpQkFjR0Z5WVcwZ2UwdHViM2R1VFdWMGNtbGpjMzBnYldWaGMzVnlaU0JFYVhOMFlXNWpaU0J0WlhSeWFXTXVYRzRnS2lCQWNHRnlZVzBnZTJGdWVYMGdiM0IwYVc5dWN5QlBjSFJwYjI1eklIUnZJSEJoYzNNZ2RHOGdZV3huYjNKcGRHaHRMbHh1SUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCd1lYSmhiR3hsYkVScGMzUmhibU5sVjI5eWEyVnljeUJYYUdWMGFHVnlJSFJ2SUhWelpTQndZWEpoYkd4bGJDQmthWE4wWVc1alpTQjNiM0pyWlhKekxseHVJQ29nUUhKbGRIVnliaUI3WVc1NWZTQkZiV0psWkdScGJtY2dLR0Z1WkNCa2FYTjBZVzVqWlNCdFlYUnlhWGdnZDJobGNtVWdZWEJ3YkdsallXSnNaU2t1WEc0Z0tpOWNibUZ6ZVc1aklHWjFibU4wYVc5dUlHOXVUV1Z6YzJGblpTaGpiMngxYlc1RVlYUmhPaUJoYm5sYlhTd2diV1YwYUc5a09pQkxibTkzYmsxbGRHaHZaSE1zSUcxbFlYTjFjbVU2SUV0dWIzZHVUV1YwY21samN5eGNiaUFnYjNCMGFXOXVjejg2SUdGdWVTd2djR0Z5WVd4c1pXeEVhWE4wWVc1alpWZHZjbXRsY25NL09pQmliMjlzWldGdUtUb2dVSEp2YldselpUeDdaR2x6ZEdGdVkyVS9PaUJoYm5rc0lHVnRZbVZrWkdsdVp6ODZJR0Z1ZVgwK0lIdGNiaUFnWTI5dWMzUWdjbVZrZFdObGNpQTlJRzVsZHlCRWFXMWxibk5wYjI1aGJHbDBlVkpsWkhWalpYSW9YRzRnSUNBZ1kyOXNkVzF1UkdGMFlTeGNiaUFnSUNCdFpYUm9iMlFzWEc0Z0lDQWdiV1ZoYzNWeVpTeGNiaUFnSUNCN0xpNHViM0IwYVc5dWN5d2djSEp2WjNKbGMzTkdkVzVqZlN4Y2JpQWdLVHRjYmlBZ2NtVjBkWEp1SUdGM1lXbDBJSEpsWkhWalpYSXVkSEpoYm5ObWIzSnRLSFJ5ZFdVc0lIQmhjbUZzYkdWc1JHbHpkR0Z1WTJWWGIzSnJaWEp6S1R0Y2JuMWNibHh1WVhONWJtTWdablZ1WTNScGIyNGdjSEp2WjNKbGMzTkdkVzVqSUNobGNHOWphRTUxYlRvZ2JuVnRZbVZ5TENCbGNHOWphSE5NWlc1bmRHZzZJRzUxYldKbGNpd2daVzFpWldSa2FXNW5PaUJ1ZFcxaVpYSmJYVnRkS1NCN1hHNGdJR2xtSUNobGNHOWphRTUxYlNBbElEVWdQVDA5SURBcFhHNGdJQ0FnYzJWc1ppNXdiM04wVFdWemMyRm5aU2g3WlhCdlkyaE9kVzBzSUdWd2IyTm9jMHhsYm1kMGFDd2daVzFpWldSa2FXNW5mU2s3WEc1OVhHNWNibk5sYkdZdWIyNXRaWE56WVdkbElEMGdZWE41Ym1NZ0tIdGtZWFJoT2lCN1kyOXNkVzF1UkdGMFlTd2diV1YwYUc5a0xDQnRaV0Z6ZFhKbExDQnZjSFJwYjI1ekxDQndZWEpoYkd4bGJFUnBjM1JoYm1ObFYyOXlhMlZ5YzMxOUtTQTlQaUI3WEc0Z0lHeGxkQ0JrWVhSaE9pQjdaWEp5YjNJL09pQmhibmtzSUdScGMzUmhibU5sUHpvZ1lXNTVMQ0JsYldKbFpHUnBibWMvT2lCaGJubDlPMXh1SUNCMGNua2dlMXh1SUNBZ0lHUmhkR0VnUFNCaGQyRnBkQ0J2YmsxbGMzTmhaMlVvWTI5c2RXMXVSR0YwWVN3Z2JXVjBhRzlrTENCdFpXRnpkWEpsTENCdmNIUnBiMjV6TENCd1lYSmhiR3hsYkVScGMzUmhibU5sVjI5eWEyVnljeWs3WEc0Z0lIMGdZMkYwWTJnZ0tHVTZJR0Z1ZVNrZ2UxeHVJQ0FnSUdSaGRHRWdQU0I3WlhKeWIzSTZJR1Y5TzF4dUlDQjlYRzRnSUhObGJHWXVjRzl6ZEUxbGMzTmhaMlVvZTF4dUlDQWdJR1Z5Y205eU9pQmtZWFJoTG1WeWNtOXlMRnh1SUNBZ0lHUnBjM1JoYm1ObE9pQmtZWFJoTG1ScGMzUmhibU5sTEZ4dUlDQWdJR1Z0WW1Wa1pHbHVaem9nWkdGMFlTNWxiV0psWkdScGJtY3NYRzRnSUgwcE8xeHVmVHRjYmlKZGZRPT0iLCIvKipcbiAqIEdlbmVyYXRlcyBzaW5nbGUgcmFuZG9tIGZsb2F0IGZyb20gMCB0byByYW5nZS5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge251bWJlcn0gcmFuZ2UgTWF4IGdlbmVyYXRpbmcgdmFsdWUuXG4gKiBAcmV0dXJuIHtudW1iZXJ9IEEgcmFuZG9tIGZsb2F0IGdlbmVyYXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJhbmRvbUZsb2F0KHJhbmdlKSB7XG4gICAgcmV0dXJuIE1hdGgucmFuZG9tKCkgKiByYW5nZTtcbn1cbi8qKlxuICogR2VuZXJhdGVzIHNpbmdsZSByYW5kb20gaW50ZWdlciBmcm9tIDAgdG8gcmFuZ2UuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IHJhbmdlIE1heCBnZW5lcmF0aW5nIHZhbHVlLlxuICogQHJldHVybiB7bnVtYmVyfSBBIHJhbmRvbSBpbnRlZ2VyIGdlbmVyYXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJhbmRvbUludChyYW5nZSkge1xuICAgIHJldHVybiBNYXRoLmZsb29yKHJhbmRvbUZsb2F0KHJhbmdlKSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2ljbUZ1Wkc5dExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpY21GdVpHOXRMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk96czdPenM3UjBGTlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4WFFVRlhMRU5CUVVNc1MwRkJZVHRKUVVOMlF5eFBRVUZQTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhMUVVGTExFTkJRVU03UVVGREwwSXNRMEZCUXp0QlFVVkVPenM3T3pzN1IwRk5SenRCUVVOSUxFMUJRVTBzVlVGQlZTeFRRVUZUTEVOQlFVTXNTMEZCWVR0SlFVTnlReXhQUVVGUExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNWMEZCVnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGVFTXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1IyVnVaWEpoZEdWeklITnBibWRzWlNCeVlXNWtiMjBnWm14dllYUWdabkp2YlNBd0lIUnZJSEpoYm1kbExseHVJQ3BjYmlBcUlFQmxlSEJ2Y25SY2JpQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQnlZVzVuWlNCTllYZ2daMlZ1WlhKaGRHbHVaeUIyWVd4MVpTNWNiaUFxSUVCeVpYUjFjbTRnZTI1MWJXSmxjbjBnUVNCeVlXNWtiMjBnWm14dllYUWdaMlZ1WlhKaGRHVmtMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NtRnVaRzl0Um14dllYUW9jbUZ1WjJVNklHNTFiV0psY2lrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQk5ZWFJvTG5KaGJtUnZiU2dwSUNvZ2NtRnVaMlU3WEc1OVhHNWNiaThxS2x4dUlDb2dSMlZ1WlhKaGRHVnpJSE5wYm1kc1pTQnlZVzVrYjIwZ2FXNTBaV2RsY2lCbWNtOXRJREFnZEc4Z2NtRnVaMlV1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUhKaGJtZGxJRTFoZUNCblpXNWxjbUYwYVc1bklIWmhiSFZsTGx4dUlDb2dRSEpsZEhWeWJpQjdiblZ0WW1WeWZTQkJJSEpoYm1SdmJTQnBiblJsWjJWeUlHZGxibVZ5WVhSbFpDNWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKaGJtUnZiVWx1ZENoeVlXNW5aVG9nYm5WdFltVnlLVG9nYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUUxaGRHZ3VabXh2YjNJb2NtRnVaRzl0Um14dllYUW9jbUZ1WjJVcEtUdGNibjFjYmlKZGZRPT0iLCJpbXBvcnQgeyBWZWN0b3IgfSBmcm9tICcuL3R5cGUtZGVjbGFyYXRpb25zJztcbmltcG9ydCB7IHJhbmRvbUZsb2F0LCByYW5kb21JbnQgfSBmcm9tICcuL3JhbmRvbSc7XG4vKipcbiAqIEFzc2VydHMgYSBjb25kaXRpb24gYnkgdGhyb3dpbmcgYW4gRXJyb3IuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtib29sZWFufSBbY29uZGl0aW9uPWZhbHNlXSBDb25kaXRpb24gdG8gYXNzZXJ0LlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlPSdBc3NlcnRpb24gZXJyb3IuJ10gTWVzc2FnZSB0byBvdXRwdXQuXG4gKiBAdGhyb3dzIHtFcnJvcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydChjb25kaXRpb24gPSBmYWxzZSwgbWVzc2FnZSA9ICdBc3NlcnRpb24gZXJyb3IuJykge1xuICAgIGlmICghY29uZGl0aW9uKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG59XG4vKipcbiAqIENyZWF0ZXMgbmV3IHR3by1kaW1lbnNpb25hbCBhcnJheSBhbmQgZmlsbHMgaXQgd2l0aCB0aGUgdmFsdWUgZ2l2ZW4uXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbjEgVGhlIGZpcnN0IGRpbWVuc2lvbiBvZiB0aGUgY29vcmRpbmF0ZXMgKG51bWJlciBvZiByb3dzKS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBkaW1lbnNpb24yIFRoZSBzZWNvbmQgZGltZW5zaW9uIG9mIHRoZSBjb29yZGluYXRlcyAobnVtYmVyIG9mIGNvbHVtbnMpLlxuICogQHBhcmFtIHtudW1iZXJ9IFtmaWxsPTBdIEEgdmFsdWUgdG8gZmlsbCB0aGUgY29vcmRpbmF0ZXMgd2l0aC5cbiAqIEByZXR1cm4ge0Nvb3JkaW5hdGVzfSBBIHR3by1kaW1lbnNpb25hbCBmaWxsZWQgd2l0aCB0aGUgdmFsdWUgZ2l2ZW4uXG4gKiBAdG9kbyBNaWdodCBiZSBzbG93IHNpbmNlIHVzZWQgQXJyYXkubWFwLiBQcm9iYWJseSBuZWVkcyBwZXJmb3JtYW5jZSByZXZpc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXRDb29yZGluYXRlcyhkaW1lbnNpb24xLCBkaW1lbnNpb24yLCBmaWxsID0gMCkge1xuICAgIHJldHVybiBuZXcgQXJyYXkoZGltZW5zaW9uMSkuZmlsbChmaWxsKS5tYXAoKCkgPT4gKG5ldyBWZWN0b3IoZGltZW5zaW9uMikuZmlsbChmaWxsKSkpO1xufVxuLyoqXG4gKiBUcmFuc3Bvc2UgbWF0cml4LlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7TWF0cml4fSBtYXRyaXggVGhlIG1hdHJpeCB0byBiZSB0cmFuc3Bvc2VkLlxuICogQHJldHVybiB7TWF0cml4fSBUcmFuc3Bvc2VkIG1hdHJpeC5cbiAqIEB0b2RvIE1pZ2h0IGJlIHNsb3cgc2luY2UgdXNlZCBBcnJheS5tYXAuIFByb2JhYmx5IG5lZWRzIHBlcmZvcm1hbmNlIHJldmlzaW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNwb3NlTWF0cml4KG1hdHJpeCkge1xuICAgIHJldHVybiBuZXcgQXJyYXkobWF0cml4WzBdLmxlbmd0aCkuZmlsbCgwKVxuICAgICAgICAubWFwKChfLCBpKSA9PiAobmV3IFZlY3RvcihtYXRyaXgubGVuZ3RoKS5maWxsKDApLm1hcCgoXywgaikgPT4gKG1hdHJpeFtqXVtpXSkpKSk7XG59XG4vKipcbiAqIEFkZHMgdHdvIHZlY3RvcnMgd2l0aCB0aGUgc2Vjb25kIG9uZSB0byBiZSBtdWx0aXBsaWVkIGJ5IHRoZSBnaXZlbiByYXRpby5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge1ZlY3Rvcn0gcCBUaGUgZmlyc3QgdmVjdG9yIHRvIGFkZC5cbiAqIEBwYXJhbSB7VmVjdG9yfSBxIFRoZSBzZWNvbmQgdmVjdG9yIHRvIGFkZC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbbXVsdGlwbGllcj0xXSBBIG11bHRpcGxpZXIgdG8gYmUgdXNlZCBiZWZvcmUgdGhlIHNlY29uZCB2ZWN0b3IgaXMgYWRkZWQuXG4gKiBAcmV0dXJuIHtWZWN0b3J9IE5ldyB2ZWN0b3IgY29udGFpbmVkIHRoZSByZXN1bHQgb2Ygb3BlcmF0aW9uIHArbXVsdGlwbGllcipxLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmVjdG9yQWRkKHAsIHEsIG11bHRpcGxpZXIgPSAxKSB7XG4gICAgY29uc3Qgbkl0ZW1zID0gcC5sZW5ndGg7XG4gICAgYXNzZXJ0KG5JdGVtcyA9PSBxLmxlbmd0aCwgJ1ZlY3RvciBsZW5ndGhzIGRvIG5vdCBtYXRjaC4nKTtcbiAgICBjb25zdCB0b3RhbCA9IG5ldyBWZWN0b3Iobkl0ZW1zKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHAubGVuZ3RoOyArK2kpXG4gICAgICAgIHRvdGFsW2ldID0gcFtpXSArIG11bHRpcGxpZXIgKiBxW2ldO1xuICAgIHJldHVybiB0b3RhbDtcbn1cbi8qKlxuICogU3VtcyB0aGUgdmVjdG9yJ3MgaXRlbXMuXG4gKlxuICogQHBhcmFtIHtWZWN0b3J9IHYgVGhlIHZlY3RvciB0byBiZSBzdW1tZWQuXG4gKiBAcmV0dXJuIHtudW1iZXJ9IFRoZSB2ZWN0b3IncyBpdGVtcyBzdW0uXG4gKi9cbmZ1bmN0aW9uIGl0ZW1zU3VtKHYpIHtcbiAgICBsZXQgdG90YWwgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdi5sZW5ndGg7ICsraSlcbiAgICAgICAgdG90YWwgKz0gdltpXTtcbiAgICByZXR1cm4gdG90YWw7XG59XG4vKipcbiAqIFN1cWFyZXMgdGhlIHZlY3RvcidzIGl0ZW1zLlxuICpcbiAqIEBwYXJhbSB7VmVjdG9yfSB2IFRoZSB2ZWN0b3IgdG8gc3F1YXJlLlxuICogQHJldHVybiB7VmVjdG9yfSBBIG5ldyB2ZWN0b3IgY29udGFpbmluZyB0aGUgb3JpZ2luYWwncyBpdGVtcyBzcXVhcmVkLlxuICovXG5mdW5jdGlvbiB2ZWN0b3JTcXVhcmUodikge1xuICAgIGNvbnN0IG5JdGVtcyA9IHYubGVuZ3RoO1xuICAgIGNvbnN0IHRvdGFsID0gbmV3IFZlY3RvcihuSXRlbXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdi5sZW5ndGg7ICsraSlcbiAgICAgICAgdG90YWxbaV0gPSB2W2ldICogdltpXTtcbiAgICByZXR1cm4gdG90YWw7XG59XG5leHBvcnQgZnVuY3Rpb24gdmVjdG9yTGVuZ3RoKHYpIHtcbiAgICBsZXQgc3FyU3VtID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHYubGVuZ3RoOyBpKyspXG4gICAgICAgIHNxclN1bSArPSB2W2ldICogdltpXTtcbiAgICByZXR1cm4gTWF0aC5zcXJ0KHNxclN1bSk7XG59XG5leHBvcnQgZnVuY3Rpb24gdmVjdG9yRG90UHJvZHVjdCh2MSwgdjIpIHtcbiAgICBpZiAodjEubGVuZ3RoICE9IHYyLmxlbmd0aClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZGltZW5zaW9uYWxpdHkgb2YgdGhlIHZlY3RvcnMgbXVzdCBtYXRjaCcpO1xuICAgIGxldCBwcm9kID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHYxLmxlbmd0aDsgaSsrKVxuICAgICAgICBwcm9kICs9IHYxW2ldICogdjJbaV07XG4gICAgcmV0dXJuIHByb2Q7XG59XG4vKipcbiAqIENyZWF0ZXMgYSBtYXRyaXggZmlsbGVkIHdpdGggcmFuZG9tIGZsb2F0aW5nIHBvaW50IHZhbHVlcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge251bWJlcn0gZGltZW5zaW9uMSBUaGUgZmlyc3QgZGltZW5zaW9uIG9mIHRoZSBtYXRyaXguXG4gKiBAcGFyYW0ge251bWJlcn0gZGltZW5zaW9uMiBUaGUgc2Vjb25kIGRpbWVuc2lvbiBvZiB0aGUgbWF0cml4LlxuICogQHBhcmFtIHtudW1iZXJ9IFtzY2FsZT0xLl0gTWF4IHZhbHVlIGdpdmVuIGJ5IHJhbmRvbSBnZW5lcmF0b3IuXG4gKiBAcmV0dXJuIHtNYXRyaXh9IEEgbmV3IG1hdHJpeCBmaWxsZWQgd2l0aCByYW5kb20gZmxvYXRpbmcgcG9pbnQgIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbGxSYW5kb21NYXRyaXgoZGltZW5zaW9uMSwgZGltZW5zaW9uMiwgc2NhbGUgPSAxLikge1xuICAgIGNvbnN0IG1hdHJpeCA9IGluaXRDb29yZGluYXRlcyhkaW1lbnNpb24xLCBkaW1lbnNpb24yKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpbWVuc2lvbjE7ICsraSkge1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGRpbWVuc2lvbjI7ICsrailcbiAgICAgICAgICAgIG1hdHJpeFtpXVtqXSA9IHJhbmRvbUZsb2F0KHNjYWxlKTtcbiAgICB9XG4gICAgcmV0dXJuIG1hdHJpeDtcbn1cbi8qKlxuICogQ2FsY3VsYXRlcyBFdWNsaWRlYW4gZGlzdGFuY2UgYmV0d2VlbiB0d28gdmVjdG9ycy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge1ZlY3Rvcn0gcCBUaGUgZmlyc3QgdmVjdG9yLlxuICogQHBhcmFtIHtWZWN0b3J9IHEgVGhlIHNlY29uZCB2ZWN0b3IuXG4gKiBAcmV0dXJuIHtudW1iZXJ9IEV1Y2xpZGVhbiBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBnaXZlbiB2ZWN0b3JzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlRXVjbGlkZWFuRGlzdGFuY2UocCwgcSkge1xuICAgIGxldCByZXN1bHQgPSAwO1xuICAgIGNvbnN0IGxlbiA9IHAubGVuZ3RoO1xuICAgIGlmIChsZW4gIT09IHEubGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBkaW1lbnNpb25hbGl0eSBvZiB0aGUgdmVjdG9ycyBtdXN0IG1hdGNoJyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47ICsraSlcbiAgICAgICAgcmVzdWx0ICs9IE1hdGgucG93KChwW2ldIC0gcVtpXSksIDIpO1xuICAgIHJldHVybiBNYXRoLnNxcnQocmVzdWx0KTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhIGRpc3RhbmNlIG1hdHJpeCB1c2luZyBhIGN1c3RvbSBkaXN0YW5jZSBmdW5jdGlvbi5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge1ZlY3RvcnN9IGRhdGEgSW5wdXQgdmVjdG9ycyB0byBjYWxjdWxhdGUgZGlzdGFuY2VzLlxuICogQHBhcmFtIHtEaXN0YW5jZU1ldHJpY30gZGlzdGFuY2UgQ3VzdG9tIGRpc3RhbmNlIGZ1bmN0aW9uLlxuICogQHJldHVybiB7TWF0cml4fSBDYWxjdWxhdGVkIGN1c3RvbSBkaXN0YW5jZSBtYXRyaXguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjRGlzdGFuY2VNYXRyaXgoZGF0YSwgZGlzdGFuY2UpIHtcbiAgICBjb25zdCBuSXRlbXMgPSBkYXRhLmxlbmd0aDtcbiAgICBjb25zdCBtYXRyaXggPSBpbml0Q29vcmRpbmF0ZXMobkl0ZW1zLCBuSXRlbXMsIDApO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbkl0ZW1zOyArK2kpIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgbkl0ZW1zOyArK2opIHtcbiAgICAgICAgICAgIGNvbnN0IGQgPSAoZGF0YVtpXSA9PSBudWxsKSB8fCAoZGF0YVtqXSA9PSBudWxsKSA/IDAgOiBkaXN0YW5jZShkYXRhW2ldLCBkYXRhW2pdKTtcbiAgICAgICAgICAgIG1hdHJpeFtpXVtqXSA9IG1hdHJpeFtqXVtpXSA9IGQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1hdHJpeDtcbn1cbi8qKlxuICogQ3JlYXRlcyBhIGRpc3RhbmNlIG1hdHJpeCB1c2luZyBhIGN1c3RvbSBkaXN0YW5jZSBmdW5jdGlvbi5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge1ZlY3RvcnN9IGRhdGEgSW5wdXQgdmVjdG9ycyB0byBjYWxjdWxhdGUgZGlzdGFuY2VzLlxuICogQHBhcmFtIHtEaXN0YW5jZU1ldHJpY30gZGlzdGFuY2UgQ3VzdG9tIGRpc3RhbmNlIGZ1bmN0aW9uLlxuICogQHJldHVybiB7TWF0cml4fSBDYWxjdWxhdGVkIGN1c3RvbSBkaXN0YW5jZSBtYXRyaXguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjTm9ybWFsaXplZERpc3RhbmNlTWF0cml4KGRhdGEsIGRpc3RhbmNlKSB7XG4gICAgY29uc3Qgbkl0ZW1zID0gZGF0YS5sZW5ndGg7XG4gICAgY29uc3QgbWF0cml4ID0gaW5pdENvb3JkaW5hdGVzKG5JdGVtcywgbkl0ZW1zLCAwKTtcbiAgICBsZXQgbWF4ID0gTnVtYmVyLk1JTl9WQUxVRTtcbiAgICBsZXQgbWluID0gTnVtYmVyLk1BWF9WQUxVRTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5JdGVtczsgKytpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBpOyBqIDwgbkl0ZW1zOyArK2opIHtcbiAgICAgICAgICAgIGNvbnN0IGQgPSAoZGF0YVtpXSA9PSBudWxsKSB8fCAoZGF0YVtqXSA9PSBudWxsIHx8IGkgPT09IGopID8gMCA6IGRpc3RhbmNlKGRhdGFbaV0sIGRhdGFbal0pO1xuICAgICAgICAgICAgbWF0cml4W2ldW2pdID0gbWF0cml4W2pdW2ldID0gZDtcbiAgICAgICAgICAgIGlmIChkID4gbWF4KVxuICAgICAgICAgICAgICAgIG1heCA9IGQ7XG4gICAgICAgICAgICBpZiAoZCA8IG1pbilcbiAgICAgICAgICAgICAgICBtaW4gPSBkO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbkl0ZW1zOyArK2kpIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgbkl0ZW1zOyArK2opXG4gICAgICAgICAgICBtYXRyaXhbaV1bal0gPSBtYXRyaXhbal1baV0gPSAobWF0cml4W2ldW2pdIC0gbWluKSAvIChtYXggLSBtaW4pO1xuICAgIH1cbiAgICByZXR1cm4gbWF0cml4O1xufVxuLyoqIEdlbmVyYXRlcyBhcnJheSBmcm9tIGEgcmFuZ2UgW2JlZ2luOyBlbmRdIG9yIFtiZWdpbjsgZW5kKSBpZiBlbmRFeGNsdXNpdmUuICoqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlblJhbmdlKGJlZ2luLCBlbmQsIGVuZEV4Y2x1c2l2ZSA9IGZhbHNlKSB7XG4gICAgY29uc3Qgbkl0ZW1zID0gZW5kIC0gYmVnaW4gKyAoZW5kRXhjbHVzaXZlID8gMCA6IDEpO1xuICAgIGNvbnN0IHNlcmllcyA9IG5ldyBJbnQzMkFycmF5KG5JdGVtcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuSXRlbXM7ICsraSlcbiAgICAgICAgc2VyaWVzW2ldID0gYmVnaW4gKyBpO1xuICAgIHJldHVybiBzZXJpZXM7XG59XG4vKipcbiAqIFJldHVybnMgb3JkZXIgb2YgdmFsdWVzIGFzIGlmIHRoZXkgYXJlIHNvcnRlZC5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge2FueVtdfSB2YWx1ZXMgSW5wdXQgYXJyYXkuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtyZXZlcnNlPWZhbHNlXSBXaGV0aGVyIHRvIHJldHVybiByZXZlcnNlZCBvcmRlci5cbiAqIEByZXR1cm4ge251bWJlcltdfSBUaGUgb3JkZXIgY29tcHV0ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcmdTb3J0KHZhbHVlcywgcmV2ZXJzZSA9IGZhbHNlKSB7XG4gICAgY29uc3Qgc29ydGZuID0gcmV2ZXJzZSA/IChhLCBiKSA9PiAoYlswXSAtIGFbMF0pIDogKGEsIGIpID0+IChhWzBdIC0gYlswXSk7XG4gICAgY29uc3QgZGVjb3IgPSAodiwgaSkgPT4gW3YsIGldOyAvLyBzZXQgaW5kZXggdG8gdmFsdWVcbiAgICBjb25zdCB1bmRlY29yID0gKGEpID0+IGFbMV07IC8vIGxlYXZlIG9ubHkgaW5kZXhcbiAgICBjb25zdCBfYXJnc29ydCA9IChhcnIpID0+IGFyci5tYXAoZGVjb3IpLnNvcnQoc29ydGZuKS5tYXAodW5kZWNvcik7XG4gICAgcmV0dXJuIF9hcmdzb3J0KHZhbHVlcyk7XG59XG4vKipcbiAqIFJldHVybnMgdGhlIGluZGV4ZXMgb2YgdGhlIG1vc3QgZGl2ZXJzZSBvYmplY3RzIGFjY29yZGluZyB0byB0aGUgZGlzdCBmdW5jdGlvblxuICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aCB0b3RhbCBudW1iZXIgb2Ygb2JqZWN0c1xuICogQHBhcmFtIHtudW1iZXJ9IG4gbnVtYmVyIG9mIGRpdmVyc2UgZWxlbWVudHMgdG8gZmluZFxuICogQHBhcmFtIHsoaTE6IG51bWJlciwgaTI6IG51bWJlcikgPT4gbnVtYmVyfSBkaXN0IGEgZnVuY3Rpb24gd2hpY2ggY2FsY3VsYXRlcyBkaXN0YW5jZSBiZXR3ZWVuXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHdvIG9iamVjdHMgdXNpbmcgdGhlaXIgaW5kZXhlc1xuICogQHJldHVybnMge251bWJlcltdfSBUaGUgaW5kZXhlcyBvZiB0aGUgbW9zdCBkaXZlcnNlIG9iamVjdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERpdmVyc2VTdWJzZXQobGVuZ3RoLCBuLCBkaXN0KSB7XG4gICAgZnVuY3Rpb24gbWF4QnkodmFsdWVzLCBvcmRlckJ5KSB7XG4gICAgICAgIGxldCBtYXhWYWx1ZSA9IG51bGw7XG4gICAgICAgIGxldCBtYXhPcmRlckJ5ID0gbnVsbDtcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHZhbHVlcykge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudE9yZGVyQnkgPSBvcmRlckJ5KGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKG1heE9yZGVyQnkgPT0gbnVsbCB8fCBlbGVtZW50T3JkZXJCeSA+IG1heE9yZGVyQnkpIHtcbiAgICAgICAgICAgICAgICBtYXhWYWx1ZSA9IGVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgbWF4T3JkZXJCeSA9IGVsZW1lbnRPcmRlckJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXhWYWx1ZTtcbiAgICB9XG4gICAgY29uc3Qgc3Vic2V0ID0gW3JhbmRvbUludChsZW5ndGggLSAxKV07XG4gICAgY29uc3QgY29tcGxlbWVudCA9IG5ldyBTZXQoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgICAgIGlmICghc3Vic2V0LmluY2x1ZGVzKGkpKVxuICAgICAgICAgICAgY29tcGxlbWVudC5hZGQoaSk7XG4gICAgfVxuICAgIHdoaWxlIChzdWJzZXQubGVuZ3RoIDwgbikge1xuICAgICAgICBjb25zdCBpZHggPSBtYXhCeShjb21wbGVtZW50LnZhbHVlcygpLCAoaSkgPT4gTWF0aC5taW4uYXBwbHkoTWF0aCwgc3Vic2V0Lm1hcChmdW5jdGlvbiAodmFsLCBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIGRpc3QoaSwgdmFsKTtcbiAgICAgICAgfSkpKTtcbiAgICAgICAgaWYgKGlkeCkge1xuICAgICAgICAgICAgc3Vic2V0LnB1c2goaWR4KTtcbiAgICAgICAgICAgIGNvbXBsZW1lbnQuZGVsZXRlKGlkeCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHN1YnNldDtcbn1cbi8qKlxuICogUmV0dXJucyBub3JtYWxpemVkIHZlY3Rvci5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge1ZlY3Rvcn0gZGF0YSBudW1lcmljYWwgYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZShkYXRhKSB7XG4gICAgY29uc3QgbGVuID0gZGF0YS5sZW5ndGg7XG4gICAgbGV0IHN1bSA9IDA7XG4gICAgbGV0IHN1bU9mU3F1YXJlcyA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47ICsraSkge1xuICAgICAgICBzdW0gKz0gZGF0YVtpXTtcbiAgICAgICAgc3VtT2ZTcXVhcmVzICs9IE1hdGgucG93KGRhdGFbaV0sIDIpO1xuICAgIH1cbiAgICBjb25zdCBtZWFuID0gc3VtIC8gbGVuO1xuICAgIGNvbnN0IHN0ZERldkludmVyc2UgPSAxLjAgLyBNYXRoLnNxcnQoc3VtT2ZTcXVhcmVzIC8gbGVuIC0gTWF0aC5wb3cobWVhbiwgMikpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyArK2kpXG4gICAgICAgIGRhdGFbaV0gPSAoZGF0YVtpXSAtIG1lYW4pICogc3RkRGV2SW52ZXJzZTtcbiAgICByZXR1cm4gZGF0YTtcbn1cbi8qKlxuICogRmluZHMgc2V0IGRpZmZlcmVuY2UgYmV0d2VlbiB0d28gbGlzdHMuXG4gKiBAcGFyYW0ge2FueVtdfSBhIFRoZSBmaXJzdCBsaXN0LlxuICogQHBhcmFtIHthbnlbXX0gYiBUaGUgc2Vjb25kIGxpc3QuXG4gKiBAcmV0dXJuIHthbnlbXX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldERpZmZlcmVuY2UoYSwgYikge1xuICAgIGNvbnN0IGJTZXQgPSBuZXcgU2V0KGIpO1xuICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoYS5maWx0ZXIoKHgpID0+ICFiU2V0Lmhhcyh4KSkpLnZhbHVlcygpKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRtVmpkRzl5TFc5d1pYSmhkR2x2Ym5NdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUoyWldOMGIzSXRiM0JsY21GMGFXOXVjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeFBRVUZQTEVWQlFWTXNUVUZCVFN4RlFVRjFReXhOUVVGTkxIRkNRVUZ4UWl4RFFVRkRPMEZCUTNwR0xFOUJRVThzUlVGQlF5eFhRVUZYTEVWQlFVVXNVMEZCVXl4RlFVRkRMRTFCUVUwc1ZVRkJWU3hEUVVGRE8wRkJSV2hFT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVFVGQlRTeERRVUZETEZsQlFYRkNMRXRCUVVzc1JVRkJSU3hWUVVGclFpeHJRa0ZCYTBJN1NVRkRja1lzU1VGQlNTeERRVUZETEZOQlFWTTdVVUZEV2l4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzBGQlF6ZENMRU5CUVVNN1FVRkZSRHM3T3pzN096czdSMEZSUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3hsUVVGbExFTkJRVU1zVlVGQmEwSXNSVUZCUlN4VlFVRnJRaXhGUVVGRkxFOUJRV1VzUTBGQlF6dEpRVU4wUml4UFFVRlBMRWxCUVVrc1MwRkJTeXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNRMEZCUXl4SlFVRkpMRTFCUVUwc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM3BHTEVOQlFVTTdRVUZGUkRzN096czdPenRIUVU5SE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdWQlFXVXNRMEZCUXl4TlFVRmpPMGxCUXpWRExFOUJRVThzU1VGQlNTeExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNN1UwRkRka01zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eEpRVUZKTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGRFWXNRMEZCUXp0QlFVVkVPenM3T3pzN096dEhRVkZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRk5CUVZNc1EwRkJReXhEUVVGVExFVkJRVVVzUTBGQlV5eEZRVUZGTEdGQlFYRkNMRU5CUVVNN1NVRkRjRVVzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVWNFFpeE5RVUZOTEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzT0VKQlFUaENMRU5CUVVNc1EwRkJRenRKUVVVelJDeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVVZxUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGREwwSXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4VlFVRlZMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlJYUkRMRTlCUVU4c1MwRkJTeXhEUVVGRE8wRkJRMllzUTBGQlF6dEJRVVZFT3pzN096dEhRVXRITzBGQlEwZ3NVMEZCVXl4UlFVRlJMRU5CUVVNc1EwRkJVenRKUVVONlFpeEpRVUZKTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkZaQ3hMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETDBJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVVm9RaXhQUVVGUExFdEJRVXNzUTBGQlF6dEJRVU5tTEVOQlFVTTdRVUZGUkRzN096czdSMEZMUnp0QlFVTklMRk5CUVZNc1dVRkJXU3hEUVVGRExFTkJRVk03U1VGRE4wSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dEpRVU40UWl4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0SlFVVnFReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETDBJc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZGZWtJc1QwRkJUeXhMUVVGTExFTkJRVU03UVVGRFppeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMRmxCUVZrc1EwRkJReXhEUVVGVE8wbEJRM0JETEVsQlFVa3NUVUZCVFN4SFFVRlhMRU5CUVVNc1EwRkJRenRKUVVOMlFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRlhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVN1VVRkRka01zVFVGQlRTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZUVJc1QwRkJUeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUXpOQ0xFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNaMEpCUVdkQ0xFTkJRVU1zUlVGQlZTeEZRVUZGTEVWQlFWVTdTVUZEY2tRc1NVRkJTU3hGUVVGRkxFTkJRVU1zVFVGQlRTeEpRVUZKTEVWQlFVVXNRMEZCUXl4TlFVRk5PMUZCUTNoQ0xFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNPRU5CUVRoRExFTkJRVU1zUTBGQlF6dEpRVU5zUlN4SlFVRkpMRWxCUVVrc1IwRkJWeXhEUVVGRExFTkJRVU03U1VGRGNrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJWeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRk8xRkJRM2hETEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTNoQ0xFOUJRVThzU1VGQlNTeERRVUZETzBGQlEyUXNRMEZCUXp0QlFVVkVPenM3T3pzN096dEhRVkZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR2RDUVVGblFpeERRVUZETEZWQlFXdENMRVZCUVVVc1ZVRkJhMElzUlVGQlJTeFJRVUZuUWl4RlFVRkZPMGxCUTNwR0xFMUJRVTBzVFVGQlRTeEhRVUZITEdWQlFXVXNRMEZCUXl4VlFVRlZMRVZCUVVVc1ZVRkJWU3hEUVVGRExFTkJRVU03U1VGRmRrUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEZWQlFWVXNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHRSUVVOdVF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVlVGQlZTeEZRVUZGTEVWQlFVVXNRMEZCUXp0WlFVTnFReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1YwRkJWeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzB0QlEzSkRPMGxCUTBRc1QwRkJUeXhOUVVGTkxFTkJRVU03UVVGRGFFSXNRMEZCUXp0QlFVVkVPenM3T3pzN08wZEJUMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNNRUpCUVRCQ0xFTkJRVU1zUTBGQlV5eEZRVUZGTEVOQlFWTTdTVUZETjBRc1NVRkJTU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETzBsQlEyWXNUVUZCVFN4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dEpRVVZ5UWl4SlFVRkpMRWRCUVVjc1MwRkJTeXhEUVVGRExFTkJRVU1zVFVGQlRUdFJRVU5zUWl4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExEaERRVUU0UXl4RFFVRkRMRU5CUVVNN1NVRkZiRVVzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETVVJc1RVRkJUU3hKUVVGSkxGTkJRVUVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVa3NRMEZCUXl4RFFVRkJMRU5CUVVNN1NVRkZMMElzVDBGQlR5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRek5DTEVOQlFVTTdRVUZGUkRzN096czdPenRIUVU5SE8wRkJRMGdzVFVGQlRTeFZRVUZWTEd0Q1FVRnJRaXhEUVVGRExFbEJRV0VzUlVGQlJTeFJRVUYzUWp0SlFVTjRSU3hOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUXpOQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEdWQlFXVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlJXeEVMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4TlFVRk5MRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVU3VVVGREwwSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4TlFVRk5MRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVU3V1VGRGJrTXNUVUZCVFN4RFFVRkRMRWRCUVZjc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVNeFJpeE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFRRVU5xUXp0TFFVTkdPMGxCUTBRc1QwRkJUeXhOUVVGTkxFTkJRVU03UVVGRGFFSXNRMEZCUXp0QlFVVkVPenM3T3pzN08wZEJUMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNORUpCUVRSQ0xFTkJRVU1zU1VGQllTeEZRVUZGTEZGQlFYZENPMGxCUTJ4R0xFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNN1NVRkRNMElzVFVGQlRTeE5RVUZOTEVkQlFVY3NaVUZCWlN4RFFVRkRMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEYkVRc1NVRkJTU3hIUVVGSExFZEJRVWNzVFVGQlRTeERRVUZETEZOQlFWTXNRMEZCUXp0SlFVTXpRaXhKUVVGSkxFZEJRVWNzUjBGQlJ5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RFFVRkRPMGxCUXpOQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVTdVVUZETDBJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFpRVU12UWl4TlFVRk5MRU5CUVVNc1IwRkJWeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZEY2tjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRhRU1zU1VGQlNTeERRVUZETEVkQlFVY3NSMEZCUnp0blFrRkJSU3hIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzSkNMRWxCUVVrc1EwRkJReXhIUVVGSExFZEJRVWM3WjBKQlFVVXNSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJRenRUUVVOMFFqdExRVU5HTzBsQlEwUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHRSUVVNdlFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1dVRkRha01zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJRenRMUVVOd1JUdEpRVU5FTEU5QlFVOHNUVUZCVFN4RFFVRkRPMEZCUTJoQ0xFTkJRVU03UVVGRlJDeHJSa0ZCYTBZN1FVRkRiRVlzVFVGQlRTeFZRVUZWTEZGQlFWRXNRMEZCUXl4TFFVRmhMRVZCUVVVc1IwRkJWeXhGUVVGRkxGbEJRVmtzUjBGQlJ5eExRVUZMTzBsQlEzWkZMRTFCUVUwc1RVRkJUU3hIUVVGSExFZEJRVWNzUjBGQlJ5eExRVUZMTEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRjRVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4VlFVRlZMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03U1VGRmRFTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkROMElzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRmVFSXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVDBGQlR5eERRVUZETEUxQlFXRXNSVUZCUlN4UFFVRlBMRWRCUVVjc1MwRkJTenRKUVVOd1JDeE5RVUZOTEUxQlFVMHNSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlVTeEZRVUZGTEVOQlFWRXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCVVN4RlFVRkZMRU5CUVZFc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZGtjc1RVRkJUU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZOTEVWQlFVVXNRMEZCVXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMSEZDUVVGeFFqdEpRVU5zUlN4TlFVRk5MRTlCUVU4c1IwRkJSeXhEUVVGRExFTkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zYlVKQlFXMUNPMGxCUTNaRUxFMUJRVTBzVVVGQlVTeEhRVUZITEVOQlFVTXNSMEZCVlN4RlFVRkZMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1NVRkRNVVVzVDBGQlR5eFJRVUZSTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkRNVUlzUTBGQlF6dEJRVVZFT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzWjBKQlFXZENMRU5CUVVNc1RVRkJZeXhGUVVGRkxFTkJRVk1zUlVGQlJTeEpRVUYzUXp0SlFVTnNSeXhUUVVGVExFdEJRVXNzUTBGQlF5eE5RVUZuUXl4RlFVRkZMRTlCUVRoQ08xRkJRemRGTEVsQlFVa3NVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVOd1FpeEpRVUZKTEZWQlFWVXNSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkZkRUlzUzBGQlN5eE5RVUZOTEU5QlFVOHNTVUZCU1N4TlFVRk5MRVZCUVVVN1dVRkROVUlzVFVGQlRTeGpRVUZqTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xbEJRM2hETEVsQlFVa3NWVUZCVlN4SlFVRkpMRWxCUVVrc1NVRkJTU3hqUVVGakxFZEJRVWNzVlVGQlZTeEZRVUZGTzJkQ1FVTnlSQ3hSUVVGUkxFZEJRVWNzVDBGQlR5eERRVUZETzJkQ1FVTnVRaXhWUVVGVkxFZEJRVWNzWTBGQll5eERRVUZETzJGQlF6ZENPMU5CUTBZN1VVRkRSQ3hQUVVGUExGRkJRVkVzUTBGQlF6dEpRVU5zUWl4RFFVRkRPMGxCUlVRc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGRrTXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF6dEpRVVUzUWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NUVUZCVFN4RlFVRkZMRVZCUVVVc1EwRkJReXhGUVVGRk8xRkJReTlDTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU55UWl4VlFVRlZMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzB0QlEzSkNPMGxCUlVRc1QwRkJUeXhOUVVGTkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNSVUZCUlR0UlFVTjRRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlEyWXNWVUZCVlN4RFFVRkRMRTFCUVUwc1JVRkJPRUlzUlVGREwwTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1JVRkJSU3hOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEZWQlFWTXNSMEZCUnl4RlFVRkZMRXRCUVVzN1dVRkRlRVFzVDBGQlR5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRM1JDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOUUxFbEJRVWtzUjBGQlJ5eEZRVUZGTzFsQlExQXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU5xUWl4VlFVRlZMRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFOQlEzaENPMHRCUTBZN1NVRkRSQ3hQUVVGUExFMUJRVTBzUTBGQlF6dEJRVU5vUWl4RFFVRkRPMEZCUlVRN096czdPMGRCUzBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVTBGQlV5eERRVUZETEVsQlFWazdTVUZEY0VNc1RVRkJUU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXp0SlFVTjRRaXhKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEV2l4SlFVRkpMRmxCUVZrc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRmNrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHRSUVVNMVFpeEhRVUZITEVsQlFVa3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMllzV1VGQldTeEpRVUZKTEZOQlFVRXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGSkxFTkJRVU1zUTBGQlFTeERRVUZETzB0QlF6bENPMGxCUlVRc1RVRkJUU3hKUVVGSkxFZEJRVWNzUjBGQlJ5eEhRVUZITEVkQlFVY3NRMEZCUXp0SlFVTjJRaXhOUVVGTkxHRkJRV0VzUjBGQlJ5eEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzUjBGQlJ5eEhRVUZITEZOQlFVRXNTVUZCU1N4RlFVRkpMRU5CUVVNc1EwRkJRU3hEUVVGRExFTkJRVU03U1VGRmRFVXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRNVUlzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMR0ZCUVdFc1EwRkJRenRKUVVVM1F5eFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmtMRU5CUVVNN1FVRkZSRHM3T3pzN1IwRkxSenRCUVVOSUxFMUJRVTBzVlVGQlZTeGhRVUZoTEVOQlFVTXNRMEZCVVN4RlFVRkZMRU5CUVZFN1NVRkRPVU1zVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGVFSXNUMEZCVHl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJRenRCUVVOeVJTeERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0TllYUnlhWGdzSUZabFkzUnZjaXdnUTI5dmNtUnBibUYwWlhNc0lGWmxZM1J2Y25Nc0lFUnBjM1JoYm1ObFRXVjBjbWxqZlNCbWNtOXRJQ2N1TDNSNWNHVXRaR1ZqYkdGeVlYUnBiMjV6Snp0Y2JtbHRjRzl5ZENCN2NtRnVaRzl0Um14dllYUXNJSEpoYm1SdmJVbHVkSDBnWm5KdmJTQW5MaTl5WVc1a2IyMG5PMXh1WEc0dktpcGNiaUFxSUVGemMyVnlkSE1nWVNCamIyNWthWFJwYjI0Z1lua2dkR2h5YjNkcGJtY2dZVzRnUlhKeWIzSXVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0JiWTI5dVpHbDBhVzl1UFdaaGJITmxYU0JEYjI1a2FYUnBiMjRnZEc4Z1lYTnpaWEowTGx4dUlDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdHRaWE56WVdkbFBTZEJjM05sY25ScGIyNGdaWEp5YjNJdUoxMGdUV1Z6YzJGblpTQjBieUJ2ZFhSd2RYUXVYRzRnS2lCQWRHaHliM2R6SUh0RmNuSnZjbjFjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHRnpjMlZ5ZENoamIyNWthWFJwYjI0NklHSnZiMnhsWVc0Z1BTQm1ZV3h6WlN3Z2JXVnpjMkZuWlRvZ2MzUnlhVzVuSUQwZ0owRnpjMlZ5ZEdsdmJpQmxjbkp2Y2k0bktTQjdYRzRnSUdsbUlDZ2hZMjl1WkdsMGFXOXVLVnh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lodFpYTnpZV2RsS1R0Y2JuMWNibHh1THlvcVhHNGdLaUJEY21WaGRHVnpJRzVsZHlCMGQyOHRaR2x0Wlc1emFXOXVZV3dnWVhKeVlYa2dZVzVrSUdacGJHeHpJR2wwSUhkcGRHZ2dkR2hsSUhaaGJIVmxJR2RwZG1WdUxseHVJQ3BjYmlBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCa2FXMWxibk5wYjI0eElGUm9aU0JtYVhKemRDQmthVzFsYm5OcGIyNGdiMllnZEdobElHTnZiM0prYVc1aGRHVnpJQ2h1ZFcxaVpYSWdiMllnY205M2N5a3VYRzRnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnWkdsdFpXNXphVzl1TWlCVWFHVWdjMlZqYjI1a0lHUnBiV1Z1YzJsdmJpQnZaaUIwYUdVZ1kyOXZjbVJwYm1GMFpYTWdLRzUxYldKbGNpQnZaaUJqYjJ4MWJXNXpLUzVjYmlBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCYlptbHNiRDB3WFNCQklIWmhiSFZsSUhSdklHWnBiR3dnZEdobElHTnZiM0prYVc1aGRHVnpJSGRwZEdndVhHNGdLaUJBY21WMGRYSnVJSHREYjI5eVpHbHVZWFJsYzMwZ1FTQjBkMjh0WkdsdFpXNXphVzl1WVd3Z1ptbHNiR1ZrSUhkcGRHZ2dkR2hsSUhaaGJIVmxJR2RwZG1WdUxseHVJQ29nUUhSdlpHOGdUV2xuYUhRZ1ltVWdjMnh2ZHlCemFXNWpaU0IxYzJWa0lFRnljbUY1TG0xaGNDNGdVSEp2WW1GaWJIa2dibVZsWkhNZ2NHVnlabTl5YldGdVkyVWdjbVYyYVhOcGIyNHVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcGJtbDBRMjl2Y21ScGJtRjBaWE1vWkdsdFpXNXphVzl1TVRvZ2JuVnRZbVZ5TENCa2FXMWxibk5wYjI0eU9pQnVkVzFpWlhJc0lHWnBiR3c2SUc1MWJXSmxjaUE5SURBcE9pQkRiMjl5WkdsdVlYUmxjeUI3WEc0Z0lISmxkSFZ5YmlCdVpYY2dRWEp5WVhrb1pHbHRaVzV6YVc5dU1Ta3VabWxzYkNobWFXeHNLUzV0WVhBb0tDa2dQVDRnS0c1bGR5QldaV04wYjNJb1pHbHRaVzV6YVc5dU1pa3VabWxzYkNobWFXeHNLU2twTzF4dWZWeHVYRzR2S2lwY2JpQXFJRlJ5WVc1emNHOXpaU0J0WVhSeWFYZ3VYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhCaGNtRnRJSHROWVhSeWFYaDlJRzFoZEhKcGVDQlVhR1VnYldGMGNtbDRJSFJ2SUdKbElIUnlZVzV6Y0c5elpXUXVYRzRnS2lCQWNtVjBkWEp1SUh0TllYUnlhWGg5SUZSeVlXNXpjRzl6WldRZ2JXRjBjbWw0TGx4dUlDb2dRSFJ2Wkc4Z1RXbG5hSFFnWW1VZ2MyeHZkeUJ6YVc1alpTQjFjMlZrSUVGeWNtRjVMbTFoY0M0Z1VISnZZbUZpYkhrZ2JtVmxaSE1nY0dWeVptOXliV0Z1WTJVZ2NtVjJhWE5wYjI0dVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIwY21GdWMzQnZjMlZOWVhSeWFYZ29iV0YwY21sNE9pQk5ZWFJ5YVhncE9pQk5ZWFJ5YVhnZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUVGeWNtRjVLRzFoZEhKcGVGc3dYUzVzWlc1bmRHZ3BMbVpwYkd3b01DbGNiaUFnSUNBdWJXRndLQ2hmTENCcEtTQTlQaUFvYm1WM0lGWmxZM1J2Y2lodFlYUnlhWGd1YkdWdVozUm9LUzVtYVd4c0tEQXBMbTFoY0Nnb1h5d2dhaWtnUFQ0Z0tHMWhkSEpwZUZ0cVhWdHBYU2twS1NrN1hHNTlYRzVjYmk4cUtseHVJQ29nUVdSa2N5QjBkMjhnZG1WamRHOXljeUIzYVhSb0lIUm9aU0J6WldOdmJtUWdiMjVsSUhSdklHSmxJRzExYkhScGNHeHBaV1FnWW5rZ2RHaGxJR2RwZG1WdUlISmhkR2x2TGx4dUlDcGNiaUFxSUVCbGVIQnZjblJjYmlBcUlFQndZWEpoYlNCN1ZtVmpkRzl5ZlNCd0lGUm9aU0JtYVhKemRDQjJaV04wYjNJZ2RHOGdZV1JrTGx4dUlDb2dRSEJoY21GdElIdFdaV04wYjNKOUlIRWdWR2hsSUhObFkyOXVaQ0IyWldOMGIzSWdkRzhnWVdSa0xseHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRnR0ZFd4MGFYQnNhV1Z5UFRGZElFRWdiWFZzZEdsd2JHbGxjaUIwYnlCaVpTQjFjMlZrSUdKbFptOXlaU0IwYUdVZ2MyVmpiMjVrSUhabFkzUnZjaUJwY3lCaFpHUmxaQzVjYmlBcUlFQnlaWFIxY200Z2UxWmxZM1J2Y24wZ1RtVjNJSFpsWTNSdmNpQmpiMjUwWVdsdVpXUWdkR2hsSUhKbGMzVnNkQ0J2WmlCdmNHVnlZWFJwYjI0Z2NDdHRkV3gwYVhCc2FXVnlLbkV1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQjJaV04wYjNKQlpHUW9jRG9nVm1WamRHOXlMQ0J4T2lCV1pXTjBiM0lzSUcxMWJIUnBjR3hwWlhJNklHNTFiV0psY2lBOUlERXBPaUJXWldOMGIzSWdlMXh1SUNCamIyNXpkQ0J1U1hSbGJYTWdQU0J3TG14bGJtZDBhRHRjYmx4dUlDQmhjM05sY25Rb2JrbDBaVzF6SUQwOUlIRXViR1Z1WjNSb0xDQW5WbVZqZEc5eUlHeGxibWQwYUhNZ1pHOGdibTkwSUcxaGRHTm9MaWNwTzF4dVhHNGdJR052Ym5OMElIUnZkR0ZzSUQwZ2JtVjNJRlpsWTNSdmNpaHVTWFJsYlhNcE8xeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2NDNXNaVzVuZEdnN0lDc3JhU2xjYmlBZ0lDQjBiM1JoYkZ0cFhTQTlJSEJiYVYwZ0t5QnRkV3gwYVhCc2FXVnlJQ29nY1Z0cFhUdGNibHh1SUNCeVpYUjFjbTRnZEc5MFlXdzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1UzVnRjeUIwYUdVZ2RtVmpkRzl5SjNNZ2FYUmxiWE11WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSjlJSFlnVkdobElIWmxZM1J2Y2lCMGJ5QmlaU0J6ZFcxdFpXUXVYRzRnS2lCQWNtVjBkWEp1SUh0dWRXMWlaWEo5SUZSb1pTQjJaV04wYjNJbmN5QnBkR1Z0Y3lCemRXMHVYRzRnS2k5Y2JtWjFibU4wYVc5dUlHbDBaVzF6VTNWdEtIWTZJRlpsWTNSdmNpazZJRzUxYldKbGNpQjdYRzRnSUd4bGRDQjBiM1JoYkNBOUlEQTdYRzVjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjJMbXhsYm1kMGFEc2dLeXRwS1Z4dUlDQWdJSFJ2ZEdGc0lDczlJSFpiYVYwN1hHNWNiaUFnY21WMGRYSnVJSFJ2ZEdGc08xeHVmVnh1WEc0dktpcGNiaUFxSUZOMWNXRnlaWE1nZEdobElIWmxZM1J2Y2lkeklHbDBaVzF6TGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3Vm1WamRHOXlmU0IySUZSb1pTQjJaV04wYjNJZ2RHOGdjM0YxWVhKbExseHVJQ29nUUhKbGRIVnliaUI3Vm1WamRHOXlmU0JCSUc1bGR5QjJaV04wYjNJZ1kyOXVkR0ZwYm1sdVp5QjBhR1VnYjNKcFoybHVZV3duY3lCcGRHVnRjeUJ6Y1hWaGNtVmtMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQjJaV04wYjNKVGNYVmhjbVVvZGpvZ1ZtVmpkRzl5S1RvZ1ZtVmpkRzl5SUh0Y2JpQWdZMjl1YzNRZ2JrbDBaVzF6SUQwZ2RpNXNaVzVuZEdnN1hHNGdJR052Ym5OMElIUnZkR0ZzSUQwZ2JtVjNJRlpsWTNSdmNpaHVTWFJsYlhNcE8xeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2RpNXNaVzVuZEdnN0lDc3JhU2xjYmlBZ0lDQjBiM1JoYkZ0cFhTQTlJSFpiYVYwZ0tpQjJXMmxkTzF4dVhHNGdJSEpsZEhWeWJpQjBiM1JoYkR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFpsWTNSdmNreGxibWQwYUNoMk9pQldaV04wYjNJcE9pQnVkVzFpWlhJZ2UxeHVJQ0JzWlhRZ2MzRnlVM1Z0T2lCdWRXMWlaWElnUFNBd08xeHVJQ0JtYjNJZ0tHeGxkQ0JwT2lCdWRXMWlaWElnUFNBd095QnBJRHdnZGk1c1pXNW5kR2c3SUdrckt5bGNiaUFnSUNCemNYSlRkVzBnS3owZ2RsdHBYU0FxSUhaYmFWMDdYRzRnSUhKbGRIVnliaUJOWVhSb0xuTnhjblFvYzNGeVUzVnRLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIWmxZM1J2Y2tSdmRGQnliMlIxWTNRb2RqRTZJRlpsWTNSdmNpd2dkakk2SUZabFkzUnZjaWs2SUc1MWJXSmxjaUI3WEc0Z0lHbG1JQ2gyTVM1c1pXNW5kR2dnSVQwZ2RqSXViR1Z1WjNSb0tWeHVJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVkdobElHUnBiV1Z1YzJsdmJtRnNhWFI1SUc5bUlIUm9aU0IyWldOMGIzSnpJRzExYzNRZ2JXRjBZMmduS1R0Y2JpQWdiR1YwSUhCeWIyUTZJRzUxYldKbGNpQTlJREE3WEc0Z0lHWnZjaUFvYkdWMElHazZJRzUxYldKbGNpQTlJREE3SUdrZ1BDQjJNUzVzWlc1bmRHZzdJR2tyS3lsY2JpQWdJQ0J3Y205a0lDczlJSFl4VzJsZElDb2dkakpiYVYwN1hHNGdJSEpsZEhWeWJpQndjbTlrTzF4dWZWeHVYRzR2S2lwY2JpQXFJRU55WldGMFpYTWdZU0J0WVhSeWFYZ2dabWxzYkdWa0lIZHBkR2dnY21GdVpHOXRJR1pzYjJGMGFXNW5JSEJ2YVc1MElIWmhiSFZsY3k1Y2JpQXFYRzRnS2lCQVpYaHdiM0owWEc0Z0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1pHbHRaVzV6YVc5dU1TQlVhR1VnWm1seWMzUWdaR2x0Wlc1emFXOXVJRzltSUhSb1pTQnRZWFJ5YVhndVhHNGdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdaR2x0Wlc1emFXOXVNaUJVYUdVZ2MyVmpiMjVrSUdScGJXVnVjMmx2YmlCdlppQjBhR1VnYldGMGNtbDRMbHh1SUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUZ0elkyRnNaVDB4TGwwZ1RXRjRJSFpoYkhWbElHZHBkbVZ1SUdKNUlISmhibVJ2YlNCblpXNWxjbUYwYjNJdVhHNGdLaUJBY21WMGRYSnVJSHROWVhSeWFYaDlJRUVnYm1WM0lHMWhkSEpwZUNCbWFXeHNaV1FnZDJsMGFDQnlZVzVrYjIwZ1pteHZZWFJwYm1jZ2NHOXBiblFnSUhaaGJIVmxjeTVjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHWnBiR3hTWVc1a2IyMU5ZWFJ5YVhnb1pHbHRaVzV6YVc5dU1Ub2diblZ0WW1WeUxDQmthVzFsYm5OcGIyNHlPaUJ1ZFcxaVpYSXNJSE5qWVd4bE9pQnVkVzFpWlhJZ1BTQXhMaWs2SUUxaGRISnBlQ0I3WEc0Z0lHTnZibk4wSUcxaGRISnBlQ0E5SUdsdWFYUkRiMjl5WkdsdVlYUmxjeWhrYVcxbGJuTnBiMjR4TENCa2FXMWxibk5wYjI0eUtUdGNibHh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHUnBiV1Z1YzJsdmJqRTdJQ3NyYVNrZ2UxeHVJQ0FnSUdadmNpQW9iR1YwSUdvZ1BTQXdPeUJxSUR3Z1pHbHRaVzV6YVc5dU1qc2dLeXRxS1Z4dUlDQWdJQ0FnYldGMGNtbDRXMmxkVzJwZElEMGdjbUZ1Wkc5dFJteHZZWFFvYzJOaGJHVXBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnRZWFJ5YVhnN1hHNTlYRzVjYmk4cUtseHVJQ29nUTJGc1kzVnNZWFJsY3lCRmRXTnNhV1JsWVc0Z1pHbHpkR0Z1WTJVZ1ltVjBkMlZsYmlCMGQyOGdkbVZqZEc5eWN5NWNiaUFxWEc0Z0tpQkFaWGh3YjNKMFhHNGdLaUJBY0dGeVlXMGdlMVpsWTNSdmNuMGdjQ0JVYUdVZ1ptbHljM1FnZG1WamRHOXlMbHh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0o5SUhFZ1ZHaGxJSE5sWTI5dVpDQjJaV04wYjNJdVhHNGdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlJRVYxWTJ4cFpHVmhiaUJrYVhOMFlXNWpaU0JpWlhSM1pXVnVJSFJvWlNCbmFYWmxiaUIyWldOMGIzSnpMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1kyRnNZM1ZzWVhSbFJYVmpiR2xrWldGdVJHbHpkR0Z1WTJVb2NEb2dWbVZqZEc5eUxDQnhPaUJXWldOMGIzSXBPaUJ1ZFcxaVpYSWdlMXh1SUNCc1pYUWdjbVZ6ZFd4MElEMGdNRHRjYmlBZ1kyOXVjM1FnYkdWdUlEMGdjQzVzWlc1bmRHZzdYRzVjYmlBZ2FXWWdLR3hsYmlBaFBUMGdjUzVzWlc1bmRHZ3BYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkVWFHVWdaR2x0Wlc1emFXOXVZV3hwZEhrZ2IyWWdkR2hsSUhabFkzUnZjbk1nYlhWemRDQnRZWFJqYUNjcE8xeHVJQ0JjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnNaVzQ3SUNzcmFTbGNiaUFnSUNCeVpYTjFiSFFnS3owZ0tIQmJhVjBnTFNCeFcybGRLU0FxS2lBeU8xeHVJQ0JjYmlBZ2NtVjBkWEp1SUUxaGRHZ3VjM0Z5ZENoeVpYTjFiSFFwTzF4dWZWeHVYRzR2S2lwY2JpQXFJRU55WldGMFpYTWdZU0JrYVhOMFlXNWpaU0J0WVhSeWFYZ2dkWE5wYm1jZ1lTQmpkWE4wYjIwZ1pHbHpkR0Z1WTJVZ1puVnVZM1JwYjI0dVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRSEJoY21GdElIdFdaV04wYjNKemZTQmtZWFJoSUVsdWNIVjBJSFpsWTNSdmNuTWdkRzhnWTJGc1kzVnNZWFJsSUdScGMzUmhibU5sY3k1Y2JpQXFJRUJ3WVhKaGJTQjdSR2x6ZEdGdVkyVk5aWFJ5YVdOOUlHUnBjM1JoYm1ObElFTjFjM1J2YlNCa2FYTjBZVzVqWlNCbWRXNWpkR2x2Ymk1Y2JpQXFJRUJ5WlhSMWNtNGdlMDFoZEhKcGVIMGdRMkZzWTNWc1lYUmxaQ0JqZFhOMGIyMGdaR2x6ZEdGdVkyVWdiV0YwY21sNExseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWTJGc1kwUnBjM1JoYm1ObFRXRjBjbWw0S0dSaGRHRTZJRlpsWTNSdmNuTXNJR1JwYzNSaGJtTmxPaUJFYVhOMFlXNWpaVTFsZEhKcFl5azZJRTFoZEhKcGVDQjdYRzRnSUdOdmJuTjBJRzVKZEdWdGN5QTlJR1JoZEdFdWJHVnVaM1JvTzF4dUlDQmpiMjV6ZENCdFlYUnlhWGdnUFNCcGJtbDBRMjl2Y21ScGJtRjBaWE1vYmtsMFpXMXpMQ0J1U1hSbGJYTXNJREFwTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYmtsMFpXMXpPeUFySzJrcElIdGNiaUFnSUNCbWIzSWdLR3hsZENCcUlEMGdhU0FySURFN0lHb2dQQ0J1U1hSbGJYTTdJQ3NyYWlrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWkRvZ2JuVnRZbVZ5SUQwZ0tHUmhkR0ZiYVYwZ1BUMGdiblZzYkNrZ2ZId2dLR1JoZEdGYmFsMGdQVDBnYm5Wc2JDa2dQeUF3SURvZ1pHbHpkR0Z1WTJVb1pHRjBZVnRwWFN3Z1pHRjBZVnRxWFNrN1hHNGdJQ0FnSUNCdFlYUnlhWGhiYVYxYmFsMGdQU0J0WVhSeWFYaGJhbDFiYVYwZ1BTQmtPMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQnlaWFIxY200Z2JXRjBjbWw0TzF4dWZWeHVYRzR2S2lwY2JpQXFJRU55WldGMFpYTWdZU0JrYVhOMFlXNWpaU0J0WVhSeWFYZ2dkWE5wYm1jZ1lTQmpkWE4wYjIwZ1pHbHpkR0Z1WTJVZ1puVnVZM1JwYjI0dVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRSEJoY21GdElIdFdaV04wYjNKemZTQmtZWFJoSUVsdWNIVjBJSFpsWTNSdmNuTWdkRzhnWTJGc1kzVnNZWFJsSUdScGMzUmhibU5sY3k1Y2JpQXFJRUJ3WVhKaGJTQjdSR2x6ZEdGdVkyVk5aWFJ5YVdOOUlHUnBjM1JoYm1ObElFTjFjM1J2YlNCa2FYTjBZVzVqWlNCbWRXNWpkR2x2Ymk1Y2JpQXFJRUJ5WlhSMWNtNGdlMDFoZEhKcGVIMGdRMkZzWTNWc1lYUmxaQ0JqZFhOMGIyMGdaR2x6ZEdGdVkyVWdiV0YwY21sNExseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWTJGc1kwNXZjbTFoYkdsNlpXUkVhWE4wWVc1alpVMWhkSEpwZUNoa1lYUmhPaUJXWldOMGIzSnpMQ0JrYVhOMFlXNWpaVG9nUkdsemRHRnVZMlZOWlhSeWFXTXBPaUJOWVhSeWFYZ2dlMXh1SUNCamIyNXpkQ0J1U1hSbGJYTWdQU0JrWVhSaExteGxibWQwYUR0Y2JpQWdZMjl1YzNRZ2JXRjBjbWw0SUQwZ2FXNXBkRU52YjNKa2FXNWhkR1Z6S0c1SmRHVnRjeXdnYmtsMFpXMXpMQ0F3S1R0Y2JpQWdiR1YwSUcxaGVDQTlJRTUxYldKbGNpNU5TVTVmVmtGTVZVVTdYRzRnSUd4bGRDQnRhVzRnUFNCT2RXMWlaWEl1VFVGWVgxWkJURlZGTzF4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJRzVKZEdWdGN6c2dLeXRwS1NCN1hHNGdJQ0FnWm05eUlDaHNaWFFnYWlBOUlHazdJR29nUENCdVNYUmxiWE03SUNzcmFpa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1pEb2diblZ0WW1WeUlEMGdLR1JoZEdGYmFWMGdQVDBnYm5Wc2JDa2dmSHdnS0dSaGRHRmJhbDBnUFQwZ2JuVnNiQ0I4ZkNCcElEMDlQU0JxS1NBL0lEQWdPaUJrYVhOMFlXNWpaU2hrWVhSaFcybGRMQ0JrWVhSaFcycGRLVHRjYmlBZ0lDQWdJRzFoZEhKcGVGdHBYVnRxWFNBOUlHMWhkSEpwZUZ0cVhWdHBYU0E5SUdRN1hHNGdJQ0FnSUNCcFppQW9aQ0ErSUcxaGVDa2diV0Y0SUQwZ1pEdGNiaUFnSUNBZ0lHbG1JQ2hrSUR3Z2JXbHVLU0J0YVc0Z1BTQmtPMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJRzVKZEdWdGN6c2dLeXRwS1NCN1hHNGdJQ0FnWm05eUlDaHNaWFFnYWlBOUlHa2dLeUF4T3lCcUlEd2dia2wwWlcxek95QXJLMm9wWEc0Z0lDQWdJQ0J0WVhSeWFYaGJhVjFiYWwwZ1BTQnRZWFJ5YVhoYmFsMWJhVjBnUFNBb2JXRjBjbWw0VzJsZFcycGRJQzBnYldsdUtTQXZJQ2h0WVhnZ0xTQnRhVzRwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ0WVhSeWFYZzdYRzU5WEc1Y2JpOHFLaUJIWlc1bGNtRjBaWE1nWVhKeVlYa2dabkp2YlNCaElISmhibWRsSUZ0aVpXZHBianNnWlc1a1hTQnZjaUJiWW1WbmFXNDdJR1Z1WkNrZ2FXWWdaVzVrUlhoamJIVnphWFpsTGlBcUtpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm5aVzVTWVc1blpTaGlaV2RwYmpvZ2JuVnRZbVZ5TENCbGJtUTZJRzUxYldKbGNpd2daVzVrUlhoamJIVnphWFpsSUQwZ1ptRnNjMlVwT2lCSmJuUXpNa0Z5Y21GNUlIdGNiaUFnWTI5dWMzUWdia2wwWlcxeklEMGdaVzVrSUMwZ1ltVm5hVzRnS3lBb1pXNWtSWGhqYkhWemFYWmxJRDhnTUNBNklERXBPMXh1SUNCamIyNXpkQ0J6WlhKcFpYTWdQU0J1WlhjZ1NXNTBNekpCY25KaGVTaHVTWFJsYlhNcE8xeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JrbDBaVzF6T3lBcksya3BYRzRnSUNBZ2MyVnlhV1Z6VzJsZElEMGdZbVZuYVc0Z0t5QnBPMXh1WEc0Z0lISmxkSFZ5YmlCelpYSnBaWE03WEc1OVhHNWNiaThxS2x4dUlDb2dVbVYwZFhKdWN5QnZjbVJsY2lCdlppQjJZV3gxWlhNZ1lYTWdhV1lnZEdobGVTQmhjbVVnYzI5eWRHVmtMbHh1SUNwY2JpQXFJRUJsZUhCdmNuUmNiaUFxSUVCd1lYSmhiU0I3WVc1NVcxMTlJSFpoYkhWbGN5QkpibkIxZENCaGNuSmhlUzVjYmlBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1czSmxkbVZ5YzJVOVptRnNjMlZkSUZkb1pYUm9aWElnZEc4Z2NtVjBkWEp1SUhKbGRtVnljMlZrSUc5eVpHVnlMbHh1SUNvZ1FISmxkSFZ5YmlCN2JuVnRZbVZ5VzExOUlGUm9aU0J2Y21SbGNpQmpiMjF3ZFhSbFpDNWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdGeVoxTnZjblFvZG1Gc2RXVnpPaUJoYm5sYlhTd2djbVYyWlhKelpTQTlJR1poYkhObEtUb2diblZ0WW1WeVcxMGdlMXh1SUNCamIyNXpkQ0J6YjNKMFptNGdQU0J5WlhabGNuTmxJRDhnS0dFNklHRnVlVnRkTENCaU9pQmhibmxiWFNrZ1BUNGdLR0piTUYwZ0xTQmhXekJkS1NBNklDaGhPaUJoYm5sYlhTd2dZam9nWVc1NVcxMHBJRDArSUNoaFd6QmRJQzBnWWxzd1hTazdYRzRnSUdOdmJuTjBJR1JsWTI5eUlEMGdLSFk2SUdGdWVTd2dhVG9nYm5WdFltVnlLU0E5UGlCYmRpd2dhVjA3SUM4dklITmxkQ0JwYm1SbGVDQjBieUIyWVd4MVpWeHVJQ0JqYjI1emRDQjFibVJsWTI5eUlEMGdLR0U2SUdGdWVWdGRLU0E5UGlCaFd6RmRPeUF2THlCc1pXRjJaU0J2Ym14NUlHbHVaR1Y0WEc0Z0lHTnZibk4wSUY5aGNtZHpiM0owSUQwZ0tHRnljam9nWVc1NVcxMHBJRDArSUdGeWNpNXRZWEFvWkdWamIzSXBMbk52Y25Rb2MyOXlkR1p1S1M1dFlYQW9kVzVrWldOdmNpazdYRzRnSUhKbGRIVnliaUJmWVhKbmMyOXlkQ2gyWVd4MVpYTXBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGSmxkSFZ5Ym5NZ2RHaGxJR2x1WkdWNFpYTWdiMllnZEdobElHMXZjM1FnWkdsMlpYSnpaU0J2WW1wbFkzUnpJR0ZqWTI5eVpHbHVaeUIwYnlCMGFHVWdaR2x6ZENCbWRXNWpkR2x2Ymx4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlHeGxibWQwYUNCMGIzUmhiQ0J1ZFcxaVpYSWdiMllnYjJKcVpXTjBjMXh1SUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUc0Z2JuVnRZbVZ5SUc5bUlHUnBkbVZ5YzJVZ1pXeGxiV1Z1ZEhNZ2RHOGdabWx1WkZ4dUlDb2dRSEJoY21GdElIc29hVEU2SUc1MWJXSmxjaXdnYVRJNklHNTFiV0psY2lrZ1BUNGdiblZ0WW1WeWZTQmthWE4wSUdFZ1puVnVZM1JwYjI0Z2QyaHBZMmdnWTJGc1kzVnNZWFJsY3lCa2FYTjBZVzVqWlNCaVpYUjNaV1Z1WEc0Z0tpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEhkdklHOWlhbVZqZEhNZ2RYTnBibWNnZEdobGFYSWdhVzVrWlhobGMxeHVJQ29nUUhKbGRIVnlibk1nZTI1MWJXSmxjbHRkZlNCVWFHVWdhVzVrWlhobGN5QnZaaUIwYUdVZ2JXOXpkQ0JrYVhabGNuTmxJRzlpYW1WamRITmNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdkbGRFUnBkbVZ5YzJWVGRXSnpaWFFvYkdWdVozUm9PaUJ1ZFcxaVpYSXNJRzQ2SUc1MWJXSmxjaXdnWkdsemREb2dLR2t4T2lCdWRXMWlaWElzSUdreU9pQnVkVzFpWlhJcElEMCtJRzUxYldKbGNpazZJRzUxYldKbGNsdGRJSHRjYmlBZ1puVnVZM1JwYjI0Z2JXRjRRbmtvZG1Gc2RXVnpPaUJKZEdWeVlXSnNaVWwwWlhKaGRHOXlQRzUxYldKbGNqNHNJRzl5WkdWeVFuazZJQ2hwT2lCdWRXMWlaWElwSUQwK0lHNTFiV0psY2lrZ2UxeHVJQ0FnSUd4bGRDQnRZWGhXWVd4MVpTQTlJRzUxYkd3N1hHNGdJQ0FnYkdWMElHMWhlRTl5WkdWeVFua2dQU0J1ZFd4c08xeHVYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQmxiR1Z0Wlc1MElHOW1JSFpoYkhWbGN5a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1pXeGxiV1Z1ZEU5eVpHVnlRbmtnUFNCdmNtUmxja0o1S0dWc1pXMWxiblFwTzF4dUlDQWdJQ0FnYVdZZ0tHMWhlRTl5WkdWeVFua2dQVDBnYm5Wc2JDQjhmQ0JsYkdWdFpXNTBUM0prWlhKQ2VTQStJRzFoZUU5eVpHVnlRbmtwSUh0Y2JpQWdJQ0FnSUNBZ2JXRjRWbUZzZFdVZ1BTQmxiR1Z0Wlc1ME8xeHVJQ0FnSUNBZ0lDQnRZWGhQY21SbGNrSjVJRDBnWld4bGJXVnVkRTl5WkdWeVFuazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ0WVhoV1lXeDFaVHRjYmlBZ2ZWeHVYRzRnSUdOdmJuTjBJSE4xWW5ObGRDQTlJRnR5WVc1a2IyMUpiblFvYkdWdVozUm9JQzBnTVNsZE8xeHVJQ0JqYjI1emRDQmpiMjF3YkdWdFpXNTBJRDBnYm1WM0lGTmxkQ2dwTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYkdWdVozUm9PeUFySzJrcElIdGNiaUFnSUNCcFppQW9JWE4xWW5ObGRDNXBibU5zZFdSbGN5aHBLU2xjYmlBZ0lDQWdJR052YlhCc1pXMWxiblF1WVdSa0tHa3BPMXh1SUNCOVhHNWNiaUFnZDJocGJHVWdLSE4xWW5ObGRDNXNaVzVuZEdnZ1BDQnVLU0I3WEc0Z0lDQWdZMjl1YzNRZ2FXUjRJRDBnYldGNFFua29YRzRnSUNBZ0lDQmpiMjF3YkdWdFpXNTBMblpoYkhWbGN5Z3BJR0Z6SUVsMFpYSmhZbXhsU1hSbGNtRjBiM0k4Ym5WdFltVnlQaXhjYmlBZ0lDQWdJQ2hwS1NBOVBpQk5ZWFJvTG0xcGJpNWhjSEJzZVNoTllYUm9MQ0J6ZFdKelpYUXViV0Z3S0daMWJtTjBhVzl1S0haaGJDd2dhVzVrWlhncElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUnBjM1FvYVN3Z2RtRnNLVHRjYmlBZ0lDQWdJSDBwS1NrN1hHNGdJQ0FnYVdZZ0tHbGtlQ2tnZTF4dUlDQWdJQ0FnYzNWaWMyVjBMbkIxYzJnb2FXUjRLVHRjYmlBZ0lDQWdJR052YlhCc1pXMWxiblF1WkdWc1pYUmxLR2xrZUNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUhKbGRIVnliaUJ6ZFdKelpYUTdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVjBkWEp1Y3lCdWIzSnRZV3hwZW1Wa0lIWmxZM1J2Y2k1Y2JpQXFJRnh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRSEJoY21GdElIdFdaV04wYjNKOUlHUmhkR0VnYm5WdFpYSnBZMkZzSUdGeWNtRjVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdWIzSnRZV3hwZW1Vb1pHRjBZVG9nVm1WamRHOXlLVG9nVm1WamRHOXlJSHRjYmlBZ1kyOXVjM1FnYkdWdUlEMGdaR0YwWVM1c1pXNW5kR2c3WEc0Z0lHeGxkQ0J6ZFcwZ1BTQXdPMXh1SUNCc1pYUWdjM1Z0VDJaVGNYVmhjbVZ6SUQwZ01EdGNibHh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHeGxianNnS3l0cEtTQjdYRzRnSUNBZ2MzVnRJQ3M5SUdSaGRHRmJhVjA3WEc0Z0lDQWdjM1Z0VDJaVGNYVmhjbVZ6SUNzOUlHUmhkR0ZiYVYwZ0tpb2dNanRjYmlBZ2ZWeHVYRzRnSUdOdmJuTjBJRzFsWVc0Z1BTQnpkVzBnTHlCc1pXNDdYRzRnSUdOdmJuTjBJSE4wWkVSbGRrbHVkbVZ5YzJVZ1BTQXhMakFnTHlCTllYUm9Mbk54Y25Rb2MzVnRUMlpUY1hWaGNtVnpJQzhnYkdWdUlDMGdiV1ZoYmlBcUtpQXlLVHRjYmx4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR3hsYmpzZ0t5dHBLVnh1SUNBZ0lHUmhkR0ZiYVYwZ1BTQW9aR0YwWVZ0cFhTQXRJRzFsWVc0cElDb2djM1JrUkdWMlNXNTJaWEp6WlR0Y2JseHVJQ0J5WlhSMWNtNGdaR0YwWVR0Y2JuMWNibHh1THlvcVhHNGdLaUJHYVc1a2N5QnpaWFFnWkdsbVptVnlaVzVqWlNCaVpYUjNaV1Z1SUhSM2J5QnNhWE4wY3k1Y2JpQXFJRUJ3WVhKaGJTQjdZVzU1VzExOUlHRWdWR2hsSUdacGNuTjBJR3hwYzNRdVhHNGdLaUJBY0dGeVlXMGdlMkZ1ZVZ0ZGZTQmlJRlJvWlNCelpXTnZibVFnYkdsemRDNWNiaUFxSUVCeVpYUjFjbTRnZTJGdWVWdGRmVnh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2MyVjBSR2xtWm1WeVpXNWpaU2hoT2lCaGJubGJYU3dnWWpvZ1lXNTVXMTBwT2lCaGJubGJYU0I3WEc0Z0lHTnZibk4wSUdKVFpYUWdQU0J1WlhjZ1UyVjBLR0lwTzF4dUlDQnlaWFIxY200Z1FYSnlZWGt1Wm5KdmJTaHVaWGNnVTJWMEtHRXVabWxzZEdWeUtDaDRLU0E5UGlBaFlsTmxkQzVvWVhNb2VDa3BLUzUyWVd4MVpYTW9LU2s3WEc1OVhHNGlYWDA9IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbi8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBfX3dlYnBhY2tfbW9kdWxlc19fO1xuXG4vLyB0aGUgc3RhcnR1cCBmdW5jdGlvblxuX193ZWJwYWNrX3JlcXVpcmVfXy54ID0gKCkgPT4ge1xuXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcblx0Ly8gVGhpcyBlbnRyeSBtb2R1bGUgZGVwZW5kcyBvbiBvdGhlciBsb2FkZWQgY2h1bmtzIGFuZCBleGVjdXRpb24gbmVlZCB0byBiZSBkZWxheWVkXG5cdHZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy5PKHVuZGVmaW5lZCwgWzQ0LDk3Miw0ODldLCAoKSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXygyMzExKSkpXG5cdF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLk8oX193ZWJwYWNrX2V4cG9ydHNfXyk7XG5cdHJldHVybiBfX3dlYnBhY2tfZXhwb3J0c19fO1xufTtcblxuIiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5mID0ge307XG4vLyBUaGlzIGZpbGUgY29udGFpbnMgb25seSB0aGUgZW50cnkgY2h1bmsuXG4vLyBUaGUgY2h1bmsgbG9hZGluZyBmdW5jdGlvbiBmb3IgYWRkaXRpb25hbCBjaHVua3Ncbl9fd2VicGFja19yZXF1aXJlX18uZSA9IChjaHVua0lkKSA9PiB7XG5cdHJldHVybiBQcm9taXNlLmFsbChPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLmYpLnJlZHVjZSgocHJvbWlzZXMsIGtleSkgPT4ge1xuXHRcdF9fd2VicGFja19yZXF1aXJlX18uZltrZXldKGNodW5rSWQsIHByb21pc2VzKTtcblx0XHRyZXR1cm4gcHJvbWlzZXM7XG5cdH0sIFtdKSk7XG59OyIsIi8vIFRoaXMgZnVuY3Rpb24gYWxsb3cgdG8gcmVmZXJlbmNlIGFzeW5jIGNodW5rcyBhbmQgc2libGluZyBjaHVua3MgZm9yIHRoZSBlbnRyeXBvaW50XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnUgPSAoY2h1bmtJZCkgPT4ge1xuXHQvLyByZXR1cm4gdXJsIGZvciBmaWxlbmFtZXMgYmFzZWQgb24gdGVtcGxhdGVcblx0cmV0dXJuIFwiXCIgKyBjaHVua0lkICsgXCIuanNcIjtcbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5nID0gKGZ1bmN0aW9uKCkge1xuXHRpZiAodHlwZW9mIGdsb2JhbFRoaXMgPT09ICdvYmplY3QnKSByZXR1cm4gZ2xvYmFsVGhpcztcblx0dHJ5IHtcblx0XHRyZXR1cm4gdGhpcyB8fCBuZXcgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdGlmICh0eXBlb2Ygd2luZG93ID09PSAnb2JqZWN0JykgcmV0dXJuIHdpbmRvdztcblx0fVxufSkoKTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwidmFyIHNjcmlwdFVybDtcbmlmIChfX3dlYnBhY2tfcmVxdWlyZV9fLmcuaW1wb3J0U2NyaXB0cykgc2NyaXB0VXJsID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmxvY2F0aW9uICsgXCJcIjtcbnZhciBkb2N1bWVudCA9IF9fd2VicGFja19yZXF1aXJlX18uZy5kb2N1bWVudDtcbmlmICghc2NyaXB0VXJsICYmIGRvY3VtZW50KSB7XG5cdGlmIChkb2N1bWVudC5jdXJyZW50U2NyaXB0KVxuXHRcdHNjcmlwdFVybCA9IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjO1xuXHRpZiAoIXNjcmlwdFVybCkge1xuXHRcdHZhciBzY3JpcHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJzY3JpcHRcIik7XG5cdFx0aWYoc2NyaXB0cy5sZW5ndGgpIHtcblx0XHRcdHZhciBpID0gc2NyaXB0cy5sZW5ndGggLSAxO1xuXHRcdFx0d2hpbGUgKGkgPiAtMSAmJiAhc2NyaXB0VXJsKSBzY3JpcHRVcmwgPSBzY3JpcHRzW2ktLV0uc3JjO1xuXHRcdH1cblx0fVxufVxuLy8gV2hlbiBzdXBwb3J0aW5nIGJyb3dzZXJzIHdoZXJlIGFuIGF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgeW91IG11c3Qgc3BlY2lmeSBhbiBvdXRwdXQucHVibGljUGF0aCBtYW51YWxseSB2aWEgY29uZmlndXJhdGlvblxuLy8gb3IgcGFzcyBhbiBlbXB0eSBzdHJpbmcgKFwiXCIpIGFuZCBzZXQgdGhlIF9fd2VicGFja19wdWJsaWNfcGF0aF9fIHZhcmlhYmxlIGZyb20geW91ciBjb2RlIHRvIHVzZSB5b3VyIG93biBsb2dpYy5cbmlmICghc2NyaXB0VXJsKSB0aHJvdyBuZXcgRXJyb3IoXCJBdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3NlclwiKTtcbnNjcmlwdFVybCA9IHNjcmlwdFVybC5yZXBsYWNlKC8jLiokLywgXCJcIikucmVwbGFjZSgvXFw/LiokLywgXCJcIikucmVwbGFjZSgvXFwvW15cXC9dKyQvLCBcIi9cIik7XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBzY3JpcHRVcmw7IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5iID0gc2VsZi5sb2NhdGlvbiArIFwiXCI7XG5cbi8vIG9iamVjdCB0byBzdG9yZSBsb2FkZWQgY2h1bmtzXG4vLyBcIjFcIiBtZWFucyBcImFscmVhZHkgbG9hZGVkXCJcbnZhciBpbnN0YWxsZWRDaHVua3MgPSB7XG5cdDMxMzogMSxcblx0ODYxOiAxXG59O1xuXG4vLyBpbXBvcnRTY3JpcHRzIGNodW5rIGxvYWRpbmdcbnZhciBpbnN0YWxsQ2h1bmsgPSAoZGF0YSkgPT4ge1xuXHR2YXIgW2NodW5rSWRzLCBtb3JlTW9kdWxlcywgcnVudGltZV0gPSBkYXRhO1xuXHRmb3IodmFyIG1vZHVsZUlkIGluIG1vcmVNb2R1bGVzKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKG1vcmVNb2R1bGVzLCBtb2R1bGVJZCkpIHtcblx0XHRcdF9fd2VicGFja19yZXF1aXJlX18ubVttb2R1bGVJZF0gPSBtb3JlTW9kdWxlc1ttb2R1bGVJZF07XG5cdFx0fVxuXHR9XG5cdGlmKHJ1bnRpbWUpIHJ1bnRpbWUoX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cdHdoaWxlKGNodW5rSWRzLmxlbmd0aClcblx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZHMucG9wKCldID0gMTtcblx0cGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24oZGF0YSk7XG59O1xuX193ZWJwYWNrX3JlcXVpcmVfXy5mLmkgPSAoY2h1bmtJZCwgcHJvbWlzZXMpID0+IHtcblx0Ly8gXCIxXCIgaXMgdGhlIHNpZ25hbCBmb3IgXCJhbHJlYWR5IGxvYWRlZFwiXG5cdGlmKCFpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0pIHtcblx0XHRpZih0cnVlKSB7IC8vIGFsbCBjaHVua3MgaGF2ZSBKU1xuXHRcdFx0aW1wb3J0U2NyaXB0cyhfX3dlYnBhY2tfcmVxdWlyZV9fLnAgKyBfX3dlYnBhY2tfcmVxdWlyZV9fLnUoY2h1bmtJZCkpO1xuXHRcdH1cblx0fVxufTtcblxudmFyIGNodW5rTG9hZGluZ0dsb2JhbCA9IHNlbGZbXCJ3ZWJwYWNrQ2h1bmtlZGFcIl0gPSBzZWxmW1wid2VicGFja0NodW5rZWRhXCJdIHx8IFtdO1xudmFyIHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uID0gY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2guYmluZChjaHVua0xvYWRpbmdHbG9iYWwpO1xuY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2ggPSBpbnN0YWxsQ2h1bms7XG5cbi8vIG5vIEhNUlxuXG4vLyBubyBITVIgbWFuaWZlc3QiLCIvLyBydW4gc3RhcnR1cFxudmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLngoKTtcbiJdLCJuYW1lcyI6WyJkZWZlcnJlZCIsIm5leHQiLCJEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyIsImlzTmlsIiwieCIsImluc2VydFNtYWxsZXIiLCJkaXN0YW5jZXNBciIsImluZGV4ZXMiLCJudW0iLCJpbmRleCIsImxlbmd0aCIsIm5ld1Bvc2l0aW9uIiwiZmluZEluZGV4IiwidiIsInBvcCIsInNwbGljZSIsIlN0cmluZ01ldHJpY3NOYW1lcyIsIlZlY3Rvck1ldHJpY3NOYW1lcyIsIkJpdEFycmF5TWV0cmljc05hbWVzIiwiSW50QXJyYXlNZXRyaWNzTmFtZXMiLCJEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cyIsIk51bWJlck1ldHJpY3NOYW1lcyIsInZlY3RvckRpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiczEiLCJzMiIsImRpc3QiLCJpIiwiYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiaW50QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwibnVtYmVyRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsIkF2YWlsYWJsZU1ldHJpY3MiLCJNZXRyaWNUb0RhdGFUeXBlIiwiT2JqZWN0Iiwia2V5cyIsInJlZHVjZSIsInJldCIsImtleSIsInZhbCIsImlzQml0QXJyYXlNZXRyaWMiLCJuYW1lIiwiTWVhc3VyZSIsIm1ldGhvZCIsImRhdGFUeXBlIiwiY29uc3RydWN0b3IiLCJ0aGlzIiwiZ2V0TWVhc3VyZSIsIm9wdHMiLCJkaWN0IiwiaGFzT3duUHJvcGVydHkiLCJFcnJvciIsInN0YXRpYyIsImF2YWlsYWJsZU1lYXN1cmVzIiwiRGlzdGFuY2VNYXRyaXgiLCJfZGF0YSIsIl9zaXplIiwiZGF0YSIsInNpemUiLCJ1bmRlZmluZWQiLCJNYXRoIiwic3FydCIsImZsb29yIiwiZGF0YUxlbmd0aCIsIkZsb2F0MzJBcnJheSIsIl9saW5lYXJpemVJSiIsImoiLCJnZXQiLCJzZXQiLCJ2YWx1ZSIsImxpc3QiLCJyZXMiLCJzcXVhcmUiLCJhZGQiLCJvdGhlciIsIm5vcm1hbGl6ZSIsIm1pbiIsIm1heCIsInJhbmdlIiwiZG1MaW5lYXJJbmRleCIsIlNQRUJhc2UiLCJzdGVwcyIsImN5Y2xlcyIsImN1dG9mZiIsImxhbWJkYSIsImRsYW1iZGEiLCJsYW1iZGEyIiwiZGxhbWJkYTIiLCJlcHNpbG9uIiwiZGlzdGFuY2VGdW5jdGlvbiIsImRpc3RhbmNlRnVuY3Rpb25OYW1lIiwiZGlzdGFuY2UiLCJkbUluZGV4RnVuY3QiLCJvcHRpb25zIiwiYXN5bmMiLCJ2ZWN0b3JzIiwibWF0cml4U2VydmljZSIsImNhbGMiLCJ0ZXJtaW5hdGUiLCJjYWxjRGlzdGFuY2UiLCJpbmRleDEiLCJpbmRleDIiLCJuSXRlbXMiLCJjb29yZGluYXRlcyIsImRpbWVuc2lvbiIsImluaXREaXN0YW5jZSIsImN5Y2xlIiwic3RlcCIsInJhbmRvbSIsInJvd2kiLCJyb3dqIiwiciIsImQiLCJtdWx0aXBsaWVyIiwiZGlmZklKIiwiUFNQRUJhc2UiLCJPcmlnaW5hbFNQRSIsInJhZGl1c1BlcmNlbnQiLCJtYXhEaXN0YW5jZSIsIm1heERpc3RhbmNlU3RlcHMiLCJzdXBlciIsIm4iLCJyYWRpdXMiLCJEaW1SZWR1Y3Rpb25NZXRob2RzIiwiUmVkdWNlciIsIkF2YWlsYWJsZVJlZHVjZXJzIiwicmVkdWNlciIsImRpc3RhbmNlRm5hbWUiLCJkaXN0YW5jZUZuIiwiZGlzdGFuY2VNYXRyaXgiLCJzcGFyc2VNYXRyaXgiLCJkbUluZGV4RnVuYyIsInByb2dyZXNzRnVuYyIsImRpc3RhbmNlRm5BcmdzIiwiQXJyYXkiLCJmaWxsIiwibWFwIiwiXyIsIl9lbmNvZGVkRGlzdGFuY2UiLCJiaW5kIiwibk5laWdoYm9ycyIsIl9lbmNvZGVkU3BhcnNlTWF0cml4IiwiYSIsImIiLCJfcGFyYWxsZWxEaXN0YW5jZVdvcmtlcnMiLCJjb25zb2xlIiwidGltZSIsImtublJlcyIsImdldEtOTiIsIm5laWdoYm9ycyIsInRpbWVFbmQiLCJzZXRQcmVjb21wdXRlZEtOTiIsImtubkluZGV4ZXMiLCJrbm5EaXN0YW5jZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJlbWJlZGRpbmciLCJmaXRBc3luYyIsImVwb2MiLCJnZXRORXBvY2hzIiwiZ2V0RW1iZWRkaW5nIiwiaXRlcmF0aW9ucyIsInBhcmFsbGVsRGlzdGFuY2VXb3JrZXJzIiwiZSIsIm1hdHJpeFByb3h5IiwiY29uZGVuc2VkQXJyYXkiLCJsaW5lYXJGdW5jIiwibGluZWFySW5kZXgiLCJpTnVtIiwiTnVtYmVyIiwiak51bSIsImlkeDFIYW5kbGVyIiwidGFyZ2V0IiwiaWR4MSIsIl9yZWNlaXZlciIsIlByb3h5IiwiaWR4MiIsImlkeDJIYW5kbGVyIiwiZGlzdGFuY2VNYXRyaXhQcm94eSIsImluaXREYXRhRGlzdCIsImdldFNvbHV0aW9uIiwiZW1iIiwiZW1iZWQiLCJEaW1lbnNpb25hbGl0eVJlZHVjZXIiLCJtZXRyaWMiLCJtZWFzdXJlIiwic3BlY09wdGlvbnMiLCJiaXRBcnJheUxlbmd0aCIsIl9sZW5ndGgiLCJuRXBvY2hzIiwidHJhbnNwb3NlIiwidHJhbnNmb3JtIiwidHlwZU5hbWUiLCJhdmFpbGFibGVNZXRob2RzIiwiYXZhaWxhYmxlTWV0cmljcyIsImFucyIsInZhbHVlcyIsImZvckVhY2giLCJvYmoiLCJhcnJheSIsImVwb2NoTnVtIiwiZXBvY2hzTGVuZ3RoIiwic2VsZiIsInBvc3RNZXNzYWdlIiwib25tZXNzYWdlIiwiY29sdW1uRGF0YSIsIm9uTWVzc2FnZSIsImVycm9yIiwicmFuZG9tRmxvYXQiLCJyYW5kb21JbnQiLCJhc3NlcnQiLCJjb25kaXRpb24iLCJtZXNzYWdlIiwidHJhbnNwb3NlTWF0cml4IiwibWF0cml4IiwidmVjdG9yQWRkIiwicCIsInEiLCJ0b3RhbCIsImZpbGxSYW5kb21NYXRyaXgiLCJkaW1lbnNpb24xIiwiZGltZW5zaW9uMiIsInNjYWxlIiwiaW5pdENvb3JkaW5hdGVzIiwiY2FsY3VsYXRlRXVjbGlkZWFuRGlzdGFuY2UiLCJyZXN1bHQiLCJsZW4iLCJwb3ciLCJfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJjYWNoZWRNb2R1bGUiLCJleHBvcnRzIiwibW9kdWxlIiwiX193ZWJwYWNrX21vZHVsZXNfXyIsIm0iLCJfX3dlYnBhY2tfZXhwb3J0c19fIiwiTyIsImNodW5rSWRzIiwiZm4iLCJwcmlvcml0eSIsIm5vdEZ1bGZpbGxlZCIsIkluZmluaXR5IiwiZnVsZmlsbGVkIiwiZXZlcnkiLCJkZWZpbml0aW9uIiwibyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImYiLCJjaHVua0lkIiwiYWxsIiwicHJvbWlzZXMiLCJ1IiwiZyIsImdsb2JhbFRoaXMiLCJGdW5jdGlvbiIsIndpbmRvdyIsInByb3AiLCJwcm90b3R5cGUiLCJjYWxsIiwic2NyaXB0VXJsIiwiaW1wb3J0U2NyaXB0cyIsImxvY2F0aW9uIiwiZG9jdW1lbnQiLCJjdXJyZW50U2NyaXB0Iiwic3JjIiwic2NyaXB0cyIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwicmVwbGFjZSIsImluc3RhbGxlZENodW5rcyIsImNodW5rTG9hZGluZ0dsb2JhbCIsInBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uIiwicHVzaCIsIm1vcmVNb2R1bGVzIiwicnVudGltZSIsInRoZW4iXSwic291cmNlUm9vdCI6IiJ9
|