@datagrok/eda 1.1.9 → 1.1.10

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/943.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see 943.js.LICENSE.txt */
2
- var eda;(()=>{"use strict";var t,e,n={4943:(t,e,n)=>{class r extends Float32Array{}var s=n(7659),i=n(1040),o=n(1811),a=n(3979),h=n(9657),l=n(708);function c(t,e){const n=t.trueCount()+e.trueCount();if(0==n)return 1;const r=t.andWithCountBits(e,!0);return r/(n-r)}function u(t){return 0===t?3402823e32:1/t-1}function g(t=!1,e="Assertion error."){if(!t)throw new Error(e)}i.gk.Tanimoto,i.gk.Dice,i.gk.Asymmetric,i.gk.BraunBlanquet,i.gk.Cosine,i.gk.Kulczynski,i.gk.McConnaughey,i.gk.RogotGoldberg,i.gk.Russel,i.gk.Sokal,i.gk.Hamming,i.gk.Euclidean,i.gk.Tanimoto,i.gk.Dice,i.gk.Asymmetric,i.gk.BraunBlanquet,i.gk.Cosine,i.gk.Kulczynski,i.gk.McConnaughey,i.gk.RogotGoldberg,i.gk.Russel,i.gk.Sokal,i.gk.Hamming,i.gk.Euclidean,i.gk.Tanimoto,i.gk.Dice,i.gk.Cosine,i.gk.Tanimoto,i.gk.Asymmetric,i.gk.Cosine,i.gk.Sokal,l.U.HAMMING,l.U.LEVENSHTEIN,l.U.MONOMER_CHEMICAL_DISTANCE,l.U.NEEDLEMANN_WUNSCH;const f={[i.CF.Euclidean]:function(t,e){let n=0;const r=t.length;if(r!==e.length)throw new Error("The dimensionality of the vectors must match");for(let s=0;s<r;++s)n+=Math.pow(t[s]-e[s],2);return Math.sqrt(n)}},m={[i.W.Levenshtein]:o.T,[i.W.JaroWinkler]:a.H$,[i.W.Manhattan]:function(t,e){if(t.length!==e.length)return 1;{let n=0;for(let r=1;r<t.length;r++)n+=t[r]==e[r]?0:1;return n/t.length}},[i.W.Onehot]:function(t,e){return t===e?0:1}},d={[i.gk.Tanimoto]:function(t,e){return u(c(t,e))},[i.gk.Dice]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount();return 0==n?0:2*t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.Asymmetric]:function(t,e){return u(function(t,e){const n=Math.min(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.BraunBlanquet]:function(t,e){return u(function(t,e){const n=Math.max(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.Cosine]:function(t,e){return u(function(t,e){const n=t.trueCount()*e.trueCount();return 0==n?0:t.andWithCountBits(e,!0)/Math.sqrt(n)}(t,e))},[i.gk.Kulczynski]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.trueCount()*e.trueCount();return 0==r?0:t.andWithCountBits(e,!0)*n/(2*r)}(t,e))},[i.gk.McConnaughey]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.trueCount()*e.trueCount();return 0==r?0:(t.andWithCountBits(e,!0)*n-r)/r}(t,e))},[i.gk.RogotGoldberg]:function(t,e){return u(function(t,e){const n=t.andWithCountBits(e,!0),r=t.countBits(!0)+e.countBits(!0),s=t.length,i=s-r+n;return n==s||i==s?1:n/r+i/(2*s-r)}(t,e))},[i.gk.Russel]:function(t,e){return u(function(t,e){return 0==t.length?0:t.andWithCountBits(e,!0)/t.length}(t,e))},[i.gk.Sokal]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.andWithCountBits(e,!0);return r/(2*n-3*r)}(t,e))},[i.gk.Hamming]:function(t,e){return t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0)},[i.gk.Euclidean]:function(t,e){return Math.sqrt(t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0))}},p={[i.gd.TanimotoIntArray]:function(t,e){return u(c(new h.Z(t,32*t.length),new h.Z(e,32*e.length)))}},w={[i.Yc.Difference]:function(t,e){return Math.abs(t-e)}},k={[i.Qe.Vector]:{[i.CF.Euclidean]:f[i.CF.Euclidean]},[i.Qe.String]:{[i.W.Levenshtein]:m[i.W.Levenshtein],[i.W.JaroWinkler]:m[i.W.JaroWinkler],[i.W.Manhattan]:m[i.W.Manhattan],[i.W.Onehot]:m[i.W.Onehot]},[i.Qe.BitArray]:{[i.gk.Tanimoto]:d[i.gk.Tanimoto],[i.gk.Dice]:d[i.gk.Dice],[i.gk.Asymmetric]:d[i.gk.Asymmetric],[i.gk.BraunBlanquet]:d[i.gk.BraunBlanquet],[i.gk.Cosine]:d[i.gk.Cosine],[i.gk.Kulczynski]:d[i.gk.Kulczynski],[i.gk.McConnaughey]:d[i.gk.McConnaughey],[i.gk.RogotGoldberg]:d[i.gk.RogotGoldberg],[i.gk.Russel]:d[i.gk.Russel],[i.gk.Sokal]:d[i.gk.Sokal]},[i.Qe.MacroMolecule]:{[l.U.HAMMING]:l.o[l.U.HAMMING],[l.U.LEVENSHTEIN]:l.o[l.U.LEVENSHTEIN],[l.U.NEEDLEMANN_WUNSCH]:l.o[l.U.NEEDLEMANN_WUNSCH],[l.U.MONOMER_CHEMICAL_DISTANCE]:l.o[l.U.MONOMER_CHEMICAL_DISTANCE]},[i.Qe.Number]:{[i.Yc.Difference]:w[i.Yc.Difference]},[i.Qe.IntArray]:{[i.gd.TanimotoIntArray]:p[i.gd.TanimotoIntArray]}},y=Object.keys(k).reduce(((t,e)=>{for(const n of Object.keys(k[e]))t[n]=e;return t}),{});class M{method;dataType;constructor(t){this.method=t,this.dataType=y[t]}getMeasure(t){const e=k;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,y[n]==i.Qe.MacroMolecule.toString()?e[this.dataType][this.method](t):e[this.dataType][this.method];var n}static getMetricByDataType(t){return Object.keys(k[t])}static get availableMeasures(){return Object.keys(k)}}var N;!function(t){t.EUCLIDEAN="EUCLIDEAN",t.MANHATTAN="MANHATTAN"}(N||(N={}));const b=t=>null==t;function C(t,e,n,r){if(n>t[t.length-1])return;const s=t.findIndex((t=>n<t));t.pop(),t.splice(s,0,n),e.pop(),e.splice(s,0,r)}class E{_workers;_workerCount;_terminateOnComplete;constructor(t=!0,e=!0){const r=navigator.hardwareConcurrency;this._workerCount=t?Math.max(r-2,1):1,this._workers=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(100),n.b)))),this._terminateOnComplete=e}async calc(t,e,n=!0,r){return new Promise((async(s,i)=>{try{const i=t.length,o=new Array(this._workerCount),a=i*(i-1)/2;this._workerCount=Math.min(this._workerCount,a);const h=a/this._workerCount,l=new Float32Array(a);let c=0,u=1,g=0,f=Number.MIN_VALUE;for(let n=0;n<this._workerCount;n++){const s=Math.floor(n*h),m=n===this._workerCount-1?a:Math.floor((n+1)*h),d=c,p=u;n!==this._workerCount-1&&(c=i-2-Math.floor(Math.sqrt(-8*m+4*i*(i-1)-7)/2-.5),u=m-i*c+Math.floor((c+1)*(c+2)/2)),this._workers[n].postMessage({values:t,fnName:e,startRow:d,startCol:p,chunckSize:m-s,opts:r}),o[n]=new Promise(((t,e)=>{this._workers[n].onmessage=({data:{error:r,distanceMatrixData:i,min:o,max:a}})=>{this._terminateOnComplete&&this._workers[n].terminate(),r?e(r):(l.set(i,s),o<g&&(g=o),a>f&&(f=a),t())}}))}await Promise.all(o),n&&l.forEach(((t,e)=>{l[e]=(t-g)/(f-g)})),s(l)}catch(t){i(t)}}))}terminate(){this._workers.forEach((t=>t.terminate()))}}function A(t,e){return Math.floor(e()*t)}function v(t){return t()}function S(t){const e=[];for(let n=0;n<t;n++)e.push(void 0);return e}function F(t){return S(t).map(((t,e)=>e))}function x(t,e){return S(t).map((()=>e))}function z(t){return x(t,0)}function D(t){return function(t){return t.reduce(((t,e)=>t+e))}(t)/t.length}function I(t){let e=0;for(let n=0;n<t.length;n++)e=t[n]>e?t[n]:e;return e}function R(t,e,n){const r=z(t);for(let s=0;s<t;s++){let t=!0;for(;t;){const i=A(e,n);let o=!1;for(let t=0;t<s;t++)if(i===r[t]){o=!0;break}o||(t=!1),r[s]=i}}return r}function O(t,e,n){const r=[];let s=0,i=0;if(t.length!==e*n)throw new Error("Array dimensions must match input length.");for(let o=0;o<e;o++){const e=[];for(let r=0;r<n;r++)e.push(t[i]),i+=1;r.push(e),s+=1}return r}function T(t,e){const n=n=>S(t).map((()=>x(e,n))),r=[];return r.push(n(-1)),r.push(n(1/0)),r.push(n(0)),r}function _(t,e,n){const r=z(t);for(let s=0;s<t;s++){let t=!0,i=0;for(;t;){i=A(e,n);let o=!1;for(let t=0;t<s;t++)if(i===r[t]){o=!0;break}o||(t=!1)}r[s]=i}return r}function P(t,e,n,r,s){e=Math.floor(e);const i=t[0][e],o=t[1][e];if(t[2][e],n>=o[0])return 0;for(let t=0;t<i.length;t++)if(r===i[t])return 0;return L(t,e,n,r,s)}function L(t,e,n,r,s){const i=t[0][e],o=t[1][e],a=t[2][e];if(n>=o[0])return 0;o[0]=n,i[0]=r,a[0]=s;let h=0,l=0;for(;;){const e=2*h+1,r=e+1,s=t[0][0].length;if(e>=s)break;if(r>=s){if(!(o[e]>n))break;l=e}else if(o[e]>=o[r]){if(!(n<o[e]))break;l=e}else{if(!(n<o[r]))break;l=r}o[h]=o[l],i[h]=i[l],a[h]=a[l],h=l}return o[h]=n,i[h]=r,a[h]=s,1}function W(t,e,n,r,s){const i=T(e,r);for(let r=0;r<e;r++)for(let e=0;e<n;e++){if(t[0][r][e]<0)continue;const n=t[0][r][e],o=t[2][r][e],a=v(s);P(i,r,a,n,o),P(i,n,a,r,o),t[2][r][e]=0}return i}function V(t){const e=t[0],n=t[1];for(let t=0;t<e.length;t++){const r=e[t],s=n[t];for(let t=0;t<r.length-1;t++){const e=r.length-t-1,n=s.length-t-1,i=r[0];r[0]=r[e],r[e]=i;const o=s[0];s[0]=s[n],s[n]=o,B(s,r,n,0)}}return{indices:e,weights:n}}function B(t,e,n,r){for(;2*r+1<n;){const s=2*r+1,i=s+1;let o=r;if(t[o]<t[s]&&(o=s),i<n&&t[o]<t[i]&&(o=i),o===r)break;{const n=t[r];t[r]=t[o],t[o]=n;const s=e[r];e[r]=e[o],e[o]=s,r=o}}}function j(t,e){const n=t[0][e],r=t[1][e],s=t[2][e];let i=1/0,o=-1;for(let t=0;t>n.length;t++)1===s[t]&&r[t]<i&&(i=r[t],o=t);return o>=0?(s[o]=0,Math.floor(n[o])):-1}class U{entries=new Map;nRows=0;nCols=0;constructor(t,e,n,r){if(t.length!==e.length||t.length!==n.length)throw new Error("rows, cols and values arrays must all have the same length");this.nRows=r[0],this.nCols=r[1];for(let r=0;r<n.length;r++){const s=t[r],i=e[r];this.checkDims(s,i);const o=this.makeKey(s,i);this.entries.set(o,{value:n[r],row:s,col:i})}}makeKey(t,e){return`${t}:${e}`}checkDims(t,e){if(!(t<this.nRows&&e<this.nCols))throw new Error("row and/or col specified outside of matrix dimensions")}set(t,e,n){this.checkDims(t,e);const r=this.makeKey(t,e);this.entries.has(r)?this.entries.get(r).value=n:this.entries.set(r,{value:n,row:t,col:e})}get(t,e,n=0){const r=this.makeKey(t,e);return this.entries.has(r)?this.entries.get(r).value:n}getAll(t=!0){const e=new Array(this.entries.size).fill(null);let n=0;return this.entries.forEach((t=>{e[n++]=t})),t&&e.sort(((t,e)=>t.row===e.row?t.col-e.col:t.row-e.row)),e}getDims(){return[this.nRows,this.nCols]}getRows(){return Array.from(this.entries,(([t,e])=>e.row))}getCols(){return Array.from(this.entries,(([t,e])=>e.col))}getValues(){return Array.from(this.entries,(([t,e])=>e.value))}forEach(t){this.entries.forEach((e=>t(e.value,e.row,e.col)))}map(t){const e=new Float32Array(this.entries.size);let n=0;this.entries.forEach((r=>{e[n++]=t(r.value,r.row,r.col)}));const r=[this.nRows,this.nCols];return new U(this.getRows(),this.getCols(),e,r)}toArray(){const t=S(this.nRows).map((()=>z(this.nCols)));return this.entries.forEach((e=>{t[e.row][e.col]=e.value})),t}}function G(t){const e=t.getRows(),n=t.getCols(),r=t.getValues(),s=n.length,i=new Int32Array(s),o=new Int32Array(s),a=new Float32Array(s);i.set(e),o.set(n),a.set(r);const h=[t.nCols,t.nRows];return new U(o,i,a,h)}function Y(t,e){return X(t,e,((t,e)=>t*e))}function H(t,e){return X(t,e,((t,e)=>t+e))}function K(t,e){return X(t,e,((t,e)=>t-e))}function q(t,e){return t.map((t=>t*e))}function $(t){const e=new Set,n=t.getValues(),r=t.getRows(),s=t.getCols();for(let t=0;t<n.length;t++)0===n[t]&&e.add(t);const i=(t,n)=>!e.has(n),o=n.filter(i),a=r.filter(i),h=s.filter(i);return new U(a,h,o,t.getDims())}function Z(t,e="l2"){const n=Q[e],r=new Map;t.forEach(((t,e,n)=>{const s=r.get(e)||[];s.push(n),r.set(e,s)}));const s=new U([],[],[],t.getDims());for(let e of r.keys()){const i=r.get(e).sort(),o=n(i.map((n=>t.get(e,n))));for(let t=0;t<o.length;t++)s.set(e,i[t],o[t])}return s}const Q={max:t=>{let e=-1/0;for(let n=0;n<t.length;n++)e=t[n]>e?t[n]:e;return t.map((t=>t/e))},l1:t=>{let e=0;for(let n=0;n<t.length;n++)e+=t[n];return t.map((t=>t/e))},l2:t=>{let e=0;for(let n=0;n<t.length;n++)e+=t[n]**2;return t.map((t=>Math.sqrt(t**2/e)))}};function X(t,e,n){const r=new Set,s=[],i=[],o=[],a=(r,a)=>{s.push(r),i.push(a);const h=n(t.get(r,a),e.get(r,a));o.push(h)},h=t.getValues(),l=t.getRows(),c=t.getCols();for(let t=0;t<h.length;t++){const e=l[t],n=c[t],s=`${e}:${n}`;r.add(s),a(e,n)}const u=e.getValues(),g=e.getRows(),f=e.getCols();for(let t=0;t<u.length;t++){const e=g[t],n=f[t],s=`${e}:${n}`;r.has(s)||a(e,n)}const m=[t.nRows,t.nCols];return new U(s,i,o,m)}function J(t){const e=[];t.forEach(((t,n,r)=>{e.push({value:t,row:n,col:r})})),e.sort(((t,e)=>t.row===e.row?t.col-e.col:t.row-e.row));const n=[],r=[],s=[];let i=-1;for(let t=0;t<e.length;t++){const{row:o,col:a,value:h}=e[t];o!==i&&(i=o,s.push(t)),n.push(a),r.push(h)}return{indices:n,values:r,indptr:s}}class tt{hyperplanes;offsets;children;indices;constructor(t,e,n,r){this.hyperplanes=t,this.offsets=e,this.children=n,this.indices=r}}function et(t,e,n,r){const s=Math.max(10,e),i=F(n).map(((e,n)=>function(t,e=30,n,r){return nt(t,F(t.length),e,n,r)}(t,s,n,r))),o=i.map((t=>function(t,e){const n=st(t),r=it(t),s=F(n).map((()=>t.hyperplane?1:0)),i=z(n),o=F(n).map((()=>[-1,-1])),a=F(r).map((()=>F(e).map((()=>-1))));return rt(t,s,i,o,a,0,0),new tt(s,i,o,a)}(t,s)));return o}function nt(t,e,n=30,r,s){if(e.length>n){const i=function(t,e,n){let r=A(e.length,n),s=A(e.length,n);s+=r===s?1:0,s%=e.length;const i=e[r],o=e[s];let a=0,h=0;h=t[i]-t[o],a-=h*(t[i]+t[o])/2;let l=0,c=0;const u=z(e.length);for(let r=0;r<e.length;r++){let s=a;s+=h*t[e[r]],0===s?(u[r]=A(2,n),0===u[r]?l+=1:c+=1):s>0?(u[r]=0,l+=1):(u[r]=1,c+=1)}const g=z(l),f=z(c);l=0,c=0;for(let t=0;t<u.length;t++)0===u[t]?(g[l]=e[t],l+=1):(f[c]=e[t],c+=1);return{indicesLeft:g,indicesRight:f,hyperplane:h,offset:a}}(t,e,s),{indicesLeft:o,indicesRight:a,hyperplane:h,offset:l}=i;return{leftChild:nt(t,o,n,r+1,s),rightChild:nt(t,a,n,r+1,s),isLeaf:!1,hyperplane:h,offset:l}}return{indices:e,isLeaf:!0}}function rt(t,e,n,r,s,i,o){if(t.isLeaf)return r[i][0]=-o,s[o].splice(0,t.indices.length,...t.indices),{nodeNum:i,leafNum:o+=1};{e[i]=t.hyperplane,n[i]=t.offset,r[i][0]=i+1;const a=i;let h=rt(t.leftChild,e,n,r,s,i+1,o);return i=h.nodeNum,o=h.leafNum,r[a][1]=i+1,h=rt(t.rightChild,e,n,r,s,i+1,o),{nodeNum:h.nodeNum,leafNum:h.leafNum}}}function st(t){return t.isLeaf?1:1+st(t.leftChild)+st(t.rightChild)}function it(t){return t.isLeaf?1:it(t.leftChild)+it(t.rightChild)}function ot(t,e,n,r){let s=e;return s+=t*n,0===s?A(2,r):s>0?0:1}function at(t,e,n){let r=0;for(;e.children[r][0]>0;)r=0===ot(e.hyperplanes[r],e.offsets[r],t,n)?e.children[r][0]:e.children[r][1];const s=-1*e.children[r][0];return e.indices[s]}var ht=n(7531),lt=n(1353),ct=n(4162);const ut=1e-5,gt=.001;class ft{learningRate=1;localConnectivity=1;minDist=.1;nComponents=2;nEpochs=0;nNeighbors=15;negativeSampleRate=5;random=Math.random;repulsionStrength=1;setOpMixRatio=1;spread=1;transformQueueSize=4;targetMetric="categorical";targetWeight=.5;targetNNeighbors=this.nNeighbors;distanceFn=mt;knnIndices;knnDistances;graph;X;isInitialized=!1;rpForest=[];initFromRandom;initFromTree;search;searchGraph;Y;embedding=[];optimizationState=new dt;get neighbors(){return this.nNeighbors}constructor(t={}){const e=e=>{void 0!==t[e]&&(this[e]=t[e])};e("distanceFn"),e("learningRate"),e("localConnectivity"),e("minDist"),e("nComponents"),e("nEpochs"),e("nNeighbors"),e("negativeSampleRate"),e("random"),e("repulsionStrength"),e("setOpMixRatio"),e("spread"),e("transformQueueSize")}fit(t){return this.initializeFit(t),this.optimizeLayout(),this.embedding}async fitAsync(t,e=(()=>!0)){return this.initializeFit(t),await this.optimizeLayoutAsync(e),this.embedding}setSupervisedProjection(t,e={}){this.Y=t,this.targetMetric=e.targetMetric||this.targetMetric,this.targetWeight=e.targetWeight||this.targetWeight,this.targetNNeighbors=e.targetNNeighbors||this.targetNNeighbors}setPrecomputedKNN(t,e){this.knnIndices=t,this.knnDistances=e}initializeFit(t){if(t.length<=this.nNeighbors)throw new Error(`Not enough data points (${t.length}) to create nNeighbors: ${this.nNeighbors}. Add more data points or adjust the configuration.`);if(this.X===t&&this.isInitialized)return this.getNEpochs();if(this.X=t,!this.knnIndices&&!this.knnDistances){const e=this.nearestNeighbors(t);this.knnIndices=e.knnIndices,this.knnDistances=e.knnDistances}this.graph=this.fuzzySimplicialSet(t,this.nNeighbors,this.setOpMixRatio),this.makeSearchFns(),this.searchGraph=this.makeSearchGraph(t),this.processGraphForSupervisedProjection();const{head:e,tail:n,epochsPerSample:r}=this.initializeSimplicialSetEmbedding();return this.optimizationState.head=e,this.optimizationState.tail=n,this.optimizationState.epochsPerSample=r,this.initializeOptimization(),this.prepareForOptimizationLoop(),this.isInitialized=!0,this.getNEpochs()}makeSearchFns(){const{initFromTree:t,initFromRandom:e}=(n=this.distanceFn,{initFromRandom:function(t,e,r,s,i){for(let o=0;o<r.length;o++){const a=R(t,e.length,i);for(let t=0;t<a.length;t++)a[t]<0||P(s,o,n(e[a[t]],r[o]),a[t],1)}},initFromTree:function(t,e,r,s,i){for(let o=0;o<r.length;o++){const a=at(r[o],t,i);for(let t=0;t<a.length;t++){if(a[t]<0)return;P(s,o,n(e[a[t]],r[o]),a[t],1)}}}});var n;this.initFromTree=t,this.initFromRandom=e,this.search=function(t){return function(e,n,r,s){const{indices:i,indptr:o}=J(n);for(let n=0;n<s.length;n++){const a=new Set(r[0][n]);for(;;){const h=j(r,n);if(-1===h)break;const l=i.slice(o[h],o[h+1]);for(const i of l)i===h||-1===i||a.has(i)||(L(r,n,t(e[i],s[n]),i,1),a.add(i))}}return r}}(this.distanceFn)}makeSearchGraph(t){const e=this.knnIndices,n=this.knnDistances,r=[t.length,t.length],s=new U([],[],[],r);for(let t=0;t<e.length;t++){const r=e[t],i=n[t];for(let e=0;e<r.length;e++){const n=r[e],o=i[e];o>0&&s.set(t,n,o)}}return X(s,G(s),((t,e)=>t>e?t:e))}transform(t){const e=this.X;if(void 0===e||0===e.length)throw new Error("No data has been fit.");let n=Math.floor(this.nNeighbors*this.transformQueueSize);n=Math.min(e.length,n);const r=function(t,e,n,r,s,i,o){const a=T(n.length,r);if(s(r,e,n,a,o),t)for(let r of t)i(r,e,n,a,o);return a}(this.rpForest,e,t,n,this.initFromRandom,this.initFromTree,this.random),s=this.search(e,this.searchGraph,r,t);let{indices:i,weights:o}=V(s);i=i.map((t=>t.slice(0,this.nNeighbors))),o=o.map((t=>t.slice(0,this.nNeighbors)));const a=Math.max(0,this.localConnectivity-1),{sigmas:h,rhos:l}=this.smoothKNNDistance(o,this.nNeighbors,a),{rows:c,cols:u,vals:g}=this.computeMembershipStrengths(i,o,h,l),f=[t.length,e.length];let m=new U(c,u,g,f);const d=J(Z(m,"l1")),p=t.length,w=function(t,e,n){const r=z(t.length).map((t=>z(n[0].length)));for(let s=0;s<t.length;s++)for(let i=0;i<t[0].length;i++)for(let o=0;o<n[0].length;o++){const a=t[s][i];r[s][o]+=e[s][i]*n[a][o]}return r}(O(d.indices,p,this.nNeighbors),O(d.values,p,this.nNeighbors),this.embedding),k=this.nEpochs?this.nEpochs/3:m.nRows<=1e4?100:30,y=m.getValues().reduce(((t,e)=>e>t?e:t),0);m=m.map((t=>t<y/k?0:t)),m=$(m);const M=this.makeEpochsPerSample(m.getValues(),k),N=m.getRows(),b=m.getCols();return this.assignOptimizationStateParameters({headEmbedding:w,tailEmbedding:this.embedding,head:N,tail:b,currentEpoch:0,nEpochs:k,nVertices:m.getDims()[1],epochsPerSample:M}),this.prepareForOptimizationLoop(),this.optimizeLayout()}processGraphForSupervisedProjection(){const{Y:t,X:e}=this;if(t){if(t.length!==e.length)throw new Error("Length of X and y must be equal");if("categorical"===this.targetMetric){const e=this.targetWeight<1?1/(1-this.targetWeight)*2.5:1e12;this.graph=this.categoricalSimplicialSetIntersection(this.graph,t,e)}}}step(){const{currentEpoch:t}=this.optimizationState;return t<this.getNEpochs()&&this.optimizeLayoutStep(t),this.optimizationState.currentEpoch}getEmbedding(){return this.embedding}nearestNeighbors(t){const{distanceFn:e,nNeighbors:n}=this,r=function(t,e){return function(n,r,s,i=10,o=50,a=.001,h=.5,l=!0){const c=n.length,u=T(n.length,s);for(let r=0;r<n.length;r++){const i=_(s,n.length,e);for(let e=0;e<i.length;e++){const s=t(n[r],n[i[e]]);P(u,r,s,i[e],1),P(u,i[e],s,r,1)}}if(l)for(let e=0;e<r.length;e++)for(let s=0;s<r[e].length&&!(r[e][s]<0);s++)for(let i=s+1;i<r[e].length&&!(r[e][i]<0);i++){const o=t(n[r[e][s]],n[r[e][i]]);P(u,r[e][s],o,r[e][i],1),P(u,r[e][i],o,r[e][s],1)}for(let r=0;r<i;r++){const r=W(u,c,s,o,e);let i=0;for(let s=0;s<c;s++)for(let a=0;a<o;a++){let l=Math.floor(r[0][s][a]);if(!(l<0||v(e)<h))for(let e=0;e<o;e++){const o=Math.floor(r[0][s][e]),h=r[2][s][a],c=r[2][s][e];if(o<0||!h&&!c)continue;const g=t(n[l],n[o]);i+=P(u,l,g,o,1),i+=P(u,o,g,l,1)}}if(i<=a*s*n.length)break}return V(u)}}(e,this.random),s=5+Math.floor(.5==(i=t.length**.5/20)?0:Math.round(i));var i;const o=Math.max(5,Math.floor(Math.round((t=>Math.log(t)/Math.log(2))(t.length))));this.rpForest=et(t,n,s,this.random);const a=function(t){if(t.length>0){const e=[];for(let n of t)e.push(...n.indices);return e}return[[-1]]}(this.rpForest),{indices:h,weights:l}=r(t,a,n,o);return{knnIndices:h,knnDistances:l}}fuzzySimplicialSet(t,e,n=1){const{knnIndices:r=[],knnDistances:s=[],localConnectivity:i}=this,{sigmas:o,rhos:a}=this.smoothKNNDistance(s,e,i),{rows:h,cols:l,vals:c}=this.computeMembershipStrengths(r,s,o,a),u=[t.length,t.length],g=new U(h,l,c,u),f=G(g),m=Y(g,f),d=K(H(g,f),m);return H(q(d,n),q(m,1-n))}categoricalSimplicialSetIntersection(t,e,n,r=1){let s=function(t,e,n=1,r=5){return t.map(((t,s,i)=>-1===e[s]||-1===e[i]?t*Math.exp(-n):e[s]!==e[i]?t*Math.exp(-r):t))}(t,e,r,n);return s=$(s),function(t){const e=G(t=Z(t,"max"));return $(t=H(t,K(e,Y(e,t))))}(s)}smoothKNNDistance(t,e,n=1,r=64,s=1){const i=Math.log(e)/Math.log(2)*s,o=z(t.length),a=z(t.length);for(let e=0;e<t.length;e++){let s=0,h=1/0,l=1;const c=t[e],u=c.filter((t=>t>0));if(u.length>=n){let t=Math.floor(n),r=n-t;t>0?(o[e]=u[t-1],r>ut&&(o[e]+=r*(u[t]-u[t-1]))):o[e]=r*u[0]}else u.length>0&&(o[e]=I(u));for(let n=0;n<r;n++){let n=0;for(let r=1;r<t[e].length;r++){const s=t[e][r]-o[e];n+=s>0?Math.exp(-s/l):1}if(Math.abs(n-i)<ut)break;n>i?(h=l,l=(s+h)/2):(s=l,h===1/0?l*=2:l=(s+h)/2)}if(a[e]=l,o[e]>0){const t=D(c);a[e]<gt*t&&(a[e]=gt*t)}else{const n=D(t.map(D));a[e]<gt*n&&(a[e]=gt*n)}}return{sigmas:a,rhos:o}}computeMembershipStrengths(t,e,n,r){const s=t.length,i=t[0].length,o=z(s*i),a=z(s*i),h=z(s*i);for(let l=0;l<s;l++)for(let s=0;s<i;s++){let c=0;-1!==t[l][s]&&(c=t[l][s]===l?0:e[l][s]-r[l]<=0?1:Math.exp(-(e[l][s]-r[l])/n[l]),o[l*i+s]=l,a[l*i+s]=t[l][s],h[l*i+s]=c)}return{rows:o,cols:a,vals:h}}initializeSimplicialSetEmbedding(){const t=this.getNEpochs(),{nComponents:e}=this,n=this.graph.getValues();let r=0;for(let t=0;t<n.length;t++){const e=n[t];r<n[t]&&(r=e)}const s=this.graph.map((e=>e<r/t?0:e));this.embedding=z(s.nRows).map((()=>z(e).map((()=>20*v(this.random)-10))));const i=[],o=[],a=[],h=s.getAll();for(let t=0;t<h.length;t++){const e=h[t];e.value&&(i.push(e.value),a.push(e.row),o.push(e.col))}return{head:o,tail:a,epochsPerSample:this.makeEpochsPerSample(i,t)}}makeEpochsPerSample(t,e){const n=x(t.length,-1),r=I(t),s=t.map((t=>t/r*e));return s.forEach(((t,r)=>{t>0&&(n[r]=e/s[r])})),n}assignOptimizationStateParameters(t){Object.assign(this.optimizationState,t)}prepareForOptimizationLoop(){const{repulsionStrength:t,learningRate:e,negativeSampleRate:n}=this,{epochsPerSample:r,headEmbedding:s,tailEmbedding:i}=this.optimizationState,o=s[0].length,a=s.length===i.length,h=r.map((t=>t/n)),l=[...h],c=[...r];this.assignOptimizationStateParameters({epochOfNextSample:c,epochOfNextNegativeSample:l,epochsPerNegativeSample:h,moveOther:a,initialAlpha:e,alpha:e,gamma:t,dim:o})}initializeOptimization(){const t=this.embedding,e=this.embedding,{head:n,tail:r,epochsPerSample:s}=this.optimizationState,i=this.getNEpochs(),o=this.graph.nCols,{a,b:h}=function(t,e){const n=function(t,e,n){return S(300).map(((t,n)=>0+n*((e-0)/299)))}(0,3*t).map((t=>t<e?1:t)),r=z(n.length).map(((r,s)=>n[s]>=e?Math.exp(-(n[s]-e)/t):r)),s={x:n,y:r},{parameterValues:i}=function(t,e,n={}){let{maxIterations:r=100,gradientDifference:s=.1,damping:i=0,errorTolerance:o=.01,minValues:a,maxValues:h,initialValues:l}=n;if(i<=0)throw new Error("The damping option must be a positive number");if(!t.x||!t.y)throw new Error("The data parameter must have x and y elements");if(!(0,ht.Z)(t.x)||t.x.length<2||!(0,ht.Z)(t.y)||t.y.length<2)throw new Error("The data parameter elements must be an array with more than 2 points");if(t.x.length!==t.y.length)throw new Error("The data parameter elements must have the same size");let c=l||new Array(e.length).fill(1),u=c.length;if(h=h||new Array(u).fill(Number.MAX_SAFE_INTEGER),a=a||new Array(u).fill(Number.MIN_SAFE_INTEGER),h.length!==a.length)throw new Error("minValues and maxValues must be the same size");if(!(0,ht.Z)(c))throw new Error("initialValues must be an array");let g,f=(0,lt.Z)(t,c,e),m=f<=o;for(g=0;g<r&&!m;g++){c=(0,ct.Z)(t,c,i,s,e);for(let t=0;t<u;t++)c[t]=Math.min(Math.max(a[t],c[t]),h[t]);if(f=(0,lt.Z)(t,c,e),isNaN(f))break;m=f<=o}return{parameterValues:c,parameterError:f,iterations:g}}(s,(([t,e])=>n=>1/(1+t*n**(2*e))),{damping:1.5,initialValues:[.5,.5],gradientDifference:.1,maxIterations:100,errorTolerance:.01}),[o,a]=i;return{a:o,b:a}}(this.spread,this.minDist);this.assignOptimizationStateParameters({headEmbedding:t,tailEmbedding:e,head:n,tail:r,epochsPerSample:s,a,b:h,nEpochs:i,nVertices:o})}optimizeLayoutStep(t){const{optimizationState:e}=this,{head:n,tail:r,headEmbedding:s,tailEmbedding:i,epochsPerSample:o,epochOfNextSample:a,epochOfNextNegativeSample:h,epochsPerNegativeSample:l,moveOther:c,initialAlpha:u,alpha:g,gamma:f,a:m,b:d,dim:p,nEpochs:w,nVertices:k}=e;for(let e=0;e<o.length;e++){if(a[e]>t)continue;const u=n[e],w=r[e],y=s[u],M=i[w],N=wt(y,M);let b=0;N>0&&(b=-2*m*d*Math.pow(N,d-1),b/=m*Math.pow(N,d)+1);for(let t=0;t<p;t++){const e=pt(b*(y[t]-M[t]),4);y[t]+=e*g,c&&(M[t]+=-e*g)}a[e]+=o[e];const C=Math.floor((t-h[e])/l[e]);for(let t=0;t<C;t++){const t=A(k,this.random),e=i[t],n=wt(y,e);let r=0;if(n>0)r=2*f*d,r/=(.001+n)*(m*Math.pow(n,d)+1);else if(u===t)continue;for(let t=0;t<p;t++){let n=4;r>0&&(n=pt(r*(y[t]-e[t]),4)),y[t]+=n*g}}h[e]+=C*l[e]}return e.alpha=u*(1-t/w),e.currentEpoch+=1,s}optimizeLayoutAsync(t=(()=>!0)){return new Promise(((e,n)=>{const r=async()=>{try{const{nEpochs:n,currentEpoch:s}=this.optimizationState;this.embedding=this.optimizeLayoutStep(s);const i=this.optimizationState.currentEpoch,o=!1===t(i),a=i===n;if(o||a)return e(a);setTimeout((()=>r()),0)}catch(t){n(t)}};setTimeout((()=>r()),0)}))}optimizeLayout(t=(()=>!0)){let e=!1,n=[];for(;!e;){const{nEpochs:r,currentEpoch:s}=this.optimizationState;n=this.optimizeLayoutStep(s);const i=this.optimizationState.currentEpoch,o=!1===t(i);e=i===r||o}return n}getNEpochs(){const t=this.graph;if(this.nEpochs>0)return this.nEpochs;if(!t)return 200;const e=t.nRows;return e<=2500?500:e<=5e3?400:e<=7500?300:200}}function mt(t,e){return Math.abs(t-e)}class dt{currentEpoch=0;headEmbedding=[];tailEmbedding=[];head=[];tail=[];epochsPerSample=[];epochOfNextSample=[];epochOfNextNegativeSample=[];epochsPerNegativeSample=[];moveOther=!0;initialAlpha=1;alpha=1;gamma=1;a=1.5769434603113077;b=.8950608779109733;dim=2;nEpochs=500;nVertices=0}function pt(t,e){return t>e?e:t<-e?-e:t}function wt(t,e){let n=0;for(let r=0;r<t.length;r++)n+=Math.pow(t[r]-e[r],2);return n}class kt{_workerCount;constructor(){this._workerCount=Math.max(navigator.hardwareConcurrency-2,1)}async calc(t,e,r,s={}){const i=t.length*(t.length-1)/2,o=Math.floor(i/this._workerCount),a=t.length>2e4?await this.getMinimalThreshold(t,e,s):0;r<a&&(console.log(`using threshold ${a}`),r=a),s.threshold=r;const h=new Array(this._workerCount),l=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(471),n.b))));for(let n=0;n<this._workerCount;n++)h[n]=new Promise(((a,h)=>{const c=n*o,u=n===this._workerCount-1?i:(n+1)*o;u<=c&&a({i:new Int32Array(0),j:new Int32Array(0),distance:new Float32Array(0),idx:n}),l[n].postMessage({values:t,startIdx:c,endIdx:u,threshold:r,fnName:e,opts:s}),l[n].onmessage=({data:{error:t,i:e,j:r,distance:s}})=>{t?(l[n].terminate(),h(t)):(l[n].terminate(),a({i:e,j:r,distance:s,idx:n}))}}));const c=await Promise.all(h),u=c.reduce(((t,e)=>t+e.i.length),0),g=new Int32Array(u),f=new Int32Array(u),m=new Float32Array(u);let d=0;for(const t of c)g.set(t.i,d),f.set(t.j,d),m.set(t.distance,d),d+=t.i.length;return{i:g,j:f,distance:m}}async getKNN(t,e,n=15,r={}){return await this.multiColumnKNN([t],[e],n,[r],[1])}async multiColumnKNN(t,e,r=15,s,i,o=N.EUCLIDEAN){if(t.length!==e.length||t.length!==s.length||t.length!==i.length)throw new Error("values, distance functions, options and weights arrays should have the same length");if(t.some((e=>e.length!==t[0].length)))throw new Error("all values arrays should have the same length");const a=t[0].length*(t[0].length-1)/2,h=Math.floor(a/this._workerCount),l=new Array(this._workerCount),c=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(664),n.b))));for(let n=0;n<this._workerCount;n++)l[n]=new Promise(((l,u)=>{const g=n*h,f=n===this._workerCount-1?a:(n+1)*h;f<=g&&l({knnDistances:new Array(0),knnIndexes:new Array(0)}),c[n].postMessage({values:t,startIdx:g,endIdx:f,fnNames:e,opts:s,nNeighbours:r,weights:i,aggregationMethod:o}),c[n].onmessage=({data:{error:t,knnDistances:e,knnIndexes:r}})=>{t?(c[n].terminate(),u(t)):(c[n].terminate(),l({knnDistances:e,knnIndexes:r}))}}));const u=await Promise.all(l),g={knnDistances:new Array(t[0].length).fill(null).map((()=>new Array(r).fill(99999))),knnIndexes:new Array(t[0].length).fill(null).map((()=>new Array(r).fill(-1)))};for(const e of u)for(let n=0;n<t[0].length;++n)for(let t=0;t<e.knnDistances[n]?.length;++t)C(g.knnDistances[n],g.knnIndexes[n],e.knnDistances[n][t],e.knnIndexes[n][t]);return g}async getSampleDistances(t,e,r={}){const s=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(118),n.b)))),i=t.slice();for(let t=i.length-1;t>0;t--){const e=Math.floor(Math.random()*(t+1));[i[t],i[e]]=[i[e],i[t]]}try{const n=t.length*(t.length-1)/2,o=Math.floor(n/this._workerCount),a=1e6,h=Math.max(Math.min(n/1e3,a),Math.min(n,a)),l=Math.floor(h/this._workerCount),c=new Array(this._workerCount);for(let t=0;t<this._workerCount;t++)c[t]=new Promise(((a,h)=>{const c=t*o,u=t===this._workerCount-1?n:(t+1)*o;s[t].postMessage({values:i,startIdx:c,endIdx:u,sampleLength:l,fnName:e,opts:r}),s[t].onmessage=({data:{error:e,distance:n}})=>{s[t].terminate(),e?h(e):a({distance:n})}}));const u=await Promise.all(c),g=u.reduce(((t,e)=>t+e.distance.length),0),f=new Float32Array(g);let m=0;for(const t of u)f.set(t.distance,m),m+=t.distance.length;return f.sort(),f}catch(t){return s?.forEach((t=>t?.terminate())),console.error(t),new Float32Array(1).fill(.5)}}async getMinimalThreshold(t,e,n={}){try{const r=t.length*(t.length-1)/2,s=await this.getSampleDistances(t,e,n);return 1-s[Math.floor(7e7/r*s.length)]}catch(t){return console.error(t),.5}}static calcSync(t,e,n,r){const s=[],o=[],a=[];let h=0,l=0,c=0;const u=t.length*(t.length-1)/2;for(;h<u;){const u=b(t[l])||b(t[c])?1:n(t[l],t[c]);(Object.values(i.gk).some((t=>t===e))?1/(1+u):1-u)>=r&&(s.push(l),o.push(c),a.push(u)),h++,c++,c===t.length&&(l++,c=l+1)}return{i:new Int32Array(s),j:new Int32Array(o),distance:new Float32Array(a)}}}class yt{data;weights;aggregationMethod;constructor(t){this.data=t.data,this.weights=t.weights,this.aggregationMethod=t.aggregationMethod}}class Mt extends yt{reducer;iterations;distanceFnames;distanceFns;distanceFnArgs;constructor(t){super(t),this.reducer=new s.Z(t),this.iterations=t?.iterations??100,this.distanceFnames=t.distanceFnames,this.distanceFns=t.distanceFns,this.distanceFnArgs=t.distanceFnArgs}async transform(){if(this.data[0].length>1e4)throw new Error("Maximum number of samples for T-SNE is 10000");const t=new E(!0,!1);try{const r=(e=this.aggregationMethod,n=this.weights,e===N.MANHATTAN?t=>t.reduce(((t,e,r)=>t+e*n[r]),0):t=>{const e=t.reduce(((t,e,r)=>t+(e*n[r])**2),0);return Math.sqrt(e)}),s=[];for(let e=0;e<this.data.length;++e){const n=await t.calc(this.data[e],this.distanceFnames[e],!1,this.distanceFnArgs[e]);s.push(n)}const i=new Float32Array(s[0].length).fill(0);for(let t=0;t<s[0].length;++t)i[t]=r(s.map((e=>e[t])));const o=function(t,e){const n=function(t){return(e,n)=>t*e+n-Math.floor((e+2)*(e+1)/2)}(e);function r(t,e){const r=Number(t),s=Number(e);return n(r,s)}const s={get:(t,n,s)=>"length"===n?e:new Proxy(t,function(t){return{get:(e,n,s)=>t===n?0:e[Number(t)>Number(n)?r(n,t):r(t,n)]}}(n))};return new Proxy(t,s)}(i,this.data[0].length);this.reducer.initDataDist(o);for(let t=0;t<this.iterations;++t)this.reducer.step();return t.terminate(),this.reducer.getSolution()}catch(e){throw t.terminate(),e}var e,n}}class Nt extends yt{reducer;distanceFnames;distanceFns;vectors;progressFunc;distanceFnArgs;constructor(t){super(t),g("distanceFnames"in t),g("distanceFns"in t),this.distanceFnArgs=t.distanceFnArgs,this.distanceFns=t.distanceFns,this.progressFunc=t.progressFunc,this.distanceFnames=t.distanceFnames,this.vectors=new Array(this.data[0].length).fill(0).map(((t,e)=>e)),this.data[0].length<15&&(t.nNeighbors=this.data[0].length-1),this.reducer=new ft(t)}async transform(t){console.time("knn graph");const e=await(new kt).multiColumnKNN(this.data,this.distanceFnames,this.reducer.neighbors,this.distanceFnArgs,this.weights,this.aggregationMethod);console.timeEnd("knn graph"),this.reducer.setPrecomputedKNN(e.knnIndexes,e.knnDistances),await new Promise((t=>{setTimeout((()=>{t()}),300)}));const n=await this.reducer.fitAsync(this.vectors,(t=>{this.progressFunc&&this.progressFunc(t,this.reducer.getNEpochs(),this.reducer.getEmbedding())}));return s=n,new Array(s.length).fill(0).map(((t,e)=>r.from(s[e])));var s}}const bt={UMAP:Nt,"t-SNE":Mt};class Ct{reducer;constructor(t,e,n,r,s,i){const o=[];for(let e=0;e<n.length;++e){const r=new M(n[e]).getMeasure(i.distanceFnArgs[e]);o.push(r);let s=2048;for(let n=0;n<t[e].length;++n)if(t[e][n]&&t[e][n]._length){s=t[e][n]._length;break}if(a=n[e],"BitArray"==y[a])for(let n=0;n<t[e].length;++n)t[e][n]&&t[e][n]._data?t[e][n]=new h.Z(t[e][n]._data,t[e][n]._length):t[e][n]=new h.Z(s)}var a;"UMAP"==e?this.reducer=new Nt({data:t,distanceFnames:n,distanceFns:o,distanceFnArgs:i.distanceFnArgs,weights:r,aggregationMethod:s,...i}):"t-SNE"==e&&(this.reducer=new Mt({data:t,distanceFnames:n,distanceFns:o,distanceFnArgs:i.distanceFnArgs,weights:r,aggregationMethod:s,...i}))}async transform(t=!1){if(void 0===this.reducer)throw new Error("Reducer was not defined.");let e=await this.reducer.transform();var n;return t&&(n=e,e=new Array(n[0].length).fill(0).map(((t,e)=>new r(n.length).fill(0).map(((t,r)=>n[r][e]))))),e}static availableMetricsByType(t){return Object.keys(k[t])}static get availableMethods(){return Object.keys(bt)}static get availableMetrics(){let t=[];return Object.values(k).forEach((e=>{const n=Object.values(e);t=[...t,...n]})),t}}async function Et(t,e,n){t%5==0&&self.postMessage({epochNum:t,epochsLength:e,embedding:n})}self.onmessage=async({data:{columnsData:t,method:e,distanceMetrics:n,options:r,weights:s,aggregationMethod:i}})=>{let o;try{const a=await async function(t,e,n,r,s,i){const o=new Ct(t,e,n,r,s,{...i,progressFunc:Et});return await o.transform(!0)}(t,e,n,s,i,r);o={embedding:a}}catch(t){o={error:t}}self.postMessage({error:o.error,embedding:o.embedding})}},7659:(t,e,n)=>{e.Z=void 0;var r=n(6215);Object.defineProperty(e,"Z",{enumerable:!0,get:function(){return r.TSNE}})},6215:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TSNE=void 0,e.TSNE=class{constructor(t){this.returnV=!1,this.vValue=0,this.iter=0,t=t||{},this.perplexity=this.getopt(t,"perplexity",30),this.dim=this.getopt(t,"dim",2),this.epsilon=this.getopt(t,"epsilon",10)}assert(t,e){if(!t)throw e||"Assertion failed"}getopt(t,e,n){return t.hasOwnProperty(e)?t[e]:n}gaussRandom(){if(this.returnV)return this.returnV=!1,this.vValue;const t=2*Math.random()-1,e=2*Math.random()-1,n=t*t+e*e;if(0===n||n>1)return this.gaussRandom();const r=Math.sqrt(-2*Math.log(n)/n);return this.vValue=e*r,this.returnV=!0,t*r}randn(t,e){return t+this.gaussRandom()*e}zeros(t){if(void 0===t||isNaN(t))return[];if("undefined"==typeof ArrayBuffer){const e=new Array(t);for(let n=0;n<t;n++)e[n]=0;return e}return new Float64Array(t)}randn2d(t,e,n){const r=void 0!==n,s=[];for(let i=0;i<t;i++){const t=[];for(let s=0;s<e;s++)r?t.push(n):t.push(this.randn(0,1e-4));s.push(t)}return s}L2(t,e){const n=t.length;let r=0;for(let s=0;s<n;s++){const n=t[s],i=e[s];r+=(n-i)*(n-i)}return r}xtod(t){const e=t.length,n=this.zeros(e*e);for(let r=0;r<e;r++)for(let s=r+1;s<e;s++){const i=this.L2(t[r],t[s]);n[r*e+s]=i,n[s*e+r]=i}return n}d2p(t,e,n){const r=Math.sqrt(t.length),s=Math.floor(r);this.assert(s===r,"D should have square number of elements.");const i=Math.log(e),o=this.zeros(s*s),a=this.zeros(s);for(let e=0;e<s;e++){let r=-1/0,h=1/0,l=1,c=!1;const u=50;let g=0;for(;!c;){let o=0;for(let n=0;n<s;n++){let r=Math.exp(-t[e*s+n]*l);e===n&&(r=0),a[n]=r,o+=r}let f=0;for(let t=0;t<s;t++){let e;e=0===o?0:a[t]/o,a[t]=e,e>1e-7&&(f-=e*Math.log(e))}f>i?(r=l,h===1/0?l*=2:l=(l+h)/2):(h=l,r===-1/0?l/=2:l=(l+r)/2),g++,Math.abs(f-i)<n&&(c=!0),g>=u&&(c=!0)}for(let t=0;t<s;t++)o[e*s+t]=a[t]}const h=this.zeros(s*s),l=2*s;for(let t=0;t<s;t++)for(let e=0;e<s;e++)h[t*s+e]=Math.max((o[t*s+e]+o[e*s+t])/l,1e-100);return h}sign(t){return t>0?1:t<0?-1:0}initDataRaw(t){const e=t.length,n=t[0].length;this.assert(e>0," X is empty? You must have some data!"),this.assert(n>0," X[0] is empty? Where is the data?");const r=this.xtod(t);this.P=this.d2p(r,this.perplexity,1e-4),this.N=e,this.initSolution()}initDataDist(t){const e=t.length;this.assert(e>0," X is empty? You must have some data!");const n=this.zeros(e*e);for(let r=0;r<e;r++)for(let s=r+1;s<e;s++){const i=t[r][s];n[r*e+s]=i,n[s*e+r]=i}this.P=this.d2p(n,this.perplexity,1e-4),this.N=e,this.initSolution()}initSolution(){this.Y=this.randn2d(this.N,this.dim),this.gains=this.randn2d(this.N,this.dim,1),this.ystep=this.randn2d(this.N,this.dim,0),this.iter=0}getSolution(){return this.Y}step(){this.iter+=1;const t=this.N,e=this.costGrad(this.Y),n=e.cost,r=e.grad,s=this.zeros(this.dim);for(let e=0;e<t;e++)for(let t=0;t<this.dim;t++){const n=r[e][t],i=this.ystep[e][t],o=this.gains[e][t];let a=this.sign(n)===this.sign(i)?.8*o:o+.2;a<.01&&(a=.01),this.gains[e][t]=a;const h=(this.iter<250?.5:.8)*i-this.epsilon*a*r[e][t];this.ystep[e][t]=h,this.Y[e][t]+=h,s[t]+=this.Y[e][t]}for(let e=0;e<t;e++)for(let n=0;n<this.dim;n++)this.Y[e][n]-=s[n]/t;return n}debugGrad(){const t=this.N,e=this.costGrad(this.Y),n=(e.cost,e.grad),r=1e-5;for(let e=0;e<t;e++)for(let t=0;t<this.dim;t++){const s=this.Y[e][t];this.Y[e][t]=s+r;const i=this.costGrad(this.Y);this.Y[e][t]=s-r;const o=this.costGrad(this.Y),a=n[e][t],h=(i.cost-o.cost)/(2*r);console.log(e+","+t+": gradcheck analytic: "+a+" vs. numerical: "+h),this.Y[e][t]=s}}costGrad(t){const e=this.N,n=this.dim,r=this.P,s=this.iter<100?4:1,i=this.zeros(e*e);let o=0;for(let r=0;r<e;r++)for(let s=r+1;s<e;s++){let a=0;for(let e=0;e<n;e++){const n=t[r][e]-t[s][e];a+=n*n}const h=1/(1+a);i[r*e+s]=h,i[s*e+r]=h,o+=2*h}const a=e*e,h=this.zeros(a);for(let t=0;t<a;t++)h[t]=Math.max(i[t]/o,1e-100);let l=0;const c=[];for(let o=0;o<e;o++){const a=new Array(n);for(let t=0;t<n;t++)a[t]=0;for(let c=0;c<e;c++){l+=-r[o*e+c]*Math.log(h[o*e+c]);const u=4*(s*r[o*e+c]-h[o*e+c])*i[o*e+c];for(let e=0;e<n;e++)a[e]+=u*(t[o][e]-t[c][e])}c.push(a)}return{cost:l,grad:c}}}}},r={};function s(t){var e=r[t];if(void 0!==e)return e.exports;var i=r[t]={exports:{}};return n[t](i,i.exports,s),i.exports}s.m=n,s.x=()=>{var t=s.O(void 0,[483,352],(()=>s(4943)));return s.O(t)},t=[],s.O=(e,n,r,i)=>{if(!n){var o=1/0;for(c=0;c<t.length;c++){for(var[n,r,i]=t[c],a=!0,h=0;h<n.length;h++)(!1&i||o>=i)&&Object.keys(s.O).every((t=>s.O[t](n[h])))?n.splice(h--,1):(a=!1,i<o&&(o=i));if(a){t.splice(c--,1);var l=r();void 0!==l&&(e=l)}}return e}i=i||0;for(var c=t.length;c>0&&t[c-1][2]>i;c--)t[c]=t[c-1];t[c]=[n,r,i]},s.d=(t,e)=>{for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.f={},s.e=t=>Promise.all(Object.keys(s.f).reduce(((e,n)=>(s.f[n](t,e),e)),[])),s.u=t=>t+".js",s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{var t;s.g.importScripts&&(t=s.g.location+"");var e=s.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&!t;)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=t})(),(()=>{s.b=self.location+"";var t={943:1};s.f.i=(e,n)=>{t[e]||importScripts(s.p+s.u(e))};var e=self.webpackChunkeda=self.webpackChunkeda||[],n=e.push.bind(e);e.push=e=>{var[r,i,o]=e;for(var a in i)s.o(i,a)&&(s.m[a]=i[a]);for(o&&o(s);r.length;)t[r.pop()]=1;n(e)}})(),e=s.x,s.x=()=>Promise.all([s.e(483),s.e(352)]).then(e);var i=s.x();eda=i})();
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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QmpvQixFQUFJaW9CLEVBQW9CcEUsRUFBRW1GLEdBRTlELEVBR0QsSUFBSWtCLEVBQXFCeEgsS0FBc0IsZ0JBQUlBLEtBQXNCLGlCQUFLLEdBQzFFeUgsRUFBNkJELEVBQW1CM2lCLEtBQUs2aUIsS0FBS0YsR0FDOURBLEVBQW1CM2lCLEtBdkJDaEIsSUFDbkIsSUFBS2lpQixFQUFVNkIsRUFBYUMsR0FBVy9qQixFQUN2QyxJQUFJLElBQUkyaEIsS0FBWW1DLEVBQ2hCcEMsRUFBb0JhLEVBQUV1QixFQUFhbkMsS0FDckNELEVBQW9CaGEsRUFBRWlhLEdBQVltQyxFQUFZbkMsSUFJaEQsSUFER29DLEdBQVNBLEVBQVFyQyxHQUNkTyxFQUFTcG9CLFFBQ2Q2cEIsRUFBZ0J6QixFQUFTNWtCLE9BQVMsRUFDbkN1bUIsRUFBMkI1akIsRUFBSyxNNUJuQjdCdkgsRUFBT2lwQixFQUFvQjlvQixFQUMvQjhvQixFQUFvQjlvQixFQUFJLElBQ2hCNkYsUUFBUTRCLElBQUksQ0FDbEJxaEIsRUFBb0JsaEIsRUFBRSxLQUN0QmtoQixFQUFvQmxoQixFQUFFLE9BQ3BCd2pCLEtBQUt2ckIsRzZCSlQsSUFBSXNwQixFQUFzQkwsRUFBb0I5b0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2NodW5rIGxvYWRlZCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL3N0YXJ0dXAgY2h1bmsgZGVwZW5kZW5jaWVzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy90eXBlLWRlY2xhcmF0aW9ucy5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWV0cmljcy1tZXRob2RzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy92ZWN0b3Itb3BlcmF0aW9ucy5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdHlwZWQtbWV0cmljcy90eXBlZC1tZXRyaWNzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tYXRyaXgvdHlwZXMuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC91dGlscy5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L2Rpc3RhbmNlLW1hdHJpeC1zZXJ2aWNlLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy91bWFwL3V0aWxzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy91bWFwL2hlYXAuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3VtYXAvbWF0cml4LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy91bWFwL3RyZWUuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3VtYXAvdW1hcC5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdW1hcC9ubl9kZXNjZW50LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9tbC1sZXZlbmJlcmctbWFycXVhcmR0L3NyYy9pbmRleC5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L3NwYXJzZS1tYXRyaXgtc2VydmljZS5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvbXVsdGktY29sdW1uLWRpbWVuc2lvbmFsaXR5LXJlZHVjdGlvbi9tdWx0aS1jb2x1bW4tZGltLXJlZHVjZXIuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC9wcm94eS5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvbXVsdGktY29sdW1uLWRpbWVuc2lvbmFsaXR5LXJlZHVjdGlvbi9tdWxpdC1jb2x1bW4tZGltLXJlZHVjZXItd29ya2VyLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9Aa2Vja2VsdC90c25lL2xpYi9pbmRleC5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGtlY2tlbHQvdHNuZS9saWIvdHNuZS5qcyIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2Vuc3VyZSBjaHVuayIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2dldCBqYXZhc2NyaXB0IGNodW5rIGZpbGVuYW1lIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvZ2xvYmFsIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvcHVibGljUGF0aCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2ltcG9ydFNjcmlwdHMgY2h1bmsgbG9hZGluZyIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9zdGFydHVwIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBkZWZlcnJlZCA9IFtdO1xuX193ZWJwYWNrX3JlcXVpcmVfXy5PID0gKHJlc3VsdCwgY2h1bmtJZHMsIGZuLCBwcmlvcml0eSkgPT4ge1xuXHRpZihjaHVua0lkcykge1xuXHRcdHByaW9yaXR5ID0gcHJpb3JpdHkgfHwgMDtcblx0XHRmb3IodmFyIGkgPSBkZWZlcnJlZC5sZW5ndGg7IGkgPiAwICYmIGRlZmVycmVkW2kgLSAxXVsyXSA+IHByaW9yaXR5OyBpLS0pIGRlZmVycmVkW2ldID0gZGVmZXJyZWRbaSAtIDFdO1xuXHRcdGRlZmVycmVkW2ldID0gW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldO1xuXHRcdHJldHVybjtcblx0fVxuXHR2YXIgbm90RnVsZmlsbGVkID0gSW5maW5pdHk7XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgZGVmZXJyZWQubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldID0gZGVmZXJyZWRbaV07XG5cdFx0dmFyIGZ1bGZpbGxlZCA9IHRydWU7XG5cdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBjaHVua0lkcy5sZW5ndGg7IGorKykge1xuXHRcdFx0aWYgKChwcmlvcml0eSAmIDEgPT09IDAgfHwgbm90RnVsZmlsbGVkID49IHByaW9yaXR5KSAmJiBPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLk8pLmV2ZXJ5KChrZXkpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fLk9ba2V5XShjaHVua0lkc1tqXSkpKSkge1xuXHRcdFx0XHRjaHVua0lkcy5zcGxpY2Uoai0tLCAxKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGZ1bGZpbGxlZCA9IGZhbHNlO1xuXHRcdFx0XHRpZihwcmlvcml0eSA8IG5vdEZ1bGZpbGxlZCkgbm90RnVsZmlsbGVkID0gcHJpb3JpdHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmKGZ1bGZpbGxlZCkge1xuXHRcdFx0ZGVmZXJyZWQuc3BsaWNlKGktLSwgMSlcblx0XHRcdHZhciByID0gZm4oKTtcblx0XHRcdGlmIChyICE9PSB1bmRlZmluZWQpIHJlc3VsdCA9IHI7XG5cdFx0fVxuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59OyIsInZhciBuZXh0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy54O1xuX193ZWJwYWNrX3JlcXVpcmVfXy54ID0gKCkgPT4ge1xuXHRyZXR1cm4gUHJvbWlzZS5hbGwoW1xuXHRcdF9fd2VicGFja19yZXF1aXJlX18uZSg0ODMpLFxuXHRcdF9fd2VicGFja19yZXF1aXJlX18uZSgzNTIpXG5cdF0pLnRoZW4obmV4dCk7XG59OyIsIi8qKlxuICogRGVub3RlcyBhIHZlY3RvciBvZiBmbG9hdGluZyBwb2l0IHZhbHVlcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgVmVjdG9yXG4gKiBAZXh0ZW5kcyB7RmxvYXQzMkFycmF5fVxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9yIGV4dGVuZHMgRmxvYXQzMkFycmF5IHtcbn1cbi8qKlxuICogRGVub3RlcyBhIHR3by1kaW1lbnNpb25hbCBtYXRyaXguXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIE1hdHJpeFxuICogQGV4dGVuZHMge0FycmF5PFZlY3Rvcj59XG4gKi9cbmV4cG9ydCBjbGFzcyBNYXRyaXggZXh0ZW5kcyBBcnJheSB7XG59XG4vKipcbiAqIERlbm90ZXMgY2FydGVzaWFuIGNvb3JkaW5hdGVzLlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBDb29yZGluYXRlc1xuICogQGV4dGVuZHMge01hdHJpeH1cbiAqL1xuZXhwb3J0IGNsYXNzIENvb3JkaW5hdGVzIGV4dGVuZHMgTWF0cml4IHtcbn1cbi8qKlxuICogRGVub3RlcyBhbiBhcnJheSBvZiBhcmJpdHJhcnktdHlwZWQgdmVjdG9ycy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgVmVjdG9yc1xuICogQGV4dGVuZHMge0FycmF5PGFueT59XG4gKi9cbmV4cG9ydCBjbGFzcyBWZWN0b3JzIGV4dGVuZHMgQXJyYXkge1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pTMWtaV05zWVhKaGRHbHZibk11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjBlWEJsTFdSbFkyeGhjbUYwYVc5dWN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZGUVRzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxFOUJRVThzVFVGQlR5eFRRVUZSTEZsQlFWazdRMEZCUnp0QlFVVXpRenM3T3pzN08wZEJUVWM3UVVGRFNDeE5RVUZOTEU5QlFVOHNUVUZCVHl4VFFVRlJMRXRCUVdFN1EwRkJSenRCUVVVMVF6czdPenM3TzBkQlRVYzdRVUZEU0N4TlFVRk5MRTlCUVU4c1YwRkJXU3hUUVVGUkxFMUJRVTA3UTBGQlJ6dEJRVVV4UXpzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxFOUJRVThzVDBGQlVTeFRRVUZSTEV0QlFWVTdRMEZCUnlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRVJISUdaeWIyMGdKMlJoZEdGbmNtOXJMV0Z3YVM5a1p5YzdYRzVjYmk4cUtseHVJQ29nUkdWdWIzUmxjeUJoSUhabFkzUnZjaUJ2WmlCbWJHOWhkR2x1WnlCd2IybDBJSFpoYkhWbGN5NWNiaUFxWEc0Z0tpQkFaWGh3YjNKMFhHNGdLaUJBWTJ4aGMzTWdWbVZqZEc5eVhHNGdLaUJBWlhoMFpXNWtjeUI3Um14dllYUXpNa0Z5Y21GNWZWeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdWbVZqZEc5eUlHVjRkR1Z1WkhNZ1JteHZZWFF6TWtGeWNtRjVJSHQ5WEc1Y2JpOHFLbHh1SUNvZ1JHVnViM1JsY3lCaElIUjNieTFrYVcxbGJuTnBiMjVoYkNCdFlYUnlhWGd1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FHTnNZWE56SUUxaGRISnBlRnh1SUNvZ1FHVjRkR1Z1WkhNZ2UwRnljbUY1UEZabFkzUnZjajU5WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCTllYUnlhWGdnWlhoMFpXNWtjeUJCY25KaGVUeFdaV04wYjNJK0lIdDlYRzVjYmk4cUtseHVJQ29nUkdWdWIzUmxjeUJqWVhKMFpYTnBZVzRnWTI5dmNtUnBibUYwWlhNdVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRR05zWVhOeklFTnZiM0prYVc1aGRHVnpYRzRnS2lCQVpYaDBaVzVrY3lCN1RXRjBjbWw0ZlZ4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1EyOXZjbVJwYm1GMFpYTWdaWGgwWlc1a2N5Qk5ZWFJ5YVhnZ2UzMWNibHh1THlvcVhHNGdLaUJFWlc1dmRHVnpJR0Z1SUdGeWNtRjVJRzltSUdGeVltbDBjbUZ5ZVMxMGVYQmxaQ0IyWldOMGIzSnpMbHh1SUNwY2JpQXFJRUJsZUhCdmNuUmNiaUFxSUVCamJHRnpjeUJXWldOMGIzSnpYRzRnS2lCQVpYaDBaVzVrY3lCN1FYSnlZWGs4WVc1NVBuMWNiaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRlpsWTNSdmNuTWdaWGgwWlc1a2N5QkJjbkpoZVR4aGJuaytJSHQ5WEc1Y2JpOHFLbHh1SUNvZ1JHVnViM1JsY3lCaElHUnBZM1JwYjI1aGNua2dZMjl1ZEdGcGJtbHVaeUJtZFc1amRHbHZiaUJ2Y0hScGIyNXpMbHh1SUNwY2JpQXFJRUJsZUhCdmNuUmNiaUFxSUVCMGVYQmxJRTl3ZEdsdmJuTmNiaUFxTDF4dVpYaHdiM0owSUhSNWNHVWdUM0IwYVc5dWN5QTlJSHRiYm1GdFpUb2djM1J5YVc1blhUb2dZVzU1ZlR0Y2JseHVMeW9xWEc0Z0tpQkVaVzV2ZEdWeklHTjFjM1J2YlNCa2FYTjBZVzVqWlNCdFpYUnlhV01nWW1WMGQyVmxiaUIwYUdVZ2RIZHZJR2RwZG1WdUlIWmxZM1J2Y25NdVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRSFI1Y0dVZ1JHbHpkR0Z1WTJWTlpYUnlhV05jYmlBcUlFQndZWEpoYlNCN1lXNTVmU0IyTVNCVWFHVWdabWx5YzNRZ2RtVmpkRzl5TGx4dUlDb2dRSEJoY21GdElIdGhibmw5SUhZeUlGUm9aU0J6WldOdmJtUWdkbVZqZEc5eUxseHVJQ29nUUhKbGRIVnliaUI3Ym5WdFltVnlmU0JFYVhOMFlXNWpaU0JpWlhSM1pXVnVJSFJvWlhObElIUjNieUIyWldOMGIzSnpMbHh1SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JFYVhOMFlXNWpaVTFsZEhKcFl5QTlJQ2gyTVRvZ1lXNTVMQ0IyTWpvZ1lXNTVLU0E5UGlBb2JuVnRZbVZ5S1R0Y2JseHVMeW9xWEc0Z0tpQkVaVzV2ZEdWeklHRWdjMmx0Y0d4bElITjBjbWx1WnlCMGJ5QnpkSEpwYm1jZ1pHbGpkR2x2Ym1GeWVTNWNiaUFxWEc0Z0tpQkFaWGh3YjNKMFhHNGdLaUJBZEhsd1pTQlRkSEpwYm1kRWFXTjBhVzl1WVhKNVhHNGdLaTljYm1WNGNHOXlkQ0IwZVhCbElGTjBjbWx1WjBScFkzUnBiMjVoY25rZ1BTQjdXMnRsZVRvZ2MzUnlhVzVuWFRvZ2MzUnlhVzVuZlR0Y2JseHVYRzVsZUhCdmNuUWdkSGx3WlNCRGIyeDFiVzVKYm5CMWRFOXdkR2x2Ym5NZ1BTQjdYRzRnSUNBZ1ptbHNkR1Z5UHpvZ0tHTnZiRG9nUkVjdVEyOXNkVzF1S1NBOVBpQmliMjlzWldGdUlId2diblZzYkR0Y2JuMDdYRzRpWFgwPSIsImltcG9ydCBCaXRBcnJheSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy9iaXQtYXJyYXknO1xuaW1wb3J0IHsgQml0QXJyYXlNZXRyaWNzTmFtZXMgfSBmcm9tICcuL3R5cGVkLW1ldHJpY3MvY29uc3RzJztcbmltcG9ydCB7IE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcyB9IGZyb20gJy4vbWFjcm9tb2xlY3VsZS1kaXN0YW5jZS1mdW5jdGlvbnMnO1xuZXhwb3J0IGNvbnN0IHNpbWlsYXJpdHlNZXRyaWMgPSB7XG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvXTogdGFuaW1vdG9TaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogZGljZVNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdOiBhc3ltbWV0cmljU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQnJhdW5CbGFucXVldF06IGJyYXVuQmxhbnF1ZXRTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBjb3NpbmVTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXToga3VsY3p5bnNraVNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLk1jQ29ubmF1Z2hleV06IG1jQ29ubmF1Z2hleVNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiByb2dvdEdvbGRiZXJnU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXTogcnVzc2VsU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxdOiBzb2thbFNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkhhbW1pbmddOiBoYW1taW5nU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogZXVjbGlkZWFuU2ltaWxhcml0eSxcbn07XG5leHBvcnQgY29uc3QgZGlzdGFuY2VNZXRyaWNzID0ge1xuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IHRhbmltb3RvRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdOiBkaWNlRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdOiBhc3ltbWV0cmljRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBicmF1bkJsYW5xdWV0RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV06IGNvc2luZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXToga3VsY3p5bnNraURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBtY0Nvbm5hdWdoZXlEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ106IHJvZ290R29sZGJlcmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXTogcnVzc2VsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogc29rYWxEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuSGFtbWluZ106IGhhbW1pbmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogZXVjbGlkZWFuRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IENIRU1fU0lNSUxBUklUWV9NRVRSSUNTID0gW1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLkRpY2UsXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXG5dO1xuZXhwb3J0IGNvbnN0IFNFUV9TUEFDRV9TSU1JTEFSSVRZX01FVFJJQ1MgPSBbXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG8sXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuQXN5bW1ldHJpYyxcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmUsXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxcbl07XG5leHBvcnQgY29uc3QgTUFDUk9NT0xFQ1VMRV9TSU1JTEFSSVRZX01FVFJJQ1MgPSBbXG4gICAgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkhBTU1JTkcsXG4gICAgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkxFVkVOU0hURUlOLFxuICAgIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5NT05PTUVSX0NIRU1JQ0FMX0RJU1RBTkNFLFxuICAgIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5ORUVETEVNQU5OX1dVTlNDSFxuXTtcbmV4cG9ydCBmdW5jdGlvbiB0YW5pbW90b1NpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsID09IDApXG4gICAgICAgIHJldHVybiAxLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiBjb21tb24gLyAodG90YWwgLSBjb21tb24pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRhbmltb3RvRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KHRhbmltb3RvU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gdGFuaW1vdG9EaXN0YW5jZUludEFycmF5KHgsIHkpIHtcbiAgICBjb25zdCB4YiA9IG5ldyBCaXRBcnJheSh4LCB4Lmxlbmd0aCAqIDMyKTtcbiAgICBjb25zdCB5YiA9IG5ldyBCaXRBcnJheSh5LCB5Lmxlbmd0aCAqIDMyKTtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eSh0YW5pbW90b1NpbWlsYXJpdHkoeGIsIHliKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZGljZVNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsID09IDApXG4gICAgICAgIHJldHVybiAwLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiAyICogY29tbW9uIC8gdG90YWw7XG59XG5leHBvcnQgZnVuY3Rpb24gZGljZURpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShkaWNlU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29zaW5lU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgdG90YWwgPSB4LnRydWVDb3VudCgpICogeS50cnVlQ291bnQoKTtcbiAgICBpZiAodG90YWwgPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIGNvbW1vbiAvIE1hdGguc3FydCh0b3RhbCk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29zaW5lRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KGNvc2luZVNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGV1Y2xpZGVhblNpbWlsYXJpdHkoeCwgeSkge1xuICAgIHJldHVybiBnZXRTaW1pbGFyaXR5RnJvbURpc3RhbmNlKGV1Y2xpZGVhbkRpc3RhbmNlKHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBldWNsaWRlYW5EaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIE1hdGguc3FydCh4LnRydWVDb3VudCgpICsgeS50cnVlQ291bnQoKSAtIDIgKiB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGhhbW1pbmdTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZShoYW1taW5nRGlzdGFuY2UoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGhhbW1pbmdEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpIC0gMiAqIHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBzb2thbFNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCk7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiBjb21tb24gLyAoMiAqIHRvdGFsIC0gMyAqIGNvbW1vbik7XG59XG5leHBvcnQgZnVuY3Rpb24gc29rYWxEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoc29rYWxTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBrdWxjenluc2tpU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgdG90YWwgPSB4LnRydWVDb3VudCgpICsgeS50cnVlQ291bnQoKTtcbiAgICBjb25zdCB0b3RhbFByb2QgPSB4LnRydWVDb3VudCgpICogeS50cnVlQ291bnQoKTtcbiAgICBpZiAodG90YWxQcm9kID09IDApXG4gICAgICAgIHJldHVybiAwLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiAoY29tbW9uICogdG90YWwpIC8gKDIgKiB0b3RhbFByb2QpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGt1bGN6eW5za2lEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoa3VsY3p5bnNraVNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG1jQ29ubmF1Z2hleVNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCk7XG4gICAgY29uc3QgdG90YWxQcm9kID0geC50cnVlQ291bnQoKSAqIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsUHJvZCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gKGNvbW1vbiAqIHRvdGFsIC0gdG90YWxQcm9kKSAvIHRvdGFsUHJvZDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtY0Nvbm5hdWdoZXlEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkobWNDb25uYXVnaGV5U2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYXN5bW1ldHJpY1NpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IG1pbiA9IE1hdGgubWluKHgudHJ1ZUNvdW50KCksIHkudHJ1ZUNvdW50KCkpO1xuICAgIGlmIChtaW4gPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIGNvbW1vbiAvIG1pbjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBhc3ltbWV0cmljRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KGFzeW1tZXRyaWNTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBicmF1bkJsYW5xdWV0U2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgbWF4ID0gTWF0aC5tYXgoeC50cnVlQ291bnQoKSwgeS50cnVlQ291bnQoKSk7XG4gICAgaWYgKG1heCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gbWF4O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGJyYXVuQmxhbnF1ZXREaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoYnJhdW5CbGFucXVldFNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJ1c3NlbFNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGlmICh4Lmxlbmd0aCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8geC5sZW5ndGg7XG59XG5leHBvcnQgZnVuY3Rpb24gcnVzc2VsRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KHJ1c3NlbFNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJvZ290R29sZGJlcmdTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgY29uc3QgdG90YWwgPSB4LmNvdW50Qml0cyh0cnVlKSArIHkuY291bnRCaXRzKHRydWUpO1xuICAgIGNvbnN0IGxlbiA9IHgubGVuZ3RoO1xuICAgIGNvbnN0IGRpZmYgPSBsZW4gLSB0b3RhbCArIGNvbW1vbjtcbiAgICBpZiAoKGNvbW1vbiA9PSBsZW4pIHx8IChkaWZmID09IGxlbikpXG4gICAgICAgIHJldHVybiAxLjA7XG4gICAgZWxzZVxuICAgICAgICByZXR1cm4gY29tbW9uIC8gdG90YWwgKyBkaWZmIC8gKDIgKiBsZW4gLSB0b3RhbCk7XG59XG5leHBvcnQgZnVuY3Rpb24gcm9nb3RHb2xkYmVyZ0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShyb2dvdEdvbGRiZXJnU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZShkaXN0YW5jZSkge1xuICAgIHJldHVybiAxIC8gKDEgKyBkaXN0YW5jZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShzaW1pbGFyaXR5KSB7XG4gICAgcmV0dXJuIHNpbWlsYXJpdHkgPT09IDAgPyAzLjQwMjgyM0UrMzggOiAoMSAvIHNpbWlsYXJpdHkpIC0gMTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBudW1lcmljRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBNYXRoLmFicyh4IC0geSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2laR2x6ZEdGdVkyVXRiV1YwY21samN5MXRaWFJvYjJSekxtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpWkdsemRHRnVZMlV0YldWMGNtbGpjeTF0WlhSb2IyUnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzVVVGQlVTeE5RVUZOTEhsRFFVRjVReXhEUVVGRE8wRkJReTlFTEU5QlFVOHNSVUZCUXl4dlFrRkJiMElzUlVGQlF5eE5RVUZOTEhkQ1FVRjNRaXhEUVVGRE8wRkJRelZFTEU5QlFVOHNSVUZCUXl4M1FrRkJkMElzUlVGQlF5eE5RVUZOTEc5RFFVRnZReXhEUVVGRE8wRkJSVFZGTEUxQlFVMHNRMEZCUXl4TlFVRk5MR2RDUVVGblFpeEhRVUUyUkR0SlFVTjRSaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRkZCUVZFc1EwRkJReXhGUVVGRkxHdENRVUZyUWp0SlFVTnVSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxHTkJRV003U1VGRE0wTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlN4dlFrRkJiMEk3U1VGRGRrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eGhRVUZoTEVOQlFVTXNSVUZCUlN4MVFrRkJkVUk3U1VGRE4wUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4blFrRkJaMEk3U1VGREwwTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlN4dlFrRkJiMEk3U1VGRGRrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFpRVUZaTEVOQlFVTXNSVUZCUlN4elFrRkJjMEk3U1VGRE0wUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eGhRVUZoTEVOQlFVTXNSVUZCUlN4MVFrRkJkVUk3U1VGRE4wUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4blFrRkJaMEk3U1VGREwwTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4bFFVRmxPMGxCUXpkRExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRVVVzYVVKQlFXbENPMGxCUTJwRUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1UwRkJVeXhEUVVGRExFVkJRVVVzYlVKQlFXMUNPME5CUTNSRUxFTkJRVU03UVVGRlJpeE5RVUZOTEVOQlFVTXNUVUZCVFN4bFFVRmxMRWRCUVRaRU8wbEJRM1pHTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVVVGQlVTeERRVUZETEVWQlFVVXNaMEpCUVdkQ08wbEJRMnBFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNXVUZCV1R0SlFVTjZReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxHdENRVUZyUWp0SlFVTnlSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhGUVVGRkxIRkNRVUZ4UWp0SlFVTXpSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxHTkJRV003U1VGRE4wTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlN4clFrRkJhMEk3U1VGRGNrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFpRVUZaTEVOQlFVTXNSVUZCUlN4dlFrRkJiMEk3U1VGRGVrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eGhRVUZoTEVOQlFVTXNSVUZCUlN4eFFrRkJjVUk3U1VGRE0wUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4alFVRmpPMGxCUXpkRExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzWVVGQllUdEpRVU16UXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMR1ZCUVdVN1NVRkRMME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhUUVVGVExFTkJRVU1zUlVGQlJTeHBRa0ZCYVVJN1EwRkRjRVFzUTBGQlF6dEJRVVZHTEUxQlFVMHNRMEZCUXl4TlFVRk5MSFZDUVVGMVFpeEhRVUZITzBsQlEzSkRMRzlDUVVGdlFpeERRVUZETEZGQlFWRTdTVUZETjBJc2IwSkJRVzlDTEVOQlFVTXNTVUZCU1R0SlFVTjZRaXh2UWtGQmIwSXNRMEZCUXl4TlFVRk5PME5CUVVNc1EwRkJRenRCUVVNdlFpeE5RVUZOTEVOQlFVTXNUVUZCVFN3MFFrRkJORUlzUjBGQlJ6dEpRVU14UXl4dlFrRkJiMElzUTBGQlF5eFJRVUZSTzBsQlF6ZENMRzlDUVVGdlFpeERRVUZETEZWQlFWVTdTVUZETDBJc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFR0SlFVTXpRaXh2UWtGQmIwSXNRMEZCUXl4TFFVRkxPME5CUVVNc1EwRkJRenRCUVVNNVFpeE5RVUZOTEVOQlFVTXNUVUZCVFN4blEwRkJaME1zUjBGQlJ6dEpRVU01UXl4M1FrRkJkMElzUTBGQlF5eFBRVUZQTzBsQlEyaERMSGRDUVVGM1FpeERRVUZETEZkQlFWYzdTVUZEY0VNc2QwSkJRWGRDTEVOQlFVTXNlVUpCUVhsQ08wbEJRMnhFTEhkQ1FVRjNRaXhEUVVGRExHbENRVUZwUWp0RFFVTXpReXhEUVVGRE8wRkJSMFlzVFVGQlRTeFZRVUZWTEd0Q1FVRnJRaXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzcEVMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRE5VTXNTVUZCU1N4TFFVRkxMRWxCUVVrc1EwRkJRenRSUVVGRkxFOUJRVThzUjBGQlJ5eERRVUZETzBsQlF6TkNMRTFCUVUwc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdTVUZETTBNc1QwRkJUeXhOUVVGTkxFZEJRVWNzUTBGQlF5eExRVUZMTEVkQlFVY3NUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkRia01zUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4blFrRkJaMElzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTjJSQ3hQUVVGUExIbENRVUY1UWl4RFFVRkRMR3RDUVVGclFpeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRemRFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2QwSkJRWGRDTEVOQlFVTXNRMEZCWXl4RlFVRkZMRU5CUVdNN1NVRkRja1VzVFVGQlRTeEZRVUZGTEVkQlFVY3NTVUZCU1N4UlFVRlJMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRNVU1zVFVGQlRTeEZRVUZGTEVkQlFVY3NTVUZCU1N4UlFVRlJMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRNVU1zVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU12UkN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHTkJRV01zUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTnlSQ3hOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzBsQlF6VkRMRWxCUVVrc1MwRkJTeXhKUVVGSkxFTkJRVU03VVVGQlJTeFBRVUZQTEVkQlFVY3NRMEZCUXp0SlFVTXpRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpORExFOUJRVThzUTBGQlF5eEhRVUZITEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNN1FVRkROVUlzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4WlFVRlpMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRGJrUXNUMEZCVHl4NVFrRkJlVUlzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGVrUXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3huUWtGQlowSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVOMlJDeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUXpWRExFbEJRVWtzUzBGQlN5eEpRVUZKTEVOQlFVTTdVVUZCUlN4UFFVRlBMRWRCUVVjc1EwRkJRenRKUVVNelFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRek5ETEU5QlFVOHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdRVUZEYmtNc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeGpRVUZqTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRja1FzVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU16UkN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHMUNRVUZ0UWl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRekZFTEU5QlFVOHNlVUpCUVhsQ0xFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETlVRc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeHBRa0ZCYVVJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU40UkN4UFFVRlBMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM0JHTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2FVSkJRV2xDTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRlRVFzVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXhsUVVGbExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRNVVFzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4bFFVRmxMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRGRFUXNUMEZCVHl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBGQlEzcEZMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWlVGQlpTeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUTNSRUxFMUJRVTBzUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdTVUZETlVNc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTXpReXhQUVVGUExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRWRCUVVjc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlF6TkRMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWVVGQllTeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUTNCRUxFOUJRVThzZVVKQlFYbENMRU5CUVVNc1pVRkJaU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUXpGRUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNiMEpCUVc5Q0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZETTBRc1RVRkJUU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dEpRVU0xUXl4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRMmhFTEVsQlFVa3NVMEZCVXl4SlFVRkpMRU5CUVVNN1VVRkJSU3hQUVVGUExFZEJRVWNzUTBGQlF6dEpRVU12UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6TkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFZEJRVWNzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU03UVVGRE5VTXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hyUWtGQmEwSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVONlJDeFBRVUZQTEhsQ1FVRjVRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF5OUVMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzYzBKQlFYTkNMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRE4wUXNUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVNMVF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUTJoRUxFbEJRVWtzVTBGQlV5eEpRVUZKTEVOQlFVTTdVVUZCUlN4UFFVRlBMRWRCUVVjc1EwRkJRenRKUVVNdlFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRek5ETEU5QlFVOHNRMEZCUXl4TlFVRk5MRWRCUVVjc1MwRkJTeXhIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXp0QlFVTnNSQ3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEc5Q1FVRnZRaXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlF6TkVMRTlCUVU4c2VVSkJRWGxDTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRha1VzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4dlFrRkJiMElzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTXpSQ3hOUVVGTkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNc1EwRkJRenRKUVVOdVJDeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUVVVc1QwRkJUeXhIUVVGSExFTkJRVU03U1VGRGVrSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UXl4UFFVRlBMRTFCUVUwc1IwRkJSeXhIUVVGSExFTkJRVU03UVVGRGRFSXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hyUWtGQmEwSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVONlJDeFBRVUZQTEhsQ1FVRjVRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF5OUVMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzZFVKQlFYVkNMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRE9VUXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETEVOQlFVTTdTVUZEYmtRc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVUZGTEU5QlFVOHNSMEZCUnl4RFFVRkRPMGxCUTNwQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRNME1zVDBGQlR5eE5RVUZOTEVkQlFVY3NSMEZCUnl4RFFVRkRPMEZCUTNSQ0xFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNjVUpCUVhGQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZETlVRc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOc1JTeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR2RDUVVGblFpeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUTNaRUxFbEJRVWtzUTBGQlF5eERRVUZETEUxQlFVMHNTVUZCU1N4RFFVRkRPMUZCUVVVc1QwRkJUeXhIUVVGSExFTkJRVU03U1VGRE9VSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UXl4UFFVRlBMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzBGQlF6TkNMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWTBGQll5eERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUTNKRUxFOUJRVThzZVVKQlFYbENMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRE0wUXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3gxUWtGQmRVSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVNNVJDeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRek5ETEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU53UkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzBsQlEzSkNMRTFCUVUwc1NVRkJTU3hIUVVGSExFZEJRVWNzUjBGQlJ5eExRVUZMTEVkQlFVY3NUVUZCVFN4RFFVRkRPMGxCUTJ4RExFbEJRVWtzUTBGQlF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFbEJRVWtzUjBGQlJ5eERRVUZETzFGQlFVVXNUMEZCVHl4SFFVRkhMRU5CUVVNN08xRkJRelZETEU5QlFVOHNUVUZCVFN4SFFVRkhMRXRCUVVzc1IwRkJSeXhKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4SFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRM2hFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2NVSkJRWEZDTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkROVVFzVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU5zUlN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxIbENRVUY1UWl4RFFVRkRMRkZCUVdkQ08wbEJRM2hFTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExGRkJRVkVzUTBGQlF5eERRVUZETzBGQlF6VkNMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzZVVKQlFYbENMRU5CUVVNc1ZVRkJhMEk3U1VGRE1VUXNUMEZCVHl4VlFVRlZMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExGVkJRVlVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTm9SU3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdWQlFXVXNRMEZCUXl4RFFVRlRMRVZCUVVVc1EwRkJVenRKUVVOc1JDeFBRVUZQTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzcENMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ1FtbDBRWEp5WVhrZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdlltbDBMV0Z5Y21GNUp6dGNibWx0Y0c5eWRDQjdRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE45SUdaeWIyMGdKeTR2ZEhsd1pXUXRiV1YwY21samN5OWpiMjV6ZEhNbk8xeHVhVzF3YjNKMElIdE5iVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpUbUZ0WlhOOUlHWnliMjBnSnk0dmJXRmpjbTl0YjJ4bFkzVnNaUzFrYVhOMFlXNWpaUzFtZFc1amRHbHZibk1uTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnYzJsdGFXeGhjbWwwZVUxbGRISnBZem9nZXlCYmJtRnRaVG9nYzNSeWFXNW5YVG9nS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2tnUFQ0Z2JuVnRZbVZ5SUgwZ1BTQjdYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVVZVzVwYlc5MGIxMDZJSFJoYm1sdGIzUnZVMmx0YVd4aGNtbDBlU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa1JwWTJWZE9pQmthV05sVTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtGemVXMXRaWFJ5YVdOZE9pQmhjM2x0YldWMGNtbGpVMmx0YVd4aGNtbDBlU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa0p5WVhWdVFteGhibkYxWlhSZE9pQmljbUYxYmtKc1lXNXhkV1YwVTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtOdmMybHVaVjA2SUdOdmMybHVaVk5wYldsc1lYSnBkSGtzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVMZFd4amVubHVjMnRwWFRvZ2EzVnNZM3A1Ym5OcmFWTnBiV2xzWVhKcGRIa3NYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NU5ZME52Ym01aGRXZG9aWGxkT2lCdFkwTnZibTVoZFdkb1pYbFRhVzFwYkdGeWFYUjVMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVbTluYjNSSGIyeGtZbVZ5WjEwNklISnZaMjkwUjI5c1pHSmxjbWRUYVcxcGJHRnlhWFI1TEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VW5WemMyVnNYVG9nY25WemMyVnNVMmx0YVd4aGNtbDBlU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbE52YTJGc1hUb2djMjlyWVd4VGFXMXBiR0Z5YVhSNUxGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVNHRnRiV2x1WjEwNklHaGhiVzFwYm1kVGFXMXBiR0Z5YVhSNUxGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVJYVmpiR2xrWldGdVhUb2daWFZqYkdsa1pXRnVVMmx0YVd4aGNtbDBlU3hjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCa2FYTjBZVzVqWlUxbGRISnBZM002SUhzZ1cyNWhiV1U2SUhOMGNtbHVaMTA2SUNoNE9pQkNhWFJCY25KaGVTd2dlVG9nUW1sMFFYSnlZWGtwSUQwK0lHNTFiV0psY2lCOUlEMGdlMXh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVWR0Z1YVcxdmRHOWRPaUIwWVc1cGJXOTBiMFJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVSR2xqWlYwNklHUnBZMlZFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa0Z6ZVcxdFpYUnlhV05kT2lCaGMzbHRiV1YwY21salJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1Q2NtRjFia0pzWVc1eGRXVjBYVG9nWW5KaGRXNUNiR0Z1Y1hWbGRFUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVEyOXphVzVsWFRvZ1kyOXphVzVsUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVMZFd4amVubHVjMnRwWFRvZ2EzVnNZM3A1Ym5OcmFVUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVRXTkRiMjV1WVhWbmFHVjVYVG9nYldORGIyNXVZWFZuYUdWNVJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1U2IyZHZkRWR2YkdSaVpYSm5YVG9nY205bmIzUkhiMnhrWW1WeVowUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVVuVnpjMlZzWFRvZ2NuVnpjMlZzUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVUYjJ0aGJGMDZJSE52YTJGc1JHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1SVlXMXRhVzVuWFRvZ2FHRnRiV2x1WjBScGMzUmhibU5sTEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UlhWamJHbGtaV0Z1WFRvZ1pYVmpiR2xrWldGdVJHbHpkR0Z1WTJVc1hHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRMGhGVFY5VFNVMUpURUZTU1ZSWlgwMUZWRkpKUTFNZ1BTQmJYRzRnSUVKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsUmhibWx0YjNSdkxGeHVJQ0JDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RWFXTmxMRnh1SUNCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NURiM05wYm1WZE8xeHVaWGh3YjNKMElHTnZibk4wSUZORlVWOVRVRUZEUlY5VFNVMUpURUZTU1ZSWlgwMUZWRkpKUTFNZ1BTQmJYRzRnSUVKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsUmhibWx0YjNSdkxGeHVJQ0JDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1QmMzbHRiV1YwY21sakxGeHVJQ0JDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RGIzTnBibVVzWEc0Z0lFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbE52YTJGc1hUdGNibVY0Y0c5eWRDQmpiMjV6ZENCTlFVTlNUMDFQVEVWRFZVeEZYMU5KVFVsTVFWSkpWRmxmVFVWVVVrbERVeUE5SUZ0Y2JpQWdUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWekxraEJUVTFKVGtjc1hHNGdJRTF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NU1SVlpGVGxOSVZFVkpUaXhjYmlBZ1RXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6TGsxUFRrOU5SVkpmUTBoRlRVbERRVXhmUkVsVFZFRk9RMFVzWEc0Z0lFMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTk9ZVzFsY3k1T1JVVkVURVZOUVU1T1gxZFZUbE5EU0Z4dVhUdGNibHh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnZEdGdWFXMXZkRzlUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnZUM1MGNuVmxRMjkxYm5Rb0tTQXJJSGt1ZEhKMVpVTnZkVzUwS0NrN1hHNGdJR2xtSUNoMGIzUmhiQ0E5UFNBd0tTQnlaWFIxY200Z01TNHdPMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lISmxkSFZ5YmlCamIyMXRiMjRnTHlBb2RHOTBZV3dnTFNCamIyMXRiMjRwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkR0Z1YVcxdmRHOUVhWE4wWVc1alpTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0J5WlhSMWNtNGdaMlYwUkdsemRHRnVZMlZHY205dFUybHRhV3hoY21sMGVTaDBZVzVwYlc5MGIxTnBiV2xzWVhKcGRIa29lQ3dnZVNrcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnZEdGdWFXMXZkRzlFYVhOMFlXNWpaVWx1ZEVGeWNtRjVLSGc2SUZWcGJuUXpNa0Z5Y21GNUxDQjVPaUJWYVc1ME16SkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJR052Ym5OMElIaGlJRDBnYm1WM0lFSnBkRUZ5Y21GNUtIZ3NJSGd1YkdWdVozUm9JQ29nTXpJcE8xeHVJQ0JqYjI1emRDQjVZaUE5SUc1bGR5QkNhWFJCY25KaGVTaDVMQ0I1TG14bGJtZDBhQ0FxSURNeUtUdGNiaUFnY21WMGRYSnVJR2RsZEVScGMzUmhibU5sUm5KdmJWTnBiV2xzWVhKcGRIa29kR0Z1YVcxdmRHOVRhVzFwYkdGeWFYUjVLSGhpTENCNVlpa3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pHbGpaVk5wYldsc1lYSnBkSGtvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ1kyOXVjM1FnZEc5MFlXd2dQU0I0TG5SeWRXVkRiM1Z1ZENncElDc2dlUzUwY25WbFEyOTFiblFvS1R0Y2JpQWdhV1lnS0hSdmRHRnNJRDA5SURBcElISmxkSFZ5YmlBd0xqQTdYRzRnSUdOdmJuTjBJR052YlcxdmJpQTlJSGd1WVc1a1YybDBhRU52ZFc1MFFtbDBjeWg1TENCMGNuVmxLVHRjYmlBZ2NtVjBkWEp1SURJZ0tpQmpiMjF0YjI0Z0x5QjBiM1JoYkR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1JwWTJWRWFYTjBZVzVqWlNoNE9pQkNhWFJCY25KaGVTd2dlVG9nUW1sMFFYSnlZWGtwT2lCdWRXMWlaWElnZTF4dUlDQnlaWFIxY200Z1oyVjBSR2x6ZEdGdVkyVkdjbTl0VTJsdGFXeGhjbWwwZVNoa2FXTmxVMmx0YVd4aGNtbDBlU2g0TENCNUtTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCamIzTnBibVZUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnZUM1MGNuVmxRMjkxYm5Rb0tTQXFJSGt1ZEhKMVpVTnZkVzUwS0NrN1hHNGdJR2xtSUNoMGIzUmhiQ0E5UFNBd0tTQnlaWFIxY200Z01DNHdPMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lISmxkSFZ5YmlCamIyMXRiMjRnTHlCTllYUm9Mbk54Y25Rb2RHOTBZV3dwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMjl6YVc1bFJHbHpkR0Z1WTJVb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdjbVYwZFhKdUlHZGxkRVJwYzNSaGJtTmxSbkp2YlZOcGJXbHNZWEpwZEhrb1kyOXphVzVsVTJsdGFXeGhjbWwwZVNoNExDQjVLU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmxkV05zYVdSbFlXNVRhVzFwYkdGeWFYUjVLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJuWlhSVGFXMXBiR0Z5YVhSNVJuSnZiVVJwYzNSaGJtTmxLR1YxWTJ4cFpHVmhia1JwYzNSaGJtTmxLSGdzSUhrcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdWMVkyeHBaR1ZoYmtScGMzUmhibU5sS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCTllYUm9Mbk54Y25Rb2VDNTBjblZsUTI5MWJuUW9LU0FySUhrdWRISjFaVU52ZFc1MEtDa2dMU0F5SUNvZ2VDNWhibVJYYVhSb1EyOTFiblJDYVhSektIa3NJSFJ5ZFdVcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdoaGJXMXBibWRUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCblpYUlRhVzFwYkdGeWFYUjVSbkp2YlVScGMzUmhibU5sS0doaGJXMXBibWRFYVhOMFlXNWpaU2g0TENCNUtTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCb1lXMXRhVzVuUkdsemRHRnVZMlVvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUhndWRISjFaVU52ZFc1MEtDa2dLeUI1TG5SeWRXVkRiM1Z1ZENncElDMGdNaUFxSUhndVlXNWtWMmwwYUVOdmRXNTBRbWwwY3loNUxDQjBjblZsS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE52YTJGc1UybHRhV3hoY21sMGVTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0JqYjI1emRDQjBiM1JoYkNBOUlIZ3VkSEoxWlVOdmRXNTBLQ2tnS3lCNUxuUnlkV1ZEYjNWdWRDZ3BPMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lISmxkSFZ5YmlCamIyMXRiMjRnTHlBb01pQXFJSFJ2ZEdGc0lDMGdNeUFxSUdOdmJXMXZiaWs3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnpiMnRoYkVScGMzUmhibU5sS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCblpYUkVhWE4wWVc1alpVWnliMjFUYVcxcGJHRnlhWFI1S0hOdmEyRnNVMmx0YVd4aGNtbDBlU2g0TENCNUtTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcmRXeGplbmx1YzJ0cFUybHRhV3hoY21sMGVTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0JqYjI1emRDQjBiM1JoYkNBOUlIZ3VkSEoxWlVOdmRXNTBLQ2tnS3lCNUxuUnlkV1ZEYjNWdWRDZ3BPMXh1SUNCamIyNXpkQ0IwYjNSaGJGQnliMlFnUFNCNExuUnlkV1ZEYjNWdWRDZ3BJQ29nZVM1MGNuVmxRMjkxYm5Rb0tUdGNiaUFnYVdZZ0tIUnZkR0ZzVUhKdlpDQTlQU0F3S1NCeVpYUjFjbTRnTUM0d08xeHVJQ0JqYjI1emRDQmpiMjF0YjI0Z1BTQjRMbUZ1WkZkcGRHaERiM1Z1ZEVKcGRITW9lU3dnZEhKMVpTazdYRzRnSUhKbGRIVnliaUFvWTI5dGJXOXVJQ29nZEc5MFlXd3BJQzhnS0RJZ0tpQjBiM1JoYkZCeWIyUXBPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2EzVnNZM3A1Ym5OcmFVUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtHdDFiR042ZVc1emEybFRhVzFwYkdGeWFYUjVLSGdzSUhrcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUcxalEyOXVibUYxWjJobGVWTnBiV2xzWVhKcGRIa29lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnWTI5dWMzUWdkRzkwWVd3Z1BTQjRMblJ5ZFdWRGIzVnVkQ2dwSUNzZ2VTNTBjblZsUTI5MWJuUW9LVHRjYmlBZ1kyOXVjM1FnZEc5MFlXeFFjbTlrSUQwZ2VDNTBjblZsUTI5MWJuUW9LU0FxSUhrdWRISjFaVU52ZFc1MEtDazdYRzRnSUdsbUlDaDBiM1JoYkZCeWIyUWdQVDBnTUNrZ2NtVjBkWEp1SURBdU1EdGNiaUFnWTI5dWMzUWdZMjl0Ylc5dUlEMGdlQzVoYm1SWGFYUm9RMjkxYm5SQ2FYUnpLSGtzSUhSeWRXVXBPMXh1SUNCeVpYUjFjbTRnS0dOdmJXMXZiaUFxSUhSdmRHRnNJQzBnZEc5MFlXeFFjbTlrS1NBdklIUnZkR0ZzVUhKdlpEdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUcxalEyOXVibUYxWjJobGVVUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtHMWpRMjl1Ym1GMVoyaGxlVk5wYldsc1lYSnBkSGtvZUN3Z2VTa3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1lYTjViVzFsZEhKcFkxTnBiV2xzWVhKcGRIa29lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnWTI5dWMzUWdiV2x1SUQwZ1RXRjBhQzV0YVc0b2VDNTBjblZsUTI5MWJuUW9LU3dnZVM1MGNuVmxRMjkxYm5Rb0tTazdYRzRnSUdsbUlDaHRhVzRnUFQwZ01Da2djbVYwZFhKdUlEQXVNRHRjYmlBZ1kyOXVjM1FnWTI5dGJXOXVJRDBnZUM1aGJtUlhhWFJvUTI5MWJuUkNhWFJ6S0hrc0lIUnlkV1VwTzF4dUlDQnlaWFIxY200Z1kyOXRiVzl1SUM4Z2JXbHVPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1lYTjViVzFsZEhKcFkwUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtHRnplVzF0WlhSeWFXTlRhVzFwYkdGeWFYUjVLSGdzSUhrcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdKeVlYVnVRbXhoYm5GMVpYUlRhVzFwYkdGeWFYUjVLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUdOdmJuTjBJRzFoZUNBOUlFMWhkR2d1YldGNEtIZ3VkSEoxWlVOdmRXNTBLQ2tzSUhrdWRISjFaVU52ZFc1MEtDa3BPMXh1SUNCcFppQW9iV0Y0SUQwOUlEQXBJSEpsZEhWeWJpQXdMakE3WEc0Z0lHTnZibk4wSUdOdmJXMXZiaUE5SUhndVlXNWtWMmwwYUVOdmRXNTBRbWwwY3loNUxDQjBjblZsS1R0Y2JpQWdjbVYwZFhKdUlHTnZiVzF2YmlBdklHMWhlRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHSnlZWFZ1UW14aGJuRjFaWFJFYVhOMFlXNWpaU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCeVpYUjFjbTRnWjJWMFJHbHpkR0Z1WTJWR2NtOXRVMmx0YVd4aGNtbDBlU2hpY21GMWJrSnNZVzV4ZFdWMFUybHRhV3hoY21sMGVTaDRMQ0I1S1NrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ5ZFhOelpXeFRhVzFwYkdGeWFYUjVLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUdsbUlDaDRMbXhsYm1kMGFDQTlQU0F3S1NCeVpYUjFjbTRnTUM0d08xeHVJQ0JqYjI1emRDQmpiMjF0YjI0Z1BTQjRMbUZ1WkZkcGRHaERiM1Z1ZEVKcGRITW9lU3dnZEhKMVpTazdYRzRnSUhKbGRIVnliaUJqYjIxdGIyNGdMeUI0TG14bGJtZDBhRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlISjFjM05sYkVScGMzUmhibU5sS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCblpYUkVhWE4wWVc1alpVWnliMjFUYVcxcGJHRnlhWFI1S0hKMWMzTmxiRk5wYldsc1lYSnBkSGtvZUN3Z2VTa3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NtOW5iM1JIYjJ4a1ltVnlaMU5wYldsc1lYSnBkSGtvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ1kyOXVjM1FnWTI5dGJXOXVJRDBnZUM1aGJtUlhhWFJvUTI5MWJuUkNhWFJ6S0hrc0lIUnlkV1VwTzF4dUlDQmpiMjV6ZENCMGIzUmhiQ0E5SUhndVkyOTFiblJDYVhSektIUnlkV1VwSUNzZ2VTNWpiM1Z1ZEVKcGRITW9kSEoxWlNrN1hHNGdJR052Ym5OMElHeGxiaUE5SUhndWJHVnVaM1JvTzF4dUlDQmpiMjV6ZENCa2FXWm1JRDBnYkdWdUlDMGdkRzkwWVd3Z0t5QmpiMjF0YjI0N1hHNGdJR2xtSUNnb1kyOXRiVzl1SUQwOUlHeGxiaWtnZkh3Z0tHUnBabVlnUFQwZ2JHVnVLU2tnY21WMGRYSnVJREV1TUR0Y2JpQWdaV3h6WlNCeVpYUjFjbTRnWTI5dGJXOXVJQzhnZEc5MFlXd2dLeUJrYVdabUlDOGdLRElnS2lCc1pXNGdMU0IwYjNSaGJDazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCeWIyZHZkRWR2YkdSaVpYSm5SR2x6ZEdGdVkyVW9lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJR2RsZEVScGMzUmhibU5sUm5KdmJWTnBiV2xzWVhKcGRIa29jbTluYjNSSGIyeGtZbVZ5WjFOcGJXbHNZWEpwZEhrb2VDd2dlU2twTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaMlYwVTJsdGFXeGhjbWwwZVVaeWIyMUVhWE4wWVc1alpTaGthWE4wWVc1alpUb2diblZ0WW1WeUtTQjdYRzRnSUhKbGRIVnliaUF4SUM4Z0tERWdLeUJrYVhOMFlXNWpaU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtITnBiV2xzWVhKcGRIazZJRzUxYldKbGNpa2dleUF2TDJsdUlHTmhjMlVnYzJsdGFXeGhjbWwwZVNCcGN5QXdMQ0IxYzJVZ2JXRjRJRzUxYldKbGNpQm1iM0lnWm14dllYUXpNbHh1SUNCeVpYUjFjbTRnYzJsdGFXeGhjbWwwZVNBOVBUMGdNQ0EvSURNdU5EQXlPREl6UlNzek9DQTZJQ2d4SUM4Z2MybHRhV3hoY21sMGVTa2dMU0F4TzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiblZ0WlhKcFkwUnBjM1JoYm1ObEtIZzZJRzUxYldKbGNpd2dlVG9nYm5WdFltVnlLU0I3WEc0Z0lISmxkSFZ5YmlCTllYUm9MbUZpY3loNElDMGdlU2s3WEc1OVhHNGlYWDA9IiwiaW1wb3J0IHsgVmVjdG9yIH0gZnJvbSAnLi90eXBlLWRlY2xhcmF0aW9ucyc7XG5pbXBvcnQgeyByYW5kb21GbG9hdCwgcmFuZG9tSW50IH0gZnJvbSAnLi9yYW5kb20nO1xuLyoqXG4gKiBBc3NlcnRzIGEgY29uZGl0aW9uIGJ5IHRocm93aW5nIGFuIEVycm9yLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2NvbmRpdGlvbj1mYWxzZV0gQ29uZGl0aW9uIHRvIGFzc2VydC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZT0nQXNzZXJ0aW9uIGVycm9yLiddIE1lc3NhZ2UgdG8gb3V0cHV0LlxuICogQHRocm93cyB7RXJyb3J9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uID0gZmFsc2UsIG1lc3NhZ2UgPSAnQXNzZXJ0aW9uIGVycm9yLicpIHtcbiAgICBpZiAoIWNvbmRpdGlvbilcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xufVxuLyoqXG4gKiBDcmVhdGVzIG5ldyB0d28tZGltZW5zaW9uYWwgYXJyYXkgYW5kIGZpbGxzIGl0IHdpdGggdGhlIHZhbHVlIGdpdmVuLlxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBkaW1lbnNpb24xIFRoZSBmaXJzdCBkaW1lbnNpb24gb2YgdGhlIGNvb3JkaW5hdGVzIChudW1iZXIgb2Ygcm93cykuXG4gKiBAcGFyYW0ge251bWJlcn0gZGltZW5zaW9uMiBUaGUgc2Vjb25kIGRpbWVuc2lvbiBvZiB0aGUgY29vcmRpbmF0ZXMgKG51bWJlciBvZiBjb2x1bW5zKS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbZmlsbD0wXSBBIHZhbHVlIHRvIGZpbGwgdGhlIGNvb3JkaW5hdGVzIHdpdGguXG4gKiBAcmV0dXJuIHtDb29yZGluYXRlc30gQSB0d28tZGltZW5zaW9uYWwgZmlsbGVkIHdpdGggdGhlIHZhbHVlIGdpdmVuLlxuICogQHRvZG8gTWlnaHQgYmUgc2xvdyBzaW5jZSB1c2VkIEFycmF5Lm1hcC4gUHJvYmFibHkgbmVlZHMgcGVyZm9ybWFuY2UgcmV2aXNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0Q29vcmRpbmF0ZXMoZGltZW5zaW9uMSwgZGltZW5zaW9uMiwgZmlsbCA9IDApIHtcbiAgICByZXR1cm4gbmV3IEFycmF5KGRpbWVuc2lvbjEpLmZpbGwoZmlsbCkubWFwKCgpID0+IChuZXcgVmVjdG9yKGRpbWVuc2lvbjIpLmZpbGwoZmlsbCkpKTtcbn1cbi8qKlxuICogVHJhbnNwb3NlIG1hdHJpeC5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge01hdHJpeH0gbWF0cml4IFRoZSBtYXRyaXggdG8gYmUgdHJhbnNwb3NlZC5cbiAqIEByZXR1cm4ge01hdHJpeH0gVHJhbnNwb3NlZCBtYXRyaXguXG4gKiBAdG9kbyBNaWdodCBiZSBzbG93IHNpbmNlIHVzZWQgQXJyYXkubWFwLiBQcm9iYWJseSBuZWVkcyBwZXJmb3JtYW5jZSByZXZpc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zcG9zZU1hdHJpeChtYXRyaXgpIHtcbiAgICByZXR1cm4gbmV3IEFycmF5KG1hdHJpeFswXS5sZW5ndGgpLmZpbGwoMClcbiAgICAgICAgLm1hcCgoXywgaSkgPT4gKG5ldyBWZWN0b3IobWF0cml4Lmxlbmd0aCkuZmlsbCgwKS5tYXAoKF8sIGopID0+IChtYXRyaXhbal1baV0pKSkpO1xufVxuLyoqXG4gKiBBZGRzIHR3byB2ZWN0b3JzIHdpdGggdGhlIHNlY29uZCBvbmUgdG8gYmUgbXVsdGlwbGllZCBieSB0aGUgZ2l2ZW4gcmF0aW8uXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3J9IHAgVGhlIGZpcnN0IHZlY3RvciB0byBhZGQuXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gcSBUaGUgc2Vjb25kIHZlY3RvciB0byBhZGQuXG4gKiBAcGFyYW0ge251bWJlcn0gW211bHRpcGxpZXI9MV0gQSBtdWx0aXBsaWVyIHRvIGJlIHVzZWQgYmVmb3JlIHRoZSBzZWNvbmQgdmVjdG9yIGlzIGFkZGVkLlxuICogQHJldHVybiB7VmVjdG9yfSBOZXcgdmVjdG9yIGNvbnRhaW5lZCB0aGUgcmVzdWx0IG9mIG9wZXJhdGlvbiBwK211bHRpcGxpZXIqcS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlY3RvckFkZChwLCBxLCBtdWx0aXBsaWVyID0gMSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IHAubGVuZ3RoO1xuICAgIGFzc2VydChuSXRlbXMgPT0gcS5sZW5ndGgsICdWZWN0b3IgbGVuZ3RocyBkbyBub3QgbWF0Y2guJyk7XG4gICAgY29uc3QgdG90YWwgPSBuZXcgVmVjdG9yKG5JdGVtcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwLmxlbmd0aDsgKytpKVxuICAgICAgICB0b3RhbFtpXSA9IHBbaV0gKyBtdWx0aXBsaWVyICogcVtpXTtcbiAgICByZXR1cm4gdG90YWw7XG59XG4vKipcbiAqIFN1bXMgdGhlIHZlY3RvcidzIGl0ZW1zLlxuICpcbiAqIEBwYXJhbSB7VmVjdG9yfSB2IFRoZSB2ZWN0b3IgdG8gYmUgc3VtbWVkLlxuICogQHJldHVybiB7bnVtYmVyfSBUaGUgdmVjdG9yJ3MgaXRlbXMgc3VtLlxuICovXG5mdW5jdGlvbiBpdGVtc1N1bSh2KSB7XG4gICAgbGV0IHRvdGFsID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHYubGVuZ3RoOyArK2kpXG4gICAgICAgIHRvdGFsICs9IHZbaV07XG4gICAgcmV0dXJuIHRvdGFsO1xufVxuLyoqXG4gKiBTdXFhcmVzIHRoZSB2ZWN0b3IncyBpdGVtcy5cbiAqXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gdiBUaGUgdmVjdG9yIHRvIHNxdWFyZS5cbiAqIEByZXR1cm4ge1ZlY3Rvcn0gQSBuZXcgdmVjdG9yIGNvbnRhaW5pbmcgdGhlIG9yaWdpbmFsJ3MgaXRlbXMgc3F1YXJlZC5cbiAqL1xuZnVuY3Rpb24gdmVjdG9yU3F1YXJlKHYpIHtcbiAgICBjb25zdCBuSXRlbXMgPSB2Lmxlbmd0aDtcbiAgICBjb25zdCB0b3RhbCA9IG5ldyBWZWN0b3Iobkl0ZW1zKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHYubGVuZ3RoOyArK2kpXG4gICAgICAgIHRvdGFsW2ldID0gdltpXSAqIHZbaV07XG4gICAgcmV0dXJuIHRvdGFsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHZlY3Rvckxlbmd0aCh2KSB7XG4gICAgbGV0IHNxclN1bSA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgaSsrKVxuICAgICAgICBzcXJTdW0gKz0gdltpXSAqIHZbaV07XG4gICAgcmV0dXJuIE1hdGguc3FydChzcXJTdW0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHZlY3RvckRvdFByb2R1Y3QodjEsIHYyKSB7XG4gICAgaWYgKHYxLmxlbmd0aCAhPSB2Mi5sZW5ndGgpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRpbWVuc2lvbmFsaXR5IG9mIHRoZSB2ZWN0b3JzIG11c3QgbWF0Y2gnKTtcbiAgICBsZXQgcHJvZCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2MS5sZW5ndGg7IGkrKylcbiAgICAgICAgcHJvZCArPSB2MVtpXSAqIHYyW2ldO1xuICAgIHJldHVybiBwcm9kO1xufVxuLyoqXG4gKiBDcmVhdGVzIGEgbWF0cml4IGZpbGxlZCB3aXRoIHJhbmRvbSBmbG9hdGluZyBwb2ludCB2YWx1ZXMuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbjEgVGhlIGZpcnN0IGRpbWVuc2lvbiBvZiB0aGUgbWF0cml4LlxuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbjIgVGhlIHNlY29uZCBkaW1lbnNpb24gb2YgdGhlIG1hdHJpeC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbc2NhbGU9MS5dIE1heCB2YWx1ZSBnaXZlbiBieSByYW5kb20gZ2VuZXJhdG9yLlxuICogQHJldHVybiB7TWF0cml4fSBBIG5ldyBtYXRyaXggZmlsbGVkIHdpdGggcmFuZG9tIGZsb2F0aW5nIHBvaW50ICB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWxsUmFuZG9tTWF0cml4KGRpbWVuc2lvbjEsIGRpbWVuc2lvbjIsIHNjYWxlID0gMS4pIHtcbiAgICBjb25zdCBtYXRyaXggPSBpbml0Q29vcmRpbmF0ZXMoZGltZW5zaW9uMSwgZGltZW5zaW9uMik7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaW1lbnNpb24xOyArK2kpIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBkaW1lbnNpb24yOyArK2opXG4gICAgICAgICAgICBtYXRyaXhbaV1bal0gPSByYW5kb21GbG9hdChzY2FsZSk7XG4gICAgfVxuICAgIHJldHVybiBtYXRyaXg7XG59XG4vKipcbiAqIENhbGN1bGF0ZXMgRXVjbGlkZWFuIGRpc3RhbmNlIGJldHdlZW4gdHdvIHZlY3RvcnMuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3J9IHAgVGhlIGZpcnN0IHZlY3Rvci5cbiAqIEBwYXJhbSB7VmVjdG9yfSBxIFRoZSBzZWNvbmQgdmVjdG9yLlxuICogQHJldHVybiB7bnVtYmVyfSBFdWNsaWRlYW4gZGlzdGFuY2UgYmV0d2VlbiB0aGUgZ2l2ZW4gdmVjdG9ycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUV1Y2xpZGVhbkRpc3RhbmNlKHAsIHEpIHtcbiAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICBjb25zdCBsZW4gPSBwLmxlbmd0aDtcbiAgICBpZiAobGVuICE9PSBxLmxlbmd0aClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZGltZW5zaW9uYWxpdHkgb2YgdGhlIHZlY3RvcnMgbXVzdCBtYXRjaCcpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyArK2kpXG4gICAgICAgIHJlc3VsdCArPSBNYXRoLnBvdygocFtpXSAtIHFbaV0pLCAyKTtcbiAgICByZXR1cm4gTWF0aC5zcXJ0KHJlc3VsdCk7XG59XG4vKipcbiAqIENyZWF0ZXMgYSBkaXN0YW5jZSBtYXRyaXggdXNpbmcgYSBjdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3JzfSBkYXRhIElucHV0IHZlY3RvcnMgdG8gY2FsY3VsYXRlIGRpc3RhbmNlcy5cbiAqIEBwYXJhbSB7RGlzdGFuY2VNZXRyaWN9IGRpc3RhbmNlIEN1c3RvbSBkaXN0YW5jZSBmdW5jdGlvbi5cbiAqIEByZXR1cm4ge01hdHJpeH0gQ2FsY3VsYXRlZCBjdXN0b20gZGlzdGFuY2UgbWF0cml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY0Rpc3RhbmNlTWF0cml4KGRhdGEsIGRpc3RhbmNlKSB7XG4gICAgY29uc3Qgbkl0ZW1zID0gZGF0YS5sZW5ndGg7XG4gICAgY29uc3QgbWF0cml4ID0gaW5pdENvb3JkaW5hdGVzKG5JdGVtcywgbkl0ZW1zLCAwKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5JdGVtczsgKytpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IG5JdGVtczsgKytqKSB7XG4gICAgICAgICAgICBjb25zdCBkID0gKGRhdGFbaV0gPT0gbnVsbCkgfHwgKGRhdGFbal0gPT0gbnVsbCkgPyAwIDogZGlzdGFuY2UoZGF0YVtpXSwgZGF0YVtqXSk7XG4gICAgICAgICAgICBtYXRyaXhbaV1bal0gPSBtYXRyaXhbal1baV0gPSBkO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXRyaXg7XG59XG4vKipcbiAqIENyZWF0ZXMgYSBkaXN0YW5jZSBtYXRyaXggdXNpbmcgYSBjdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3JzfSBkYXRhIElucHV0IHZlY3RvcnMgdG8gY2FsY3VsYXRlIGRpc3RhbmNlcy5cbiAqIEBwYXJhbSB7RGlzdGFuY2VNZXRyaWN9IGRpc3RhbmNlIEN1c3RvbSBkaXN0YW5jZSBmdW5jdGlvbi5cbiAqIEByZXR1cm4ge01hdHJpeH0gQ2FsY3VsYXRlZCBjdXN0b20gZGlzdGFuY2UgbWF0cml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY05vcm1hbGl6ZWREaXN0YW5jZU1hdHJpeChkYXRhLCBkaXN0YW5jZSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IGRhdGEubGVuZ3RoO1xuICAgIGNvbnN0IG1hdHJpeCA9IGluaXRDb29yZGluYXRlcyhuSXRlbXMsIG5JdGVtcywgMCk7XG4gICAgbGV0IG1heCA9IE51bWJlci5NSU5fVkFMVUU7XG4gICAgbGV0IG1pbiA9IE51bWJlci5NQVhfVkFMVUU7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuSXRlbXM7ICsraSkge1xuICAgICAgICBmb3IgKGxldCBqID0gaTsgaiA8IG5JdGVtczsgKytqKSB7XG4gICAgICAgICAgICBjb25zdCBkID0gKGRhdGFbaV0gPT0gbnVsbCkgfHwgKGRhdGFbal0gPT0gbnVsbCB8fCBpID09PSBqKSA/IDAgOiBkaXN0YW5jZShkYXRhW2ldLCBkYXRhW2pdKTtcbiAgICAgICAgICAgIG1hdHJpeFtpXVtqXSA9IG1hdHJpeFtqXVtpXSA9IGQ7XG4gICAgICAgICAgICBpZiAoZCA+IG1heClcbiAgICAgICAgICAgICAgICBtYXggPSBkO1xuICAgICAgICAgICAgaWYgKGQgPCBtaW4pXG4gICAgICAgICAgICAgICAgbWluID0gZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5JdGVtczsgKytpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IG5JdGVtczsgKytqKVxuICAgICAgICAgICAgbWF0cml4W2ldW2pdID0gbWF0cml4W2pdW2ldID0gKG1hdHJpeFtpXVtqXSAtIG1pbikgLyAobWF4IC0gbWluKTtcbiAgICB9XG4gICAgcmV0dXJuIG1hdHJpeDtcbn1cbi8qKiBHZW5lcmF0ZXMgYXJyYXkgZnJvbSBhIHJhbmdlIFtiZWdpbjsgZW5kXSBvciBbYmVnaW47IGVuZCkgaWYgZW5kRXhjbHVzaXZlLiAqKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5SYW5nZShiZWdpbiwgZW5kLCBlbmRFeGNsdXNpdmUgPSBmYWxzZSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IGVuZCAtIGJlZ2luICsgKGVuZEV4Y2x1c2l2ZSA/IDAgOiAxKTtcbiAgICBjb25zdCBzZXJpZXMgPSBuZXcgSW50MzJBcnJheShuSXRlbXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbkl0ZW1zOyArK2kpXG4gICAgICAgIHNlcmllc1tpXSA9IGJlZ2luICsgaTtcbiAgICByZXR1cm4gc2VyaWVzO1xufVxuLyoqXG4gKiBSZXR1cm5zIG9yZGVyIG9mIHZhbHVlcyBhcyBpZiB0aGV5IGFyZSBzb3J0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHthbnlbXX0gdmFsdWVzIElucHV0IGFycmF5LlxuICogQHBhcmFtIHtib29sZWFufSBbcmV2ZXJzZT1mYWxzZV0gV2hldGhlciB0byByZXR1cm4gcmV2ZXJzZWQgb3JkZXIuXG4gKiBAcmV0dXJuIHtudW1iZXJbXX0gVGhlIG9yZGVyIGNvbXB1dGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXJnU29ydCh2YWx1ZXMsIHJldmVyc2UgPSBmYWxzZSkge1xuICAgIGNvbnN0IHNvcnRmbiA9IHJldmVyc2UgPyAoYSwgYikgPT4gKGJbMF0gLSBhWzBdKSA6IChhLCBiKSA9PiAoYVswXSAtIGJbMF0pO1xuICAgIGNvbnN0IGRlY29yID0gKHYsIGkpID0+IFt2LCBpXTsgLy8gc2V0IGluZGV4IHRvIHZhbHVlXG4gICAgY29uc3QgdW5kZWNvciA9IChhKSA9PiBhWzFdOyAvLyBsZWF2ZSBvbmx5IGluZGV4XG4gICAgY29uc3QgX2FyZ3NvcnQgPSAoYXJyKSA9PiBhcnIubWFwKGRlY29yKS5zb3J0KHNvcnRmbikubWFwKHVuZGVjb3IpO1xuICAgIHJldHVybiBfYXJnc29ydCh2YWx1ZXMpO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBpbmRleGVzIG9mIHRoZSBtb3N0IGRpdmVyc2Ugb2JqZWN0cyBhY2NvcmRpbmcgdG8gdGhlIGRpc3QgZnVuY3Rpb25cbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGggdG90YWwgbnVtYmVyIG9mIG9iamVjdHNcbiAqIEBwYXJhbSB7bnVtYmVyfSBuIG51bWJlciBvZiBkaXZlcnNlIGVsZW1lbnRzIHRvIGZpbmRcbiAqIEBwYXJhbSB7KGkxOiBudW1iZXIsIGkyOiBudW1iZXIpID0+IG51bWJlcn0gZGlzdCBhIGZ1bmN0aW9uIHdoaWNoIGNhbGN1bGF0ZXMgZGlzdGFuY2UgYmV0d2VlblxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR3byBvYmplY3RzIHVzaW5nIHRoZWlyIGluZGV4ZXNcbiAqIEByZXR1cm5zIHtudW1iZXJbXX0gVGhlIGluZGV4ZXMgb2YgdGhlIG1vc3QgZGl2ZXJzZSBvYmplY3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXZlcnNlU3Vic2V0KGxlbmd0aCwgbiwgZGlzdCkge1xuICAgIGZ1bmN0aW9uIG1heEJ5KHZhbHVlcywgb3JkZXJCeSkge1xuICAgICAgICBsZXQgbWF4VmFsdWUgPSBudWxsO1xuICAgICAgICBsZXQgbWF4T3JkZXJCeSA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB2YWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRPcmRlckJ5ID0gb3JkZXJCeShlbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChtYXhPcmRlckJ5ID09IG51bGwgfHwgZWxlbWVudE9yZGVyQnkgPiBtYXhPcmRlckJ5KSB7XG4gICAgICAgICAgICAgICAgbWF4VmFsdWUgPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIG1heE9yZGVyQnkgPSBlbGVtZW50T3JkZXJCeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWF4VmFsdWU7XG4gICAgfVxuICAgIGNvbnN0IHN1YnNldCA9IFtyYW5kb21JbnQobGVuZ3RoIC0gMSldO1xuICAgIGNvbnN0IGNvbXBsZW1lbnQgPSBuZXcgU2V0KCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgICAgICBpZiAoIXN1YnNldC5pbmNsdWRlcyhpKSlcbiAgICAgICAgICAgIGNvbXBsZW1lbnQuYWRkKGkpO1xuICAgIH1cbiAgICB3aGlsZSAoc3Vic2V0Lmxlbmd0aCA8IG4pIHtcbiAgICAgICAgY29uc3QgaWR4ID0gbWF4QnkoY29tcGxlbWVudC52YWx1ZXMoKSwgKGkpID0+IE1hdGgubWluLmFwcGx5KE1hdGgsIHN1YnNldC5tYXAoZnVuY3Rpb24gKHZhbCwgaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiBkaXN0KGksIHZhbCk7XG4gICAgICAgIH0pKSk7XG4gICAgICAgIGlmIChpZHgpIHtcbiAgICAgICAgICAgIHN1YnNldC5wdXNoKGlkeCk7XG4gICAgICAgICAgICBjb21wbGVtZW50LmRlbGV0ZShpZHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdWJzZXQ7XG59XG4vKipcbiAqIFJldHVybnMgbm9ybWFsaXplZCB2ZWN0b3IuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3J9IGRhdGEgbnVtZXJpY2FsIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUoZGF0YSkge1xuICAgIGNvbnN0IGxlbiA9IGRhdGEubGVuZ3RoO1xuICAgIGxldCBzdW0gPSAwO1xuICAgIGxldCBzdW1PZlNxdWFyZXMgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgICAgc3VtICs9IGRhdGFbaV07XG4gICAgICAgIHN1bU9mU3F1YXJlcyArPSBNYXRoLnBvdyhkYXRhW2ldLCAyKTtcbiAgICB9XG4gICAgY29uc3QgbWVhbiA9IHN1bSAvIGxlbjtcbiAgICBjb25zdCBzdGREZXZJbnZlcnNlID0gMS4wIC8gTWF0aC5zcXJ0KHN1bU9mU3F1YXJlcyAvIGxlbiAtIE1hdGgucG93KG1lYW4sIDIpKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgKytpKVxuICAgICAgICBkYXRhW2ldID0gKGRhdGFbaV0gLSBtZWFuKSAqIHN0ZERldkludmVyc2U7XG4gICAgcmV0dXJuIGRhdGE7XG59XG4vKipcbiAqIEZpbmRzIHNldCBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIGxpc3RzLlxuICogQHBhcmFtIHthbnlbXX0gYSBUaGUgZmlyc3QgbGlzdC5cbiAqIEBwYXJhbSB7YW55W119IGIgVGhlIHNlY29uZCBsaXN0LlxuICogQHJldHVybiB7YW55W119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXREaWZmZXJlbmNlKGEsIGIpIHtcbiAgICBjb25zdCBiU2V0ID0gbmV3IFNldChiKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KGEuZmlsdGVyKCh4KSA9PiAhYlNldC5oYXMoeCkpKS52YWx1ZXMoKSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkbVZqZEc5eUxXOXdaWEpoZEdsdmJuTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMlpXTjBiM0l0YjNCbGNtRjBhVzl1Y3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hQUVVGUExFVkJRVk1zVFVGQlRTeEZRVUYxUXl4TlFVRk5MSEZDUVVGeFFpeERRVUZETzBGQlEzcEdMRTlCUVU4c1JVRkJReXhYUVVGWExFVkJRVVVzVTBGQlV5eEZRVUZETEUxQlFVMHNWVUZCVlN4RFFVRkRPMEZCUldoRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1RVRkJUU3hEUVVGRExGbEJRWEZDTEV0QlFVc3NSVUZCUlN4VlFVRnJRaXhyUWtGQmEwSTdTVUZEY2tZc1NVRkJTU3hEUVVGRExGTkJRVk03VVVGRFdpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8wRkJRemRDTEVOQlFVTTdRVUZGUkRzN096czdPenM3UjBGUlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4bFFVRmxMRU5CUVVNc1ZVRkJhMElzUlVGQlJTeFZRVUZyUWl4RlFVRkZMRTlCUVdVc1EwRkJRenRKUVVOMFJpeFBRVUZQTEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUTBGQlF5eEpRVUZKTEUxQlFVMHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNwR0xFTkJRVU03UVVGRlJEczdPenM3T3p0SFFVOUhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHVkJRV1VzUTBGQlF5eE5RVUZqTzBsQlF6VkRMRTlCUVU4c1NVRkJTU3hMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTTdVMEZEZGtNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRkRVlzUTBGQlF6dEJRVVZFT3pzN096czdPenRIUVZGSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEZOQlFWTXNRMEZCUXl4RFFVRlRMRVZCUVVVc1EwRkJVeXhGUVVGRkxHRkJRWEZDTEVOQlFVTTdTVUZEY0VVc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXp0SlFVVjRRaXhOUVVGTkxFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNRMEZCUXp0SlFVVXpSQ3hOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVVWcVF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRMMElzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFZRVUZWTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSWFJETEU5QlFVOHNTMEZCU3l4RFFVRkRPMEZCUTJZc1EwRkJRenRCUVVWRU96czdPenRIUVV0SE8wRkJRMGdzVTBGQlV5eFJRVUZSTEVOQlFVTXNRMEZCVXp0SlFVTjZRaXhKUVVGSkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGWkN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGREwwSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVVZvUWl4UFFVRlBMRXRCUVVzc1EwRkJRenRCUVVObUxFTkJRVU03UVVGRlJEczdPenM3UjBGTFJ6dEJRVU5JTEZOQlFWTXNXVUZCV1N4RFFVRkRMRU5CUVZNN1NVRkROMElzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVONFFpeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVVZxUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGREwwSXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRmVrSXNUMEZCVHl4TFFVRkxMRU5CUVVNN1FVRkRaaXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEZsQlFWa3NRMEZCUXl4RFFVRlRPMGxCUTNCRExFbEJRVWtzVFVGQlRTeEhRVUZYTEVOQlFVTXNRMEZCUXp0SlFVTjJRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZYTEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVTdVVUZEZGtNc1RVRkJUU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGVFSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlF6TkNMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWjBKQlFXZENMRU5CUVVNc1JVRkJWU3hGUVVGRkxFVkJRVlU3U1VGRGNrUXNTVUZCU1N4RlFVRkZMRU5CUVVNc1RVRkJUU3hKUVVGSkxFVkJRVVVzUTBGQlF5eE5RVUZOTzFGQlEzaENMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zT0VOQlFUaERMRU5CUVVNc1EwRkJRenRKUVVOc1JTeEpRVUZKTEVsQlFVa3NSMEZCVnl4RFFVRkRMRU5CUVVNN1NVRkRja0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCVnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZPMUZCUTNoRExFbEJRVWtzU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzaENMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMlFzUTBGQlF6dEJRVVZFT3pzN096czdPenRIUVZGSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdkQ1FVRm5RaXhEUVVGRExGVkJRV3RDTEVWQlFVVXNWVUZCYTBJc1JVRkJSU3hSUVVGblFpeEZRVUZGTzBsQlEzcEdMRTFCUVUwc1RVRkJUU3hIUVVGSExHVkJRV1VzUTBGQlF5eFZRVUZWTEVWQlFVVXNWVUZCVlN4RFFVRkRMRU5CUVVNN1NVRkZka1FzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExGVkJRVlVzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0UlFVTnVReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1ZVRkJWU3hGUVVGRkxFVkJRVVVzUTBGQlF6dFpRVU5xUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NWMEZCVnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8wdEJRM0pETzBsQlEwUXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzTUVKQlFUQkNMRU5CUVVNc1EwRkJVeXhGUVVGRkxFTkJRVk03U1VGRE4wUXNTVUZCU1N4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMllzVFVGQlRTeEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVWeVFpeEpRVUZKTEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1RVRkJUVHRSUVVOc1FpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRGhEUVVFNFF5eERRVUZETEVOQlFVTTdTVUZGYkVVc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGRE1VSXNUVUZCVFN4SlFVRkpMRk5CUVVFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVWtzUTBGQlF5eERRVUZCTEVOQlFVTTdTVUZGTDBJc1QwRkJUeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUXpOQ0xFTkJRVU03UVVGRlJEczdPenM3T3p0SFFVOUhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHdENRVUZyUWl4RFFVRkRMRWxCUVdFc1JVRkJSU3hSUVVGM1FqdEpRVU40UlN4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzBsQlF6TkNMRTFCUVUwc1RVRkJUU3hIUVVGSExHVkJRV1VzUTBGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSV3hFTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVN1VVRkRMMElzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVN1dVRkRia01zVFVGQlRTeERRVUZETEVkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTXhSaXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRUUVVOcVF6dExRVU5HTzBsQlEwUXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzTkVKQlFUUkNMRU5CUVVNc1NVRkJZU3hGUVVGRkxGRkJRWGRDTzBsQlEyeEdMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZETTBJc1RVRkJUU3hOUVVGTkxFZEJRVWNzWlVGQlpTeERRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGJFUXNTVUZCU1N4SFFVRkhMRWRCUVVjc1RVRkJUU3hEUVVGRExGTkJRVk1zUTBGQlF6dEpRVU16UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhOUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZETzBsQlF6TkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4TlFVRk5MRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVU3VVVGREwwSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHRaUVVNdlFpeE5RVUZOTEVOQlFVTXNSMEZCVnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGNrY3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZEYUVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUjBGQlJ6dG5Ra0ZCUlN4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM0pDTEVsQlFVa3NRMEZCUXl4SFFVRkhMRWRCUVVjN1owSkJRVVVzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXp0VFFVTjBRanRMUVVOR08wbEJRMFFzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0UlFVTXZRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdXVUZEYWtNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXp0TFFVTndSVHRKUVVORUxFOUJRVThzVFVGQlRTeERRVUZETzBGQlEyaENMRU5CUVVNN1FVRkZSQ3hyUmtGQmEwWTdRVUZEYkVZc1RVRkJUU3hWUVVGVkxGRkJRVkVzUTBGQlF5eExRVUZoTEVWQlFVVXNSMEZCVnl4RlFVRkZMRmxCUVZrc1IwRkJSeXhMUVVGTE8wbEJRM1pGTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWRCUVVjc1IwRkJSeXhMUVVGTExFZEJRVWNzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEY0VRc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkZkRU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETjBJc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkZlRUlzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1QwRkJUeXhEUVVGRExFMUJRV0VzUlVGQlJTeFBRVUZQTEVkQlFVY3NTMEZCU3p0SlFVTndSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJVU3hGUVVGRkxFTkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlVTeEZRVUZGTEVOQlFWRXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGRrY3NUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGTkxFVkJRVVVzUTBGQlV5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEhGQ1FVRnhRanRKUVVOc1JTeE5RVUZOTEU5QlFVOHNSMEZCUnl4RFFVRkRMRU5CUVZFc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc2JVSkJRVzFDTzBsQlEzWkVMRTFCUVUwc1VVRkJVU3hIUVVGSExFTkJRVU1zUjBGQlZTeEZRVUZGTEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdTVUZETVVVc1QwRkJUeXhSUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdRVUZETVVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1owSkJRV2RDTEVOQlFVTXNUVUZCWXl4RlFVRkZMRU5CUVZNc1JVRkJSU3hKUVVGM1F6dEpRVU5zUnl4VFFVRlRMRXRCUVVzc1EwRkJReXhOUVVGblF5eEZRVUZGTEU5QlFUaENPMUZCUXpkRkxFbEJRVWtzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXp0UlFVTndRaXhKUVVGSkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZGZEVJc1MwRkJTeXhOUVVGTkxFOUJRVThzU1VGQlNTeE5RVUZOTEVWQlFVVTdXVUZETlVJc1RVRkJUU3hqUVVGakxFZEJRVWNzVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMWxCUTNoRExFbEJRVWtzVlVGQlZTeEpRVUZKTEVsQlFVa3NTVUZCU1N4alFVRmpMRWRCUVVjc1ZVRkJWU3hGUVVGRk8yZENRVU55UkN4UlFVRlJMRWRCUVVjc1QwRkJUeXhEUVVGRE8yZENRVU51UWl4VlFVRlZMRWRCUVVjc1kwRkJZeXhEUVVGRE8yRkJRemRDTzFOQlEwWTdVVUZEUkN4UFFVRlBMRkZCUVZFc1EwRkJRenRKUVVOc1FpeERRVUZETzBsQlJVUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhUUVVGVExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRka01zVFVGQlRTeFZRVUZWTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVVM1FpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVFVGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZPMUZCUXk5Q0xFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOeVFpeFZRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wdEJRM0pDTzBsQlJVUXNUMEZCVHl4TlFVRk5MRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUlVGQlJUdFJRVU40UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhMUVVGTExFTkJRMllzVlVGQlZTeERRVUZETEUxQlFVMHNSVUZCT0VJc1JVRkRMME1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NSVUZCUlN4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExGVkJRVk1zUjBGQlJ5eEZRVUZGTEV0QlFVczdXVUZEZUVRc1QwRkJUeXhKUVVGSkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTNSQ0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTlFMRWxCUVVrc1IwRkJSeXhGUVVGRk8xbEJRMUFzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOcVFpeFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xTkJRM2hDTzB0QlEwWTdTVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUTdPenM3TzBkQlMwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1UwRkJVeXhEUVVGRExFbEJRVms3U1VGRGNFTXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVU40UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRFdpeEpRVUZKTEZsQlFWa3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkZja0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0UlFVTTFRaXhIUVVGSExFbEJRVWtzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTJZc1dVRkJXU3hKUVVGSkxGTkJRVUVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkpMRU5CUVVNc1EwRkJRU3hEUVVGRE8wdEJRemxDTzBsQlJVUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF6dEpRVU4yUWl4TlFVRk5MR0ZCUVdFc1IwRkJSeXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc1IwRkJSeXhIUVVGSExGTkJRVUVzU1VGQlNTeEZRVUZKTEVOQlFVTXNRMEZCUVN4RFFVRkRMRU5CUVVNN1NVRkZkRVVzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETVVJc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEdGQlFXRXNRMEZCUXp0SlFVVTNReXhQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5rTEVOQlFVTTdRVUZGUkRzN096czdSMEZMUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3hoUVVGaExFTkJRVU1zUTBGQlVTeEZRVUZGTEVOQlFWRTdTVUZET1VNc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRlRUlzVDBGQlR5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTnlSU3hEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIdE5ZWFJ5YVhnc0lGWmxZM1J2Y2l3Z1EyOXZjbVJwYm1GMFpYTXNJRlpsWTNSdmNuTXNJRVJwYzNSaGJtTmxUV1YwY21samZTQm1jbTl0SUNjdUwzUjVjR1V0WkdWamJHRnlZWFJwYjI1ekp6dGNibWx0Y0c5eWRDQjdjbUZ1Wkc5dFJteHZZWFFzSUhKaGJtUnZiVWx1ZEgwZ1puSnZiU0FuTGk5eVlXNWtiMjBuTzF4dVhHNHZLaXBjYmlBcUlFRnpjMlZ5ZEhNZ1lTQmpiMjVrYVhScGIyNGdZbmtnZEdoeWIzZHBibWNnWVc0Z1JYSnliM0l1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYlkyOXVaR2wwYVc5dVBXWmhiSE5sWFNCRGIyNWthWFJwYjI0Z2RHOGdZWE56WlhKMExseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR0WlhOellXZGxQU2RCYzNObGNuUnBiMjRnWlhKeWIzSXVKMTBnVFdWemMyRm5aU0IwYnlCdmRYUndkWFF1WEc0Z0tpQkFkR2h5YjNkeklIdEZjbkp2Y24xY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0Z6YzJWeWRDaGpiMjVrYVhScGIyNDZJR0p2YjJ4bFlXNGdQU0JtWVd4elpTd2diV1Z6YzJGblpUb2djM1J5YVc1bklEMGdKMEZ6YzJWeWRHbHZiaUJsY25KdmNpNG5LU0I3WEc0Z0lHbG1JQ2doWTI5dVpHbDBhVzl1S1Z4dUlDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaHRaWE56WVdkbEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCRGNtVmhkR1Z6SUc1bGR5QjBkMjh0WkdsdFpXNXphVzl1WVd3Z1lYSnlZWGtnWVc1a0lHWnBiR3h6SUdsMElIZHBkR2dnZEdobElIWmhiSFZsSUdkcGRtVnVMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmthVzFsYm5OcGIyNHhJRlJvWlNCbWFYSnpkQ0JrYVcxbGJuTnBiMjRnYjJZZ2RHaGxJR052YjNKa2FXNWhkR1Z6SUNodWRXMWlaWElnYjJZZ2NtOTNjeWt1WEc0Z0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1pHbHRaVzV6YVc5dU1pQlVhR1VnYzJWamIyNWtJR1JwYldWdWMybHZiaUJ2WmlCMGFHVWdZMjl2Y21ScGJtRjBaWE1nS0c1MWJXSmxjaUJ2WmlCamIyeDFiVzV6S1M1Y2JpQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmJabWxzYkQwd1hTQkJJSFpoYkhWbElIUnZJR1pwYkd3Z2RHaGxJR052YjNKa2FXNWhkR1Z6SUhkcGRHZ3VYRzRnS2lCQWNtVjBkWEp1SUh0RGIyOXlaR2x1WVhSbGMzMGdRU0IwZDI4dFpHbHRaVzV6YVc5dVlXd2dabWxzYkdWa0lIZHBkR2dnZEdobElIWmhiSFZsSUdkcGRtVnVMbHh1SUNvZ1FIUnZaRzhnVFdsbmFIUWdZbVVnYzJ4dmR5QnphVzVqWlNCMWMyVmtJRUZ5Y21GNUxtMWhjQzRnVUhKdlltRmliSGtnYm1WbFpITWdjR1Z5Wm05eWJXRnVZMlVnY21WMmFYTnBiMjR1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBibWwwUTI5dmNtUnBibUYwWlhNb1pHbHRaVzV6YVc5dU1Ub2diblZ0WW1WeUxDQmthVzFsYm5OcGIyNHlPaUJ1ZFcxaVpYSXNJR1pwYkd3NklHNTFiV0psY2lBOUlEQXBPaUJEYjI5eVpHbHVZWFJsY3lCN1hHNGdJSEpsZEhWeWJpQnVaWGNnUVhKeVlYa29aR2x0Wlc1emFXOXVNU2t1Wm1sc2JDaG1hV3hzS1M1dFlYQW9LQ2tnUFQ0Z0tHNWxkeUJXWldOMGIzSW9aR2x0Wlc1emFXOXVNaWt1Wm1sc2JDaG1hV3hzS1NrcE8xeHVmVnh1WEc0dktpcGNiaUFxSUZSeVlXNXpjRzl6WlNCdFlYUnlhWGd1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0TllYUnlhWGg5SUcxaGRISnBlQ0JVYUdVZ2JXRjBjbWw0SUhSdklHSmxJSFJ5WVc1emNHOXpaV1F1WEc0Z0tpQkFjbVYwZFhKdUlIdE5ZWFJ5YVhoOUlGUnlZVzV6Y0c5elpXUWdiV0YwY21sNExseHVJQ29nUUhSdlpHOGdUV2xuYUhRZ1ltVWdjMnh2ZHlCemFXNWpaU0IxYzJWa0lFRnljbUY1TG0xaGNDNGdVSEp2WW1GaWJIa2dibVZsWkhNZ2NHVnlabTl5YldGdVkyVWdjbVYyYVhOcGIyNHVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMGNtRnVjM0J2YzJWTllYUnlhWGdvYldGMGNtbDRPaUJOWVhSeWFYZ3BPaUJOWVhSeWFYZ2dlMXh1SUNCeVpYUjFjbTRnYm1WM0lFRnljbUY1S0cxaGRISnBlRnN3WFM1c1pXNW5kR2dwTG1acGJHd29NQ2xjYmlBZ0lDQXViV0Z3S0NoZkxDQnBLU0E5UGlBb2JtVjNJRlpsWTNSdmNpaHRZWFJ5YVhndWJHVnVaM1JvS1M1bWFXeHNLREFwTG0xaGNDZ29YeXdnYWlrZ1BUNGdLRzFoZEhKcGVGdHFYVnRwWFNrcEtTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FXUmtjeUIwZDI4Z2RtVmpkRzl5Y3lCM2FYUm9JSFJvWlNCelpXTnZibVFnYjI1bElIUnZJR0psSUcxMWJIUnBjR3hwWldRZ1lua2dkR2hsSUdkcGRtVnVJSEpoZEdsdkxseHVJQ3BjYmlBcUlFQmxlSEJ2Y25SY2JpQXFJRUJ3WVhKaGJTQjdWbVZqZEc5eWZTQndJRlJvWlNCbWFYSnpkQ0IyWldOMGIzSWdkRzhnWVdSa0xseHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSjlJSEVnVkdobElITmxZMjl1WkNCMlpXTjBiM0lnZEc4Z1lXUmtMbHh1SUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUZ0dGRXeDBhWEJzYVdWeVBURmRJRUVnYlhWc2RHbHdiR2xsY2lCMGJ5QmlaU0IxYzJWa0lHSmxabTl5WlNCMGFHVWdjMlZqYjI1a0lIWmxZM1J2Y2lCcGN5QmhaR1JsWkM1Y2JpQXFJRUJ5WlhSMWNtNGdlMVpsWTNSdmNuMGdUbVYzSUhabFkzUnZjaUJqYjI1MFlXbHVaV1FnZEdobElISmxjM1ZzZENCdlppQnZjR1Z5WVhScGIyNGdjQ3R0ZFd4MGFYQnNhV1Z5S25FdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIyWldOMGIzSkJaR1FvY0RvZ1ZtVmpkRzl5TENCeE9pQldaV04wYjNJc0lHMTFiSFJwY0d4cFpYSTZJRzUxYldKbGNpQTlJREVwT2lCV1pXTjBiM0lnZTF4dUlDQmpiMjV6ZENCdVNYUmxiWE1nUFNCd0xteGxibWQwYUR0Y2JseHVJQ0JoYzNObGNuUW9ia2wwWlcxeklEMDlJSEV1YkdWdVozUm9MQ0FuVm1WamRHOXlJR3hsYm1kMGFITWdaRzhnYm05MElHMWhkR05vTGljcE8xeHVYRzRnSUdOdmJuTjBJSFJ2ZEdGc0lEMGdibVYzSUZabFkzUnZjaWh1U1hSbGJYTXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2djQzVzWlc1bmRHZzdJQ3NyYVNsY2JpQWdJQ0IwYjNSaGJGdHBYU0E5SUhCYmFWMGdLeUJ0ZFd4MGFYQnNhV1Z5SUNvZ2NWdHBYVHRjYmx4dUlDQnlaWFIxY200Z2RHOTBZV3c3WEc1OVhHNWNiaThxS2x4dUlDb2dVM1Z0Y3lCMGFHVWdkbVZqZEc5eUozTWdhWFJsYlhNdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0o5SUhZZ1ZHaGxJSFpsWTNSdmNpQjBieUJpWlNCemRXMXRaV1F1WEc0Z0tpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOUlGUm9aU0IyWldOMGIzSW5jeUJwZEdWdGN5QnpkVzB1WEc0Z0tpOWNibVoxYm1OMGFXOXVJR2wwWlcxelUzVnRLSFk2SUZabFkzUnZjaWs2SUc1MWJXSmxjaUI3WEc0Z0lHeGxkQ0IwYjNSaGJDQTlJREE3WEc1Y2JpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IyTG14bGJtZDBhRHNnS3l0cEtWeHVJQ0FnSUhSdmRHRnNJQ3M5SUhaYmFWMDdYRzVjYmlBZ2NtVjBkWEp1SUhSdmRHRnNPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGTjFjV0Z5WlhNZ2RHaGxJSFpsWTNSdmNpZHpJR2wwWlcxekxseHVJQ3BjYmlBcUlFQndZWEpoYlNCN1ZtVmpkRzl5ZlNCMklGUm9aU0IyWldOMGIzSWdkRzhnYzNGMVlYSmxMbHh1SUNvZ1FISmxkSFZ5YmlCN1ZtVmpkRzl5ZlNCQklHNWxkeUIyWldOMGIzSWdZMjl1ZEdGcGJtbHVaeUIwYUdVZ2IzSnBaMmx1WVd3bmN5QnBkR1Z0Y3lCemNYVmhjbVZrTGx4dUlDb3ZYRzVtZFc1amRHbHZiaUIyWldOMGIzSlRjWFZoY21Vb2Rqb2dWbVZqZEc5eUtUb2dWbVZqZEc5eUlIdGNiaUFnWTI5dWMzUWdia2wwWlcxeklEMGdkaTVzWlc1bmRHZzdYRzRnSUdOdmJuTjBJSFJ2ZEdGc0lEMGdibVYzSUZabFkzUnZjaWh1U1hSbGJYTXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dkaTVzWlc1bmRHZzdJQ3NyYVNsY2JpQWdJQ0IwYjNSaGJGdHBYU0E5SUhaYmFWMGdLaUIyVzJsZE8xeHVYRzRnSUhKbGRIVnliaUIwYjNSaGJEdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhabFkzUnZja3hsYm1kMGFDaDJPaUJXWldOMGIzSXBPaUJ1ZFcxaVpYSWdlMXh1SUNCc1pYUWdjM0Z5VTNWdE9pQnVkVzFpWlhJZ1BTQXdPMXh1SUNCbWIzSWdLR3hsZENCcE9pQnVkVzFpWlhJZ1BTQXdPeUJwSUR3Z2RpNXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQnpjWEpUZFcwZ0t6MGdkbHRwWFNBcUlIWmJhVjA3WEc0Z0lISmxkSFZ5YmlCTllYUm9Mbk54Y25Rb2MzRnlVM1Z0S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFpsWTNSdmNrUnZkRkJ5YjJSMVkzUW9kakU2SUZabFkzUnZjaXdnZGpJNklGWmxZM1J2Y2lrNklHNTFiV0psY2lCN1hHNGdJR2xtSUNoMk1TNXNaVzVuZEdnZ0lUMGdkakl1YkdWdVozUm9LVnh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblZHaGxJR1JwYldWdWMybHZibUZzYVhSNUlHOW1JSFJvWlNCMlpXTjBiM0p6SUcxMWMzUWdiV0YwWTJnbktUdGNiaUFnYkdWMElIQnliMlE2SUc1MWJXSmxjaUE5SURBN1hHNGdJR1p2Y2lBb2JHVjBJR2s2SUc1MWJXSmxjaUE5SURBN0lHa2dQQ0IyTVM1c1pXNW5kR2c3SUdrckt5bGNiaUFnSUNCd2NtOWtJQ3M5SUhZeFcybGRJQ29nZGpKYmFWMDdYRzRnSUhKbGRIVnliaUJ3Y205a08xeHVmVnh1WEc0dktpcGNiaUFxSUVOeVpXRjBaWE1nWVNCdFlYUnlhWGdnWm1sc2JHVmtJSGRwZEdnZ2NtRnVaRzl0SUdac2IyRjBhVzVuSUhCdmFXNTBJSFpoYkhWbGN5NWNiaUFxWEc0Z0tpQkFaWGh3YjNKMFhHNGdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdaR2x0Wlc1emFXOXVNU0JVYUdVZ1ptbHljM1FnWkdsdFpXNXphVzl1SUc5bUlIUm9aU0J0WVhSeWFYZ3VYRzRnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnWkdsdFpXNXphVzl1TWlCVWFHVWdjMlZqYjI1a0lHUnBiV1Z1YzJsdmJpQnZaaUIwYUdVZ2JXRjBjbWw0TGx4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlGdHpZMkZzWlQweExsMGdUV0Y0SUhaaGJIVmxJR2RwZG1WdUlHSjVJSEpoYm1SdmJTQm5aVzVsY21GMGIzSXVYRzRnS2lCQWNtVjBkWEp1SUh0TllYUnlhWGg5SUVFZ2JtVjNJRzFoZEhKcGVDQm1hV3hzWldRZ2QybDBhQ0J5WVc1a2IyMGdabXh2WVhScGJtY2djRzlwYm5RZ0lIWmhiSFZsY3k1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1pwYkd4U1lXNWtiMjFOWVhSeWFYZ29aR2x0Wlc1emFXOXVNVG9nYm5WdFltVnlMQ0JrYVcxbGJuTnBiMjR5T2lCdWRXMWlaWElzSUhOallXeGxPaUJ1ZFcxaVpYSWdQU0F4TGlrNklFMWhkSEpwZUNCN1hHNGdJR052Ym5OMElHMWhkSEpwZUNBOUlHbHVhWFJEYjI5eVpHbHVZWFJsY3loa2FXMWxibk5wYjI0eExDQmthVzFsYm5OcGIyNHlLVHRjYmx4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR1JwYldWdWMybHZiakU3SUNzcmFTa2dlMXh1SUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2daR2x0Wlc1emFXOXVNanNnS3l0cUtWeHVJQ0FnSUNBZ2JXRjBjbWw0VzJsZFcycGRJRDBnY21GdVpHOXRSbXh2WVhRb2MyTmhiR1VwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ0WVhSeWFYZzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1EyRnNZM1ZzWVhSbGN5QkZkV05zYVdSbFlXNGdaR2x6ZEdGdVkyVWdZbVYwZDJWbGJpQjBkMjhnZG1WamRHOXljeTVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQWNHRnlZVzBnZTFabFkzUnZjbjBnY0NCVWFHVWdabWx5YzNRZ2RtVmpkRzl5TGx4dUlDb2dRSEJoY21GdElIdFdaV04wYjNKOUlIRWdWR2hsSUhObFkyOXVaQ0IyWldOMGIzSXVYRzRnS2lCQWNtVjBkWEp1SUh0dWRXMWlaWEo5SUVWMVkyeHBaR1ZoYmlCa2FYTjBZVzVqWlNCaVpYUjNaV1Z1SUhSb1pTQm5hWFpsYmlCMlpXTjBiM0p6TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZzWTNWc1lYUmxSWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVW9jRG9nVm1WamRHOXlMQ0J4T2lCV1pXTjBiM0lwT2lCdWRXMWlaWElnZTF4dUlDQnNaWFFnY21WemRXeDBJRDBnTUR0Y2JpQWdZMjl1YzNRZ2JHVnVJRDBnY0M1c1pXNW5kR2c3WEc1Y2JpQWdhV1lnS0d4bGJpQWhQVDBnY1M1c1pXNW5kR2dwWEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFVhR1VnWkdsdFpXNXphVzl1WVd4cGRIa2diMllnZEdobElIWmxZM1J2Y25NZ2JYVnpkQ0J0WVhSamFDY3BPMXh1SUNCY2JpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JzWlc0N0lDc3JhU2xjYmlBZ0lDQnlaWE4xYkhRZ0t6MGdLSEJiYVYwZ0xTQnhXMmxkS1NBcUtpQXlPMXh1SUNCY2JpQWdjbVYwZFhKdUlFMWhkR2d1YzNGeWRDaHlaWE4xYkhRcE8xeHVmVnh1WEc0dktpcGNiaUFxSUVOeVpXRjBaWE1nWVNCa2FYTjBZVzVqWlNCdFlYUnlhWGdnZFhOcGJtY2dZU0JqZFhOMGIyMGdaR2x6ZEdGdVkyVWdablZ1WTNScGIyNHVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSnpmU0JrWVhSaElFbHVjSFYwSUhabFkzUnZjbk1nZEc4Z1kyRnNZM1ZzWVhSbElHUnBjM1JoYm1ObGN5NWNiaUFxSUVCd1lYSmhiU0I3UkdsemRHRnVZMlZOWlhSeWFXTjlJR1JwYzNSaGJtTmxJRU4xYzNSdmJTQmthWE4wWVc1alpTQm1kVzVqZEdsdmJpNWNiaUFxSUVCeVpYUjFjbTRnZTAxaGRISnBlSDBnUTJGc1kzVnNZWFJsWkNCamRYTjBiMjBnWkdsemRHRnVZMlVnYldGMGNtbDRMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1kyRnNZMFJwYzNSaGJtTmxUV0YwY21sNEtHUmhkR0U2SUZabFkzUnZjbk1zSUdScGMzUmhibU5sT2lCRWFYTjBZVzVqWlUxbGRISnBZeWs2SUUxaGRISnBlQ0I3WEc0Z0lHTnZibk4wSUc1SmRHVnRjeUE5SUdSaGRHRXViR1Z1WjNSb08xeHVJQ0JqYjI1emRDQnRZWFJ5YVhnZ1BTQnBibWwwUTI5dmNtUnBibUYwWlhNb2JrbDBaVzF6TENCdVNYUmxiWE1zSURBcE8xeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JrbDBaVzF6T3lBcksya3BJSHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnYVNBcklERTdJR29nUENCdVNYUmxiWE03SUNzcmFpa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1pEb2diblZ0WW1WeUlEMGdLR1JoZEdGYmFWMGdQVDBnYm5Wc2JDa2dmSHdnS0dSaGRHRmJhbDBnUFQwZ2JuVnNiQ2tnUHlBd0lEb2daR2x6ZEdGdVkyVW9aR0YwWVZ0cFhTd2daR0YwWVZ0cVhTazdYRzRnSUNBZ0lDQnRZWFJ5YVhoYmFWMWJhbDBnUFNCdFlYUnlhWGhiYWwxYmFWMGdQU0JrTzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdiV0YwY21sNE8xeHVmVnh1WEc0dktpcGNiaUFxSUVOeVpXRjBaWE1nWVNCa2FYTjBZVzVqWlNCdFlYUnlhWGdnZFhOcGJtY2dZU0JqZFhOMGIyMGdaR2x6ZEdGdVkyVWdablZ1WTNScGIyNHVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSnpmU0JrWVhSaElFbHVjSFYwSUhabFkzUnZjbk1nZEc4Z1kyRnNZM1ZzWVhSbElHUnBjM1JoYm1ObGN5NWNiaUFxSUVCd1lYSmhiU0I3UkdsemRHRnVZMlZOWlhSeWFXTjlJR1JwYzNSaGJtTmxJRU4xYzNSdmJTQmthWE4wWVc1alpTQm1kVzVqZEdsdmJpNWNiaUFxSUVCeVpYUjFjbTRnZTAxaGRISnBlSDBnUTJGc1kzVnNZWFJsWkNCamRYTjBiMjBnWkdsemRHRnVZMlVnYldGMGNtbDRMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1kyRnNZMDV2Y20xaGJHbDZaV1JFYVhOMFlXNWpaVTFoZEhKcGVDaGtZWFJoT2lCV1pXTjBiM0p6TENCa2FYTjBZVzVqWlRvZ1JHbHpkR0Z1WTJWTlpYUnlhV01wT2lCTllYUnlhWGdnZTF4dUlDQmpiMjV6ZENCdVNYUmxiWE1nUFNCa1lYUmhMbXhsYm1kMGFEdGNiaUFnWTI5dWMzUWdiV0YwY21sNElEMGdhVzVwZEVOdmIzSmthVzVoZEdWektHNUpkR1Z0Y3l3Z2JrbDBaVzF6TENBd0tUdGNiaUFnYkdWMElHMWhlQ0E5SUU1MWJXSmxjaTVOU1U1ZlZrRk1WVVU3WEc0Z0lHeGxkQ0J0YVc0Z1BTQk9kVzFpWlhJdVRVRllYMVpCVEZWRk8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUc1SmRHVnRjenNnS3l0cEtTQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJR2s3SUdvZ1BDQnVTWFJsYlhNN0lDc3JhaWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaRG9nYm5WdFltVnlJRDBnS0dSaGRHRmJhVjBnUFQwZ2JuVnNiQ2tnZkh3Z0tHUmhkR0ZiYWwwZ1BUMGdiblZzYkNCOGZDQnBJRDA5UFNCcUtTQS9JREFnT2lCa2FYTjBZVzVqWlNoa1lYUmhXMmxkTENCa1lYUmhXMnBkS1R0Y2JpQWdJQ0FnSUcxaGRISnBlRnRwWFZ0cVhTQTlJRzFoZEhKcGVGdHFYVnRwWFNBOUlHUTdYRzRnSUNBZ0lDQnBaaUFvWkNBK0lHMWhlQ2tnYldGNElEMGdaRHRjYmlBZ0lDQWdJR2xtSUNoa0lEd2diV2x1S1NCdGFXNGdQU0JrTzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUc1SmRHVnRjenNnS3l0cEtTQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJR2tnS3lBeE95QnFJRHdnYmtsMFpXMXpPeUFySzJvcFhHNGdJQ0FnSUNCdFlYUnlhWGhiYVYxYmFsMGdQU0J0WVhSeWFYaGJhbDFiYVYwZ1BTQW9iV0YwY21sNFcybGRXMnBkSUMwZ2JXbHVLU0F2SUNodFlYZ2dMU0J0YVc0cE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdFlYUnlhWGc3WEc1OVhHNWNiaThxS2lCSFpXNWxjbUYwWlhNZ1lYSnlZWGtnWm5KdmJTQmhJSEpoYm1kbElGdGlaV2RwYmpzZ1pXNWtYU0J2Y2lCYlltVm5hVzQ3SUdWdVpDa2dhV1lnWlc1a1JYaGpiSFZ6YVhabExpQXFLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJuWlc1U1lXNW5aU2hpWldkcGJqb2diblZ0WW1WeUxDQmxibVE2SUc1MWJXSmxjaXdnWlc1a1JYaGpiSFZ6YVhabElEMGdabUZzYzJVcE9pQkpiblF6TWtGeWNtRjVJSHRjYmlBZ1kyOXVjM1FnYmtsMFpXMXpJRDBnWlc1a0lDMGdZbVZuYVc0Z0t5QW9aVzVrUlhoamJIVnphWFpsSUQ4Z01DQTZJREVwTzF4dUlDQmpiMjV6ZENCelpYSnBaWE1nUFNCdVpYY2dTVzUwTXpKQmNuSmhlU2h1U1hSbGJYTXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dia2wwWlcxek95QXJLMmtwWEc0Z0lDQWdjMlZ5YVdWelcybGRJRDBnWW1WbmFXNGdLeUJwTzF4dVhHNGdJSEpsZEhWeWJpQnpaWEpwWlhNN1hHNTlYRzVjYmk4cUtseHVJQ29nVW1WMGRYSnVjeUJ2Y21SbGNpQnZaaUIyWVd4MVpYTWdZWE1nYVdZZ2RHaGxlU0JoY21VZ2MyOXlkR1ZrTGx4dUlDcGNiaUFxSUVCbGVIQnZjblJjYmlBcUlFQndZWEpoYlNCN1lXNTVXMTE5SUhaaGJIVmxjeUJKYm5CMWRDQmhjbkpoZVM1Y2JpQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXM0psZG1WeWMyVTlabUZzYzJWZElGZG9aWFJvWlhJZ2RHOGdjbVYwZFhKdUlISmxkbVZ5YzJWa0lHOXlaR1Z5TGx4dUlDb2dRSEpsZEhWeWJpQjdiblZ0WW1WeVcxMTlJRlJvWlNCdmNtUmxjaUJqYjIxd2RYUmxaQzVjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHRnlaMU52Y25Rb2RtRnNkV1Z6T2lCaGJubGJYU3dnY21WMlpYSnpaU0E5SUdaaGJITmxLVG9nYm5WdFltVnlXMTBnZTF4dUlDQmpiMjV6ZENCemIzSjBabTRnUFNCeVpYWmxjbk5sSUQ4Z0tHRTZJR0Z1ZVZ0ZExDQmlPaUJoYm5sYlhTa2dQVDRnS0dKYk1GMGdMU0JoV3pCZEtTQTZJQ2hoT2lCaGJubGJYU3dnWWpvZ1lXNTVXMTBwSUQwK0lDaGhXekJkSUMwZ1lsc3dYU2s3WEc0Z0lHTnZibk4wSUdSbFkyOXlJRDBnS0hZNklHRnVlU3dnYVRvZ2JuVnRZbVZ5S1NBOVBpQmJkaXdnYVYwN0lDOHZJSE5sZENCcGJtUmxlQ0IwYnlCMllXeDFaVnh1SUNCamIyNXpkQ0IxYm1SbFkyOXlJRDBnS0dFNklHRnVlVnRkS1NBOVBpQmhXekZkT3lBdkx5QnNaV0YyWlNCdmJteDVJR2x1WkdWNFhHNGdJR052Ym5OMElGOWhjbWR6YjNKMElEMGdLR0Z5Y2pvZ1lXNTVXMTBwSUQwK0lHRnljaTV0WVhBb1pHVmpiM0lwTG5OdmNuUW9jMjl5ZEdadUtTNXRZWEFvZFc1a1pXTnZjaWs3WEc0Z0lISmxkSFZ5YmlCZllYSm5jMjl5ZENoMllXeDFaWE1wTzF4dWZWeHVYRzR2S2lwY2JpQXFJRkpsZEhWeWJuTWdkR2hsSUdsdVpHVjRaWE1nYjJZZ2RHaGxJRzF2YzNRZ1pHbDJaWEp6WlNCdlltcGxZM1J6SUdGalkyOXlaR2x1WnlCMGJ5QjBhR1VnWkdsemRDQm1kVzVqZEdsdmJseHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJR3hsYm1kMGFDQjBiM1JoYkNCdWRXMWlaWElnYjJZZ2IySnFaV04wYzF4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlHNGdiblZ0WW1WeUlHOW1JR1JwZG1WeWMyVWdaV3hsYldWdWRITWdkRzhnWm1sdVpGeHVJQ29nUUhCaGNtRnRJSHNvYVRFNklHNTFiV0psY2l3Z2FUSTZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlmU0JrYVhOMElHRWdablZ1WTNScGIyNGdkMmhwWTJnZ1kyRnNZM1ZzWVhSbGN5QmthWE4wWVc1alpTQmlaWFIzWldWdVhHNGdLaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RIZHZJRzlpYW1WamRITWdkWE5wYm1jZ2RHaGxhWElnYVc1a1pYaGxjMXh1SUNvZ1FISmxkSFZ5Ym5NZ2UyNTFiV0psY2x0ZGZTQlVhR1VnYVc1a1pYaGxjeUJ2WmlCMGFHVWdiVzl6ZENCa2FYWmxjbk5sSUc5aWFtVmpkSE5jYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZGxkRVJwZG1WeWMyVlRkV0p6WlhRb2JHVnVaM1JvT2lCdWRXMWlaWElzSUc0NklHNTFiV0psY2l3Z1pHbHpkRG9nS0dreE9pQnVkVzFpWlhJc0lHa3lPaUJ1ZFcxaVpYSXBJRDArSUc1MWJXSmxjaWs2SUc1MWJXSmxjbHRkSUh0Y2JpQWdablZ1WTNScGIyNGdiV0Y0UW5rb2RtRnNkV1Z6T2lCSmRHVnlZV0pzWlVsMFpYSmhkRzl5UEc1MWJXSmxjajRzSUc5eVpHVnlRbms2SUNocE9pQnVkVzFpWlhJcElEMCtJRzUxYldKbGNpa2dlMXh1SUNBZ0lHeGxkQ0J0WVhoV1lXeDFaU0E5SUc1MWJHdzdYRzRnSUNBZ2JHVjBJRzFoZUU5eVpHVnlRbmtnUFNCdWRXeHNPMXh1WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0JsYkdWdFpXNTBJRzltSUhaaGJIVmxjeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaV3hsYldWdWRFOXlaR1Z5UW5rZ1BTQnZjbVJsY2tKNUtHVnNaVzFsYm5RcE8xeHVJQ0FnSUNBZ2FXWWdLRzFoZUU5eVpHVnlRbmtnUFQwZ2JuVnNiQ0I4ZkNCbGJHVnRaVzUwVDNKa1pYSkNlU0ErSUcxaGVFOXlaR1Z5UW5rcElIdGNiaUFnSUNBZ0lDQWdiV0Y0Vm1Gc2RXVWdQU0JsYkdWdFpXNTBPMXh1SUNBZ0lDQWdJQ0J0WVhoUGNtUmxja0o1SUQwZ1pXeGxiV1Z1ZEU5eVpHVnlRbms3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdFlYaFdZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lHTnZibk4wSUhOMVluTmxkQ0E5SUZ0eVlXNWtiMjFKYm5Rb2JHVnVaM1JvSUMwZ01TbGRPMXh1SUNCamIyNXpkQ0JqYjIxd2JHVnRaVzUwSUQwZ2JtVjNJRk5sZENncE8xeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQnBaaUFvSVhOMVluTmxkQzVwYm1Oc2RXUmxjeWhwS1NsY2JpQWdJQ0FnSUdOdmJYQnNaVzFsYm5RdVlXUmtLR2twTzF4dUlDQjlYRzVjYmlBZ2QyaHBiR1VnS0hOMVluTmxkQzVzWlc1bmRHZ2dQQ0J1S1NCN1hHNGdJQ0FnWTI5dWMzUWdhV1I0SUQwZ2JXRjRRbmtvWEc0Z0lDQWdJQ0JqYjIxd2JHVnRaVzUwTG5aaGJIVmxjeWdwSUdGeklFbDBaWEpoWW14bFNYUmxjbUYwYjNJOGJuVnRZbVZ5UGl4Y2JpQWdJQ0FnSUNocEtTQTlQaUJOWVhSb0xtMXBiaTVoY0hCc2VTaE5ZWFJvTENCemRXSnpaWFF1YldGd0tHWjFibU4wYVc5dUtIWmhiQ3dnYVc1a1pYZ3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JwYzNRb2FTd2dkbUZzS1R0Y2JpQWdJQ0FnSUgwcEtTazdYRzRnSUNBZ2FXWWdLR2xrZUNrZ2UxeHVJQ0FnSUNBZ2MzVmljMlYwTG5CMWMyZ29hV1I0S1R0Y2JpQWdJQ0FnSUdOdmJYQnNaVzFsYm5RdVpHVnNaWFJsS0dsa2VDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCemRXSnpaWFE3WEc1OVhHNWNiaThxS2x4dUlDb2dVbVYwZFhKdWN5QnViM0p0WVd4cGVtVmtJSFpsWTNSdmNpNWNiaUFxSUZ4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSjlJR1JoZEdFZ2JuVnRaWEpwWTJGc0lHRnljbUY1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVW9aR0YwWVRvZ1ZtVmpkRzl5S1RvZ1ZtVmpkRzl5SUh0Y2JpQWdZMjl1YzNRZ2JHVnVJRDBnWkdGMFlTNXNaVzVuZEdnN1hHNGdJR3hsZENCemRXMGdQU0F3TzF4dUlDQnNaWFFnYzNWdFQyWlRjWFZoY21WeklEMGdNRHRjYmx4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR3hsYmpzZ0t5dHBLU0I3WEc0Z0lDQWdjM1Z0SUNzOUlHUmhkR0ZiYVYwN1hHNGdJQ0FnYzNWdFQyWlRjWFZoY21WeklDczlJR1JoZEdGYmFWMGdLaW9nTWp0Y2JpQWdmVnh1WEc0Z0lHTnZibk4wSUcxbFlXNGdQU0J6ZFcwZ0x5QnNaVzQ3WEc0Z0lHTnZibk4wSUhOMFpFUmxka2x1ZG1WeWMyVWdQU0F4TGpBZ0x5Qk5ZWFJvTG5OeGNuUW9jM1Z0VDJaVGNYVmhjbVZ6SUM4Z2JHVnVJQzBnYldWaGJpQXFLaUF5S1R0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUd4bGJqc2dLeXRwS1Z4dUlDQWdJR1JoZEdGYmFWMGdQU0FvWkdGMFlWdHBYU0F0SUcxbFlXNHBJQ29nYzNSa1JHVjJTVzUyWlhKelpUdGNibHh1SUNCeVpYUjFjbTRnWkdGMFlUdGNibjFjYmx4dUx5b3FYRzRnS2lCR2FXNWtjeUJ6WlhRZ1pHbG1abVZ5Wlc1alpTQmlaWFIzWldWdUlIUjNieUJzYVhOMGN5NWNiaUFxSUVCd1lYSmhiU0I3WVc1NVcxMTlJR0VnVkdobElHWnBjbk4wSUd4cGMzUXVYRzRnS2lCQWNHRnlZVzBnZTJGdWVWdGRmU0JpSUZSb1pTQnpaV052Ym1RZ2JHbHpkQzVjYmlBcUlFQnlaWFIxY200Z2UyRnVlVnRkZlZ4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjMlYwUkdsbVptVnlaVzVqWlNoaE9pQmhibmxiWFN3Z1lqb2dZVzU1VzEwcE9pQmhibmxiWFNCN1hHNGdJR052Ym5OMElHSlRaWFFnUFNCdVpYY2dVMlYwS0dJcE8xeHVJQ0J5WlhSMWNtNGdRWEp5WVhrdVpuSnZiU2h1WlhjZ1UyVjBLR0V1Wm1sc2RHVnlLQ2g0S1NBOVBpQWhZbE5sZEM1b1lYTW9lQ2twS1M1MllXeDFaWE1vS1NrN1hHNTlYRzRpWFgwPSIsImltcG9ydCAqIGFzIGZsIGZyb20gJ2Zhc3Rlc3QtbGV2ZW5zaHRlaW4nO1xuaW1wb3J0IHsgamFyb1dpbmtsZXIgfSBmcm9tICdqYXJvLXdpbmtsZXItdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBhc3ltbWV0cmljRGlzdGFuY2UsIGJyYXVuQmxhbnF1ZXREaXN0YW5jZSwgY29zaW5lRGlzdGFuY2UsIGRpY2VEaXN0YW5jZSwgZXVjbGlkZWFuRGlzdGFuY2UsIGhhbW1pbmdEaXN0YW5jZSwga3VsY3p5bnNraURpc3RhbmNlLCBtY0Nvbm5hdWdoZXlEaXN0YW5jZSwgcm9nb3RHb2xkYmVyZ0Rpc3RhbmNlLCBydXNzZWxEaXN0YW5jZSwgc29rYWxEaXN0YW5jZSwgdGFuaW1vdG9EaXN0YW5jZSwgbnVtZXJpY0Rpc3RhbmNlLCB0YW5pbW90b0Rpc3RhbmNlSW50QXJyYXksIH0gZnJvbSAnLi4vZGlzdGFuY2UtbWV0cmljcy1tZXRob2RzJztcbmltcG9ydCB7IGNhbGN1bGF0ZUV1Y2xpZGVhbkRpc3RhbmNlIH0gZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvdmVjdG9yLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgbW1EaXN0YW5jZUZ1bmN0aW9ucywgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzIH0gZnJvbSAnLi4vbWFjcm9tb2xlY3VsZS1kaXN0YW5jZS1mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMsIEJpdEFycmF5TWV0cmljc05hbWVzLCBTdHJpbmdNZXRyaWNzTmFtZXMsIFZlY3Rvck1ldHJpY3NOYW1lcywgTnVtYmVyTWV0cmljc05hbWVzLCBJbnRBcnJheU1ldHJpY3NOYW1lcyB9IGZyb20gJy4vY29uc3RzJztcbmV4cG9ydCBjb25zdCB2ZWN0b3JEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogY2FsY3VsYXRlRXVjbGlkZWFuRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IHN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHMgPSB7XG4gICAgW1N0cmluZ01ldHJpY3NOYW1lcy5MZXZlbnNodGVpbl06IGZsLmRpc3RhbmNlLFxuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuSmFyb1dpbmtsZXJdOiBqYXJvV2lua2xlcixcbiAgICBbU3RyaW5nTWV0cmljc05hbWVzLk1hbmhhdHRhbl06IG1hbmhhdHRhbkRpc3RhbmNlLFxuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuT25laG90XTogY2F0ZWdvcmljYWxEaXN0YW5jZSxcbn07XG5leHBvcnQgY29uc3QgYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IHRhbmltb3RvRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdOiBkaWNlRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdOiBhc3ltbWV0cmljRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBicmF1bkJsYW5xdWV0RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV06IGNvc2luZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXToga3VsY3p5bnNraURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBtY0Nvbm5hdWdoZXlEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ106IHJvZ290R29sZGJlcmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXTogcnVzc2VsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogc29rYWxEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuSGFtbWluZ106IGhhbW1pbmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogZXVjbGlkZWFuRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IGludEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbSW50QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9JbnRBcnJheV06IHRhbmltb3RvRGlzdGFuY2VJbnRBcnJheSxcbn07XG5leHBvcnQgY29uc3QgbnVtYmVyRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbTnVtYmVyTWV0cmljc05hbWVzLkRpZmZlcmVuY2VdOiBudW1lcmljRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IEF2YWlsYWJsZU1ldHJpY3MgPSB7XG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLlZlY3Rvcl06IHtcbiAgICAgICAgW1ZlY3Rvck1ldHJpY3NOYW1lcy5FdWNsaWRlYW5dOiB2ZWN0b3JEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1ZlY3Rvck1ldHJpY3NOYW1lcy5FdWNsaWRlYW5dLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLlN0cmluZ106IHtcbiAgICAgICAgW1N0cmluZ01ldHJpY3NOYW1lcy5MZXZlbnNodGVpbl06IHN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHNbU3RyaW5nTWV0cmljc05hbWVzLkxldmVuc2h0ZWluXSxcbiAgICAgICAgW1N0cmluZ01ldHJpY3NOYW1lcy5KYXJvV2lua2xlcl06IHN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHNbU3RyaW5nTWV0cmljc05hbWVzLkphcm9XaW5rbGVyXSxcbiAgICAgICAgW1N0cmluZ01ldHJpY3NOYW1lcy5NYW5oYXR0YW5dOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5NYW5oYXR0YW5dLFxuICAgICAgICBbU3RyaW5nTWV0cmljc05hbWVzLk9uZWhvdF06IHN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHNbU3RyaW5nTWV0cmljc05hbWVzLk9uZWhvdF0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuQml0QXJyYXldOiB7XG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b10sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQXN5bW1ldHJpY106IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuQnJhdW5CbGFucXVldF0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkt1bGN6eW5za2ldOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ10sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5SdXNzZWxdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5NYWNyb01vbGVjdWxlXToge1xuICAgICAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkhBTU1JTkddOiBtbURpc3RhbmNlRnVuY3Rpb25zW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5IQU1NSU5HXSxcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5MRVZFTlNIVEVJTl06IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkxFVkVOU0hURUlOXSxcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5ORUVETEVNQU5OX1dVTlNDSF06IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk5FRURMRU1BTk5fV1VOU0NIXSxcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5NT05PTUVSX0NIRU1JQ0FMX0RJU1RBTkNFXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRV0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuTnVtYmVyXToge1xuICAgICAgICBbTnVtYmVyTWV0cmljc05hbWVzLkRpZmZlcmVuY2VdOiBudW1iZXJEaXN0YW5jZU1ldHJpY3NNZXRob2RzW051bWJlck1ldHJpY3NOYW1lcy5EaWZmZXJlbmNlXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5JbnRBcnJheV06IHtcbiAgICAgICAgW0ludEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvSW50QXJyYXldOiBpbnRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbSW50QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9JbnRBcnJheV0sXG4gICAgfVxufTtcbmV4cG9ydCBjb25zdCBNZXRyaWNUb0RhdGFUeXBlID0gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljcylcbiAgICAucmVkdWNlKChyZXQsIGtleSkgPT4ge1xuICAgIGZvciAoY29uc3QgdmFsIG9mIE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3Nba2V5XSkpXG4gICAgICAgIHJldFt2YWxdID0ga2V5O1xuICAgIHJldHVybiByZXQ7XG59LCB7fSk7XG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmdNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09ICdTdHJpbmcnO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQml0QXJyYXlNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09ICdCaXRBcnJheSc7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNWZWN0b3JNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09ICdWZWN0b3InO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTWFjcm9Nb2xlY3VsZU1ldHJpYyhuYW1lKSB7XG4gICAgcmV0dXJuIE1ldHJpY1RvRGF0YVR5cGVbbmFtZV0gPT0gRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuTWFjcm9Nb2xlY3VsZS50b1N0cmluZygpO1xufVxuLyoqIE1hbmhhdHRhbiBkaXN0YW5jZSBiZXR3ZWVuIHR3byBzZXF1ZW5jZXMgKG1hdGNoIC0gMCwgbWlzbWF0Y2ggLSAxKSBub3JtYWxpemVkIGZvciBsZW5ndGguICovXG5leHBvcnQgZnVuY3Rpb24gbWFuaGF0dGFuRGlzdGFuY2UoczEsIHMyKSB7XG4gICAgaWYgKHMxLmxlbmd0aCAhPT0gczIubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbGV0IGRpc3QgPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHMxLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgZGlzdCArPSBzMVtpXSA9PSBzMltpXSA/IDAgOiAxO1xuICAgICAgICByZXR1cm4gZGlzdCAvIHMxLmxlbmd0aDtcbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gY2F0ZWdvcmljYWxEaXN0YW5jZShzMSwgczIpIHtcbiAgICByZXR1cm4gczEgPT09IHMyID8gMCA6IDE7XG59XG4vKiogVW5pZmllZCBjbGFzcyBpbXBsZW1lbnRpbmcgZGlmZmVyZW50IHN0cmluZyBtZWFzdXJlcy4gKi9cbmV4cG9ydCBjbGFzcyBNZWFzdXJlIHtcbiAgICBtZXRob2Q7XG4gICAgZGF0YVR5cGU7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBNZWFzdXJlIHdpdGggLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2QgTWV0aG9kIHRvIGNhbGN1bGF0ZSBkaXN0YW5jZSBiZXR3ZWVuIHN0cmluZ3MuXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IobWV0aG9kKSB7XG4gICAgICAgIHRoaXMubWV0aG9kID0gbWV0aG9kO1xuICAgICAgICB0aGlzLmRhdGFUeXBlID0gTWV0cmljVG9EYXRhVHlwZVttZXRob2RdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1c3RvbSBzdHJpbmcgZGlzdGFuY2UgZnVuY3Rpb24gc3BlY2lmaWVkLlxuICAgICAqIEBwYXJhbSB7b3B0c30gb3B0cyBPcHRpb25zIGZvciB0aGUgbWVhc3VyZS4gdXNlZCBmb3IgbWFjcm9tb2xlY3VsZSBkaXN0YW5jZXNcbiAgICAgKiBAcmV0dXJuIHtEaXN0YW5jZU1ldHJpY30gQ2FsbGJhY2sgb2YgdGhlIG1lYXN1cmUgY2hvc2VuLlxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIGdldE1lYXN1cmUob3B0cykge1xuICAgICAgICBjb25zdCBkaWN0ID0gQXZhaWxhYmxlTWV0cmljcztcbiAgICAgICAgaWYgKCFkaWN0Lmhhc093blByb3BlcnR5KHRoaXMuZGF0YVR5cGUpIHx8ICFkaWN0W3RoaXMuZGF0YVR5cGVdLmhhc093blByb3BlcnR5KHRoaXMubWV0aG9kKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBtZWFzdXJlICR7dGhpcy5tZXRob2R9IGZvciBkYXRhIHR5cGUgJHt0aGlzLmRhdGFUeXBlfWApO1xuICAgICAgICByZXR1cm4gaXNNYWNyb01vbGVjdWxlTWV0cmljKHRoaXMubWV0aG9kKSA/XG4gICAgICAgICAgICBkaWN0W3RoaXMuZGF0YVR5cGVdW3RoaXMubWV0aG9kXShvcHRzKSA6XG4gICAgICAgICAgICBkaWN0W3RoaXMuZGF0YVR5cGVdW3RoaXMubWV0aG9kXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXN0b20gc3RyaW5nIGRpc3RhbmNlIGJ5IHRoZSBnaXZlbiBkYXRhIHR5cGUuXG4gICAgICogQHBhcmFtIHtBdmFpbGFibGVEYXRhVHlwZXN9IGRhdGFUeXBlIE1ldHJpYydzIGRhdGEgdHlwZVxuICAgICAqIEByZXR1cm4ge3N0cmluZ1tdfSBNZXRyaWMgbmFtZXMgd2hpY2ggZXhwZWN0cyB0aGUgZ2l2ZW4gZGF0YSB0eXBlXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgc3RhdGljIGdldE1ldHJpY0J5RGF0YVR5cGUoZGF0YVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3NbZGF0YVR5cGVdKTtcbiAgICB9XG4gICAgLyoqIFJldHVybnMgbWV0cmljIG5hbWVzIGF2YWlsYWJsZS5cbiAgICAgKiBAbWVtYmVyb2YgTWVhc3VyZXJcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0IGF2YWlsYWJsZU1lYXN1cmVzKCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljcyk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pXUXRiV1YwY21samN5NXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5SNWNHVmtMVzFsZEhKcFkzTXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1QwRkJUeXhMUVVGTExFVkJRVVVzVFVGQlRTeHhRa0ZCY1VJc1EwRkJRenRCUVVNeFF5eFBRVUZQTEVWQlFVTXNWMEZCVnl4RlFVRkRMRTFCUVUwc2VVSkJRWGxDTEVOQlFVTTdRVUZGY0VRc1QwRkJUeXhGUVVOTUxHdENRVUZyUWl4RlFVTnNRaXh4UWtGQmNVSXNSVUZEY2tJc1kwRkJZeXhGUVVOa0xGbEJRVmtzUlVGRFdpeHBRa0ZCYVVJc1JVRkRha0lzWlVGQlpTeEZRVU5tTEd0Q1FVRnJRaXhGUVVOc1FpeHZRa0ZCYjBJc1JVRkRjRUlzY1VKQlFYRkNMRVZCUTNKQ0xHTkJRV01zUlVGRFpDeGhRVUZoTEVWQlEySXNaMEpCUVdkQ0xFVkJRMmhDTEdWQlFXVXNSVUZEWml4M1FrRkJkMElzUjBGRGVrSXNUVUZCVFN3MlFrRkJOa0lzUTBGQlF6dEJRVVZ5UXl4UFFVRlBMRVZCUVVNc01FSkJRVEJDTEVWQlFVTXNUVUZCVFN4cFJFRkJhVVFzUTBGQlF6dEJRVWN6Uml4UFFVRlBMRVZCUVVNc2JVSkJRVzFDTEVWQlFVVXNkMEpCUVhkQ0xFVkJRVU1zVFVGQlRTeHhRMEZCY1VNc1EwRkJRenRCUVVOc1J5eFBRVUZQTEVWQlFVTXNkVUpCUVhWQ0xFVkJRVVVzYjBKQlFXOUNMRVZCUTI1RUxHdENRVUZyUWl4RlFVRkZMR3RDUVVGclFpeEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxHOUNRVUZ2UWl4RlFVRkRMRTFCUVUwc1ZVRkJWU3hEUVVGRE8wRkJSM0JITEUxQlFVMHNRMEZCUXl4TlFVRk5MRFJDUVVFMFFpeEhRVUY1UkR0SlFVTm9SeXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRk5CUVZNc1EwRkJReXhGUVVGRkxEQkNRVUV3UWp0RFFVTXpSQ3hEUVVGRE8wRkJSVVlzVFVGQlRTeERRVUZETEUxQlFVMHNORUpCUVRSQ0xFZEJRWGxFTzBsQlEyaEhMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExGRkJRVkU3U1VGRE4wTXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlN4WFFVRlhPMGxCUXpkRExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1UwRkJVeXhEUVVGRExFVkJRVVVzYVVKQlFXbENPMGxCUTJwRUxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzYlVKQlFXMUNPME5CUTJwRUxFTkJRVU03UVVGRlJpeE5RVUZOTEVOQlFVTXNUVUZCVFN3NFFrRkJPRUlzUjBGQk5rUTdTVUZEZEVjc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3huUWtGQlowSTdTVUZEYWtRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3haUVVGWk8wbEJRM3BETEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNhMEpCUVd0Q08wbEJRM0pFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWVVGQllTeERRVUZETEVWQlFVVXNjVUpCUVhGQ08wbEJRek5FTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNZMEZCWXp0SlFVTTNReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxHdENRVUZyUWp0SlFVTnlSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRmxCUVZrc1EwRkJReXhGUVVGRkxHOUNRVUZ2UWp0SlFVTjZSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhGUVVGRkxIRkNRVUZ4UWp0SlFVTXpSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxHTkJRV003U1VGRE4wTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4aFFVRmhPMGxCUXpORExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRVVVzWlVGQlpUdEpRVU12UXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMR2xDUVVGcFFqdERRVU53UkN4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzT0VKQlFUaENMRWRCUVcxRk8wbEJRelZITEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1JVRkJSU3gzUWtGQmQwSTdRMEZEYkVVc1EwRkJRenRCUVVWR0xFMUJRVTBzUTBGQlF5eE5RVUZOTERSQ1FVRTBRaXhIUVVGNVJEdEpRVU5vUnl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMR1ZCUVdVN1EwRkRha1FzUTBGQlF6dEJRVVZHTEUxQlFVMHNRMEZCUXl4TlFVRk5MR2RDUVVGblFpeEhRVUZITzBsQlF6bENMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVN1VVRkRhRU1zUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhUUVVGVExFTkJRVU1zUlVGQlJTdzBRa0ZCTkVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4VFFVRlRMRU5CUVVNN1MwRkRNMFk3U1VGRFJDeERRVUZETEhWQ1FVRjFRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTzFGQlEyaERMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETzFGQlF6bEdMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETzFGQlF6bEdMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNVMEZCVXl4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVTBGQlV5eERRVUZETzFGQlF6RkdMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeERRVUZETzB0QlEzSkdPMGxCUTBRc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSVHRSUVVOc1F5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRkZCUVZFc1EwRkJRenRSUVVNNVJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1EwRkJRenRSUVVOMFJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJRenRSUVVOc1J5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJRenRSUVVONFJ5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVNeFJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJRenRSUVVOc1J5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGbEJRVmtzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRmxCUVZrc1EwRkJRenRSUVVOMFJ5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJRenRSUVVONFJ5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVNeFJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFdEJRVXNzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRXRCUVVzc1EwRkJRenRMUVVONlJqdEpRVU5FTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zWVVGQllTeERRVUZETEVWQlFVVTdVVUZEZGtNc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4UFFVRlBMRU5CUVVNc1JVRkJSU3h0UWtGQmJVSXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eFBRVUZQTEVOQlFVTTdVVUZEZWtZc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJSU3h0UWtGQmJVSXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eFhRVUZYTEVOQlFVTTdVVUZEYWtjc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExIZENRVUYzUWl4RFFVRkRMR2xDUVVGcFFpeERRVUZETzFGQlF6ZEhMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNlVUpCUVhsQ0xFTkJRVU1zUlVGRGJFUXNiVUpCUVcxQ0xFTkJRVU1zZDBKQlFYZENMRU5CUVVNc2VVSkJRWGxDTEVOQlFVTTdTMEZETVVVN1NVRkRSQ3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRk8xRkJRMmhETEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNORUpCUVRSQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hEUVVGRE8wdEJRemRHTzBsQlEwUXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlR0UlFVTnNReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR2RDUVVGblFpeERRVUZETEVWQlFVVXNPRUpCUVRoQ0xFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1owSkJRV2RDTEVOQlFVTTdTMEZETDBjN1EwRkRSaXhEUVVGRE8wRkJSVVlzVFVGQlRTeERRVUZETEUxQlFVMHNaMEpCUVdkQ0xFZEJRWEZDTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTTdTMEZETlVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQmNVSXNSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSVHRKUVVOeVF5eExRVUZMTEUxQlFVMHNSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1IwRkJlVUlzUTBGQlF5eERRVUZETzFGQlEzaEZMRWRCUVVjc1EwRkJReXhIUVVGNVFpeERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRPMGxCUlhaRExFOUJRVThzUjBGQlJ5eERRVUZETzBGQlEySXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJaVlFzVFVGQlRTeFZRVUZWTEdOQlFXTXNRMEZCUXl4SlFVRnJRanRKUVVNdlF5eFBRVUZQTEdkQ1FVRm5RaXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEZGQlFWRXNRMEZCUXp0QlFVTTFReXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdkQ1FVRm5RaXhEUVVGRExFbEJRV3RDTzBsQlEycEVMRTlCUVU4c1owSkJRV2RDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1ZVRkJWU3hEUVVGRE8wRkJRemxETEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1kwRkJZeXhEUVVGRExFbEJRV3RDTzBsQlF5OURMRTlCUVU4c1owSkJRV2RDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1VVRkJVU3hEUVVGRE8wRkJRelZETEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2NVSkJRWEZDTEVOQlFVTXNTVUZCYTBJN1NVRkRkRVFzVDBGQlR5eG5Ra0ZCWjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeDFRa0ZCZFVJc1EwRkJReXhoUVVGaExFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTTdRVUZEY0VZc1EwRkJRenRCUVVWRUxHZEhRVUZuUnp0QlFVTm9SeXhOUVVGTkxGVkJRVlVzYVVKQlFXbENMRU5CUVVNc1JVRkJWU3hGUVVGRkxFVkJRVlU3U1VGRGRFUXNTVUZCU1N4RlFVRkZMRU5CUVVNc1RVRkJUU3hMUVVGTExFVkJRVVVzUTBGQlF5eE5RVUZOTEVWQlFVVTdVVUZETTBJc1QwRkJUeXhEUVVGRExFTkJRVU03UzBGRFZqdFRRVUZOTzFGQlEwd3NTVUZCU1N4SlFVRkpMRWRCUVZjc1EwRkJReXhEUVVGRE8xRkJRM0pDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSVHRaUVVOb1F5eEpRVUZKTEVsQlFVa3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYWtNc1QwRkJUeXhKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUXp0TFFVTjZRanRCUVVOSUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNiVUpCUVcxQ0xFTkJRVU1zUlVGQlZTeEZRVUZGTEVWQlFWVTdTVUZEZUVRc1QwRkJUeXhGUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU16UWl4RFFVRkRPMEZCUlVRc05FUkJRVFJFTzBGQlF6VkVMRTFCUVUwc1QwRkJUeXhQUVVGUE8wbEJRMUlzVFVGQlRTeERRVUZsTzBsQlEzSkNMRkZCUVZFc1EwRkJjVUk3U1VGRmRrTTdPenM3VDBGSlJ6dEpRVU5JTEZsQlFWa3NUVUZCYjBJN1VVRkRPVUlzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNN1VVRkRja0lzU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4blFrRkJaMElzUTBGQlF5eE5RVUZOTEVOQlFYVkNMRU5CUVVNN1NVRkRha1VzUTBGQlF6dEpRVVZFT3pzN096dFBRVXRITzBsQlEwa3NWVUZCVlN4RFFVRkRMRWxCUVZVN1VVRkRNVUlzVFVGQlRTeEpRVUZKTEVkQlJVNHNaMEpCUVdkQ0xFTkJRVU03VVVGRGNrSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4alFVRmpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dFpRVU42Uml4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExHMUNRVUZ0UWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hyUWtGQmEwSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGJrWXNUMEZCVHl4eFFrRkJjVUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVONFF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFYRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU0zUlN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVcxQ0xFTkJRVU03U1VGRGRrUXNRMEZCUXp0SlFVVkVPenM3T3p0UFFVdEhPMGxCUTBrc1RVRkJUU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRkZCUVRSQ08xRkJRelZFTEU5QlFVOHNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMnBFTEVOQlFVTTdTVUZGUkRzN1QwRkZSenRKUVVOSUxFMUJRVTBzUzBGQlN5eHBRa0ZCYVVJN1VVRkRNVUlzVDBGQlR5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTTdTVUZEZGtNc1EwRkJRenREUVVOR0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElDb2dZWE1nWm13Z1puSnZiU0FuWm1GemRHVnpkQzFzWlhabGJuTm9kR1ZwYmljN1hHNXBiWEJ2Y25RZ2UycGhjbTlYYVc1cmJHVnlmU0JtY205dElDZHFZWEp2TFhkcGJtdHNaWEl0ZEhsd1pYTmpjbWx3ZENjN1hHNXBiWEJ2Y25RZ2UwUnBjM1JoYm1ObFRXVjBjbWxqZlNCbWNtOXRJQ2RBWkdGMFlXZHliMnN0YkdsaWNtRnlhV1Z6TDNWMGFXeHpMM055WXk5MGVYQmxMV1JsWTJ4aGNtRjBhVzl1Y3ljN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JoYzNsdGJXVjBjbWxqUkdsemRHRnVZMlVzWEc0Z0lHSnlZWFZ1UW14aGJuRjFaWFJFYVhOMFlXNWpaU3hjYmlBZ1kyOXphVzVsUkdsemRHRnVZMlVzWEc0Z0lHUnBZMlZFYVhOMFlXNWpaU3hjYmlBZ1pYVmpiR2xrWldGdVJHbHpkR0Z1WTJVc1hHNGdJR2hoYlcxcGJtZEVhWE4wWVc1alpTeGNiaUFnYTNWc1kzcDVibk5yYVVScGMzUmhibU5sTEZ4dUlDQnRZME52Ym01aGRXZG9aWGxFYVhOMFlXNWpaU3hjYmlBZ2NtOW5iM1JIYjJ4a1ltVnlaMFJwYzNSaGJtTmxMRnh1SUNCeWRYTnpaV3hFYVhOMFlXNWpaU3hjYmlBZ2MyOXJZV3hFYVhOMFlXNWpaU3hjYmlBZ2RHRnVhVzF2ZEc5RWFYTjBZVzVqWlN4Y2JpQWdiblZ0WlhKcFkwUnBjM1JoYm1ObExGeHVJQ0IwWVc1cGJXOTBiMFJwYzNSaGJtTmxTVzUwUVhKeVlYa3NYRzU5SUdaeWIyMGdKeTR1TDJScGMzUmhibU5sTFcxbGRISnBZM010YldWMGFHOWtjeWM3WEc1Y2JtbHRjRzl5ZENCN1kyRnNZM1ZzWVhSbFJYVmpiR2xrWldGdVJHbHpkR0Z1WTJWOUlHWnliMjBnSjBCa1lYUmhaM0p2YXkxc2FXSnlZWEpwWlhNdmRYUnBiSE12YzNKakwzWmxZM1J2Y2kxdmNHVnlZWFJwYjI1ekp6dGNibWx0Y0c5eWRDQkNhWFJCY25KaGVTQm1jbTl0SUNkQVpHRjBZV2R5YjJzdGJHbGljbUZ5YVdWekwzVjBhV3h6TDNOeVl5OWlhWFF0WVhKeVlYa25PMXh1YVcxd2IzSjBJSHRXWldOMGIzSXNJRk4wY21sdVowUnBZM1JwYjI1aGNubDlJR1p5YjIwZ0owQmtZWFJoWjNKdmF5MXNhV0p5WVhKcFpYTXZkWFJwYkhNdmMzSmpMM1I1Y0dVdFpHVmpiR0Z5WVhScGIyNXpKenRjYm1sdGNHOXlkQ0I3YlcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1Y3l3Z1RXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6ZlNCbWNtOXRJQ2N1TGk5dFlXTnliMjF2YkdWamRXeGxMV1JwYzNSaGJtTmxMV1oxYm1OMGFXOXVjeWM3WEc1cGJYQnZjblFnZTBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMQ0JDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3l4Y2JpQWdVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMQ0JXWldOMGIzSk5aWFJ5YVdOelRtRnRaWE1zSUU1MWJXSmxjazFsZEhKcFkzTk9ZVzFsY3l3Z1NXNTBRWEp5WVhsTlpYUnlhV056VG1GdFpYTjlJR1p5YjIwZ0p5NHZZMjl1YzNSekp6dGNibHh1WEc1bGVIQnZjblFnWTI5dWMzUWdkbVZqZEc5eVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjem9nZXlCYmJtRnRaVG9nYzNSeWFXNW5YVG9nS0hnNklGWmxZM1J2Y2l3Z2VUb2dWbVZqZEc5eUtTQTlQaUJ1ZFcxaVpYSWdmU0E5SUh0Y2JpQWdXMVpsWTNSdmNrMWxkSEpwWTNOT1lXMWxjeTVGZFdOc2FXUmxZVzVkT2lCallXeGpkV3hoZEdWRmRXTnNhV1JsWVc1RWFYTjBZVzVqWlN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQnpkSEpwYm1kRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpPaUI3SUZ0dVlXMWxPaUJ6ZEhKcGJtZGRPaUFvZURvZ2MzUnlhVzVuTENCNU9pQnpkSEpwYm1jcElEMCtJRzUxYldKbGNpQjlJRDBnZTF4dUlDQmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMa3hsZG1WdWMyaDBaV2x1WFRvZ1ptd3VaR2x6ZEdGdVkyVXNYRzRnSUZ0VGRISnBibWROWlhSeWFXTnpUbUZ0WlhNdVNtRnliMWRwYm10c1pYSmRPaUJxWVhKdlYybHVhMnhsY2l4Y2JpQWdXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVOWVc1b1lYUjBZVzVkT2lCdFlXNW9ZWFIwWVc1RWFYTjBZVzVqWlN4Y2JpQWdXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVQYm1Wb2IzUmRPaUJqWVhSbFoyOXlhV05oYkVScGMzUmhibU5sTEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjem9nZXlCYmJtRnRaVG9nYzNSeWFXNW5YVG9nS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2tnUFQ0Z2JuVnRZbVZ5SUgwZ1BTQjdYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVVZVzVwYlc5MGIxMDZJSFJoYm1sdGIzUnZSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUVhV05sWFRvZ1pHbGpaVVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRWE41YlcxbGRISnBZMTA2SUdGemVXMXRaWFJ5YVdORWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtKeVlYVnVRbXhoYm5GMVpYUmRPaUJpY21GMWJrSnNZVzV4ZFdWMFJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RGIzTnBibVZkT2lCamIzTnBibVZFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa3QxYkdONmVXNXphMmxkT2lCcmRXeGplbmx1YzJ0cFJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1TlkwTnZibTVoZFdkb1pYbGRPaUJ0WTBOdmJtNWhkV2RvWlhsRWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxKdloyOTBSMjlzWkdKbGNtZGRPaUJ5YjJkdmRFZHZiR1JpWlhKblJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1U2RYTnpaV3hkT2lCeWRYTnpaV3hFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbE52YTJGc1hUb2djMjlyWVd4RWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtoaGJXMXBibWRkT2lCb1lXMXRhVzVuUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVGZFdOc2FXUmxZVzVkT2lCbGRXTnNhV1JsWVc1RWFYTjBZVzVqWlN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQnBiblJCY25KaGVVUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE02SUhzZ1cyNWhiV1U2SUhOMGNtbHVaMTA2SUNoNE9pQlZhVzUwTXpKQmNuSmhlU3dnZVRvZ1ZXbHVkRE15UVhKeVlYa3BJRDArSUc1MWJXSmxjaUI5SUQwZ2UxeHVJQ0JiU1c1MFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVZHRnVhVzF2ZEc5SmJuUkJjbkpoZVYwNklIUmhibWx0YjNSdlJHbHpkR0Z1WTJWSmJuUkJjbkpoZVN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQnVkVzFpWlhKRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpPaUI3SUZ0dVlXMWxPaUJ6ZEhKcGJtZGRPaUFvZURvZ2JuVnRZbVZ5TENCNU9pQnVkVzFpWlhJcElEMCtJRzUxYldKbGNpQjlJRDBnZTF4dUlDQmJUblZ0WW1WeVRXVjBjbWxqYzA1aGJXVnpMa1JwWm1abGNtVnVZMlZkT2lCdWRXMWxjbWxqUkdsemRHRnVZMlVzWEc1OU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYWmhhV3hoWW14bFRXVjBjbWxqY3lBOUlIdGNiaUFnVzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMbFpsWTNSdmNsMDZJSHRjYmlBZ0lDQmJWbVZqZEc5eVRXVjBjbWxqYzA1aGJXVnpMa1YxWTJ4cFpHVmhibDA2SUhabFkzUnZja1JwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlZtVmpkRzl5VFdWMGNtbGpjMDVoYldWekxrVjFZMnhwWkdWaGJsMHNYRzRnSUgwc1hHNGdJRnRFYVhOMFlXNWpaVTFsZEhKcFkzTlRkV0pxWldOMGN5NVRkSEpwYm1kZE9pQjdYRzRnSUNBZ1cxTjBjbWx1WjAxbGRISnBZM05PWVcxbGN5NU1aWFpsYm5Ob2RHVnBibDA2SUhOMGNtbHVaMFJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlUzUnlhVzVuVFdWMGNtbGpjMDVoYldWekxreGxkbVZ1YzJoMFpXbHVYU3hjYmlBZ0lDQmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMa3BoY205WGFXNXJiR1Z5WFRvZ2MzUnlhVzVuUkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVTbUZ5YjFkcGJtdHNaWEpkTEZ4dUlDQWdJRnRUZEhKcGJtZE5aWFJ5YVdOelRtRnRaWE11VFdGdWFHRjBkR0Z1WFRvZ2MzUnlhVzVuUkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVUV0Z1YUdGMGRHRnVYU3hjYmlBZ0lDQmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMazl1WldodmRGMDZJSE4wY21sdVowUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TGs5dVpXaHZkRjBzWEc0Z0lIMHNYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVDYVhSQmNuSmhlVjA2SUh0Y2JpQWdJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVZHRnVhVzF2ZEc5ZE9pQmlhWFJCY25KaGVVUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVZHRnVhVzF2ZEc5ZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUVhV05sWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtScFkyVmRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVCYzNsdGJXVjBjbWxqWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtGemVXMXRaWFJ5YVdOZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUNjbUYxYmtKc1lXNXhkV1YwWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtKeVlYVnVRbXhoYm5GMVpYUmRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVEYjNOcGJtVmRPaUJpYVhSQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRMjl6YVc1bFhTeGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVTM1ZzWTNwNWJuTnJhVjA2SUdKcGRFRnljbUY1UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVMZFd4amVubHVjMnRwWFN4Y2JpQWdJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVRXTkRiMjV1WVhWbmFHVjVYVG9nWW1sMFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMazFqUTI5dWJtRjFaMmhsZVYwc1hHNGdJQ0FnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsSnZaMjkwUjI5c1pHSmxjbWRkT2lCaWFYUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VW05bmIzUkhiMnhrWW1WeVoxMHNYRzRnSUNBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbEoxYzNObGJGMDZJR0pwZEVGeWNtRjVSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVNkWE56Wld4ZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVRiMnRoYkYwNklHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VGIydGhiRjBzWEc0Z0lIMHNYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVOWVdOeWIwMXZiR1ZqZFd4bFhUb2dleUF2THlCdmNIUnBiMjVoYkNCaGNtZHpJRzVsWldSbFpDQm1iM0lnYldGamNtOXRiMnhsWTNWc1pTQm1kVzVqZEdsdmJuTWdkMmhwWTJnZ2FXNXBkR2xoYkdsNlpTQjBhR1Z0WEc0Z0lDQWdXMDF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NUlRVTFOU1U1SFhUb2diVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMXROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVTRUZOVFVsT1IxMHNYRzRnSUNBZ1cwMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTk9ZVzFsY3k1TVJWWkZUbE5JVkVWSlRsMDZJRzF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5iVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMa3hGVmtWT1UwaFVSVWxPWFN4Y2JpQWdJQ0JiVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMazVGUlVSTVJVMUJUazVmVjFWT1UwTklYVG9nYlcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzF0TmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE11VGtWRlJFeEZUVUZPVGw5WFZVNVRRMGhkTEZ4dUlDQWdJRnROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVUVTlPVDAxRlVsOURTRVZOU1VOQlRGOUVTVk5VUVU1RFJWMDZYRzRnSUNBZ0lDQnRiVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpXMDF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NU5UMDVQVFVWU1gwTklSVTFKUTBGTVgwUkpVMVJCVGtORlhTeGNiaUFnZlN4Y2JpQWdXMFJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxrNTFiV0psY2wwNklIdGNiaUFnSUNCYlRuVnRZbVZ5VFdWMGNtbGpjMDVoYldWekxrUnBabVpsY21WdVkyVmRPaUJ1ZFcxaVpYSkVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzA1MWJXSmxjazFsZEhKcFkzTk9ZVzFsY3k1RWFXWm1aWEpsYm1ObFhTeGNiaUFnZlN4Y2JpQWdXMFJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxrbHVkRUZ5Y21GNVhUb2dlMXh1SUNBZ0lGdEpiblJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVVWVc1cGJXOTBiMGx1ZEVGeWNtRjVYVG9nYVc1MFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwbHVkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbFJoYm1sdGIzUnZTVzUwUVhKeVlYbGRMRnh1SUNCOVhHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUV1YwY21salZHOUVZWFJoVkhsd1pUb2dVM1J5YVc1blJHbGpkR2x2Ym1GeWVTQTlJRTlpYW1WamRDNXJaWGx6S0VGMllXbHNZV0pzWlUxbGRISnBZM01wWEc0Z0lDNXlaV1IxWTJVb0tISmxkRG9nVTNSeWFXNW5SR2xqZEdsdmJtRnllU3dnYTJWNUtTQTlQaUI3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0IyWVd3Z2IyWWdUMkpxWldOMExtdGxlWE1vUVhaaGFXeGhZbXhsVFdWMGNtbGpjMXRyWlhrZ1lYTWdRWFpoYVd4aFlteGxSR0YwWVZSNWNHVnpYU2twWEc0Z0lDQWdJQ0J5WlhSYmRtRnNJR0Z6SUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsYzEwZ1BTQnJaWGs3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVYwTzF4dUlDQjlMQ0I3ZlNrN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsY3lBOUlHdGxlVzltSUhSNWNHVnZaaUJCZG1GcGJHRmliR1ZOWlhSeWFXTnpPMXh1Wlhod2IzSjBJSFI1Y0dVZ1ZtVmpkRzl5VFdWMGNtbGpjeUE5SUd0bGVXOW1JSFI1Y0dWdlppQkJkbUZwYkdGaWJHVk5aWFJ5YVdOelcwUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TGxabFkzUnZjbDA3WEc1bGVIQnZjblFnZEhsd1pTQlRkSEpwYm1kTlpYUnlhV056SUQwZ2EyVjViMllnZEhsd1pXOW1JRUYyWVdsc1lXSnNaVTFsZEhKcFkzTmJSR2x6ZEdGdVkyVk5aWFJ5YVdOelUzVmlhbVZqZEhNdVUzUnlhVzVuWFR0Y2JtVjRjRzl5ZENCMGVYQmxJRUpwZEVGeWNtRjVUV1YwY21samN5QTlJR3RsZVc5bUlIUjVjR1Z2WmlCQmRtRnBiR0ZpYkdWTlpYUnlhV056VzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMa0pwZEVGeWNtRjVYVHRjYm1WNGNHOXlkQ0IwZVhCbElFdHViM2R1VFdWMGNtbGpjeUE5SUZOMGNtbHVaMDFsZEhKcFkzTWdmQ0JDYVhSQmNuSmhlVTFsZEhKcFkzTWdmQ0JXWldOMGIzSk5aWFJ5YVdOeklIeGNiaUFnVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpJSHdnVG5WdFltVnlUV1YwY21samMwNWhiV1Z6SUh3Z1NXNTBRWEp5WVhsTlpYUnlhV056VG1GdFpYTTdYRzVjYm1WNGNHOXlkQ0IwZVhCbElGWmhiR2xrVkhsd1pYTWdQVnh1SUNCN0lHUmhkR0U2SUhOMGNtbHVaMXRkTENCdFpYUnlhV002SUZOMGNtbHVaMDFsZEhKcFkzTWdmQ0JOYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTWdmU0I4WEc0Z0lIc2daR0YwWVRvZ1ZtVmpkRzl5VzEwc0lHMWxkSEpwWXpvZ1ZtVmpkRzl5VFdWMGNtbGpjeUI5SUh4Y2JpQWdleUJrWVhSaE9pQkNhWFJCY25KaGVWdGRMQ0J0WlhSeWFXTTZJRUpwZEVGeWNtRjVUV1YwY21samN5QjlJSHhjYmlBZ2V5QmtZWFJoT2lCdWRXMWlaWEpiWFN3Z2JXVjBjbWxqT2lCT2RXMWlaWEpOWlhSeWFXTnpUbUZ0WlhNZ2ZUdGNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2x6VTNSeWFXNW5UV1YwY21saktHNWhiV1U2SUV0dWIzZHVUV1YwY21samN5a2dlMXh1SUNCeVpYUjFjbTRnVFdWMGNtbGpWRzlFWVhSaFZIbHdaVnR1WVcxbFhTQTlQU0FuVTNSeWFXNW5KenRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHpRbWwwUVhKeVlYbE5aWFJ5YVdNb2JtRnRaVG9nUzI1dmQyNU5aWFJ5YVdOektTQjdYRzRnSUhKbGRIVnliaUJOWlhSeWFXTlViMFJoZEdGVWVYQmxXMjVoYldWZElEMDlJQ2RDYVhSQmNuSmhlU2M3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMVpsWTNSdmNrMWxkSEpwWXlodVlXMWxPaUJMYm05M2JrMWxkSEpwWTNNcElIdGNiaUFnY21WMGRYSnVJRTFsZEhKcFkxUnZSR0YwWVZSNWNHVmJibUZ0WlYwZ1BUMGdKMVpsWTNSdmNpYzdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcGMwMWhZM0p2VFc5c1pXTjFiR1ZOWlhSeWFXTW9ibUZ0WlRvZ1MyNXZkMjVOWlhSeWFXTnpLU0I3WEc0Z0lISmxkSFZ5YmlCTlpYUnlhV05VYjBSaGRHRlVlWEJsVzI1aGJXVmRJRDA5SUVScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMazFoWTNKdlRXOXNaV04xYkdVdWRHOVRkSEpwYm1jb0tUdGNibjFjYmx4dUx5b3FJRTFoYm1oaGRIUmhiaUJrYVhOMFlXNWpaU0JpWlhSM1pXVnVJSFIzYnlCelpYRjFaVzVqWlhNZ0tHMWhkR05vSUMwZ01Dd2diV2x6YldGMFkyZ2dMU0F4S1NCdWIzSnRZV3hwZW1Wa0lHWnZjaUJzWlc1bmRHZ3VJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYldGdWFHRjBkR0Z1UkdsemRHRnVZMlVvY3pFNklITjBjbWx1Wnl3Z2N6STZJSE4wY21sdVp5azZJRzUxYldKbGNpQjdYRzRnSUdsbUlDaHpNUzVzWlc1bmRHZ2dJVDA5SUhNeUxteGxibWQwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUF4TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUd4bGRDQmthWE4wT2lCdWRXMWlaWElnUFNBd08xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXhPeUJwSUR3Z2N6RXViR1Z1WjNSb095QnBLeXNwWEc0Z0lDQWdJQ0JrYVhOMElDczlJSE14VzJsZElEMDlJSE15VzJsZElEOGdNQ0E2SURFN1hHNGdJQ0FnY21WMGRYSnVJR1JwYzNRZ0x5QnpNUzVzWlc1bmRHZzdYRzRnSUgxY2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR05oZEdWbmIzSnBZMkZzUkdsemRHRnVZMlVvY3pFNklITjBjbWx1Wnl3Z2N6STZJSE4wY21sdVp5azZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJ6TVNBOVBUMGdjeklnUHlBd0lEb2dNVHRjYm4xY2JseHVMeW9xSUZWdWFXWnBaV1FnWTJ4aGMzTWdhVzF3YkdWdFpXNTBhVzVuSUdScFptWmxjbVZ1ZENCemRISnBibWNnYldWaGMzVnlaWE11SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVFdWaGMzVnlaU0I3WEc0Z0lIQnliM1JsWTNSbFpDQnRaWFJvYjJRNklFdHViM2R1VFdWMGNtbGpjenRjYmlBZ2NISnZkR1ZqZEdWa0lHUmhkR0ZVZVhCbE9pQkJkbUZwYkdGaWJHVkVZWFJoVkhsd1pYTTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlhNZ1lXNGdhVzV6ZEdGdVkyVWdiMllnVFdWaGMzVnlaU0IzYVhSb0lDNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUcxbGRHaHZaQ0JOWlhSb2IyUWdkRzhnWTJGc1kzVnNZWFJsSUdScGMzUmhibU5sSUdKbGRIZGxaVzRnYzNSeWFXNW5jeTVjYmlBZ0lDb2dRRzFsYldKbGNtOW1JRTFsWVhOMWNtVnlYRzRnSUNBcUwxeHVJQ0JqYjI1emRISjFZM1J2Y2lodFpYUm9iMlE2SUV0dWIzZHVUV1YwY21samN5a2dlMXh1SUNBZ0lIUm9hWE11YldWMGFHOWtJRDBnYldWMGFHOWtPMXh1SUNBZ0lIUm9hWE11WkdGMFlWUjVjR1VnUFNCTlpYUnlhV05VYjBSaGRHRlVlWEJsVzIxbGRHaHZaRjBnWVhNZ1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWek8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZM1Z6ZEc5dElITjBjbWx1WnlCa2FYTjBZVzVqWlNCbWRXNWpkR2x2YmlCemNHVmphV1pwWldRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YjNCMGMzMGdiM0IwY3lCUGNIUnBiMjV6SUdadmNpQjBhR1VnYldWaGMzVnlaUzRnZFhObFpDQm1iM0lnYldGamNtOXRiMnhsWTNWc1pTQmthWE4wWVc1alpYTmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JHbHpkR0Z1WTJWTlpYUnlhV045SUVOaGJHeGlZV05ySUc5bUlIUm9aU0J0WldGemRYSmxJR05vYjNObGJpNWNiaUFnSUNvZ1FHMWxiV0psY205bUlFMWxZWE4xY21WeVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1oyVjBUV1ZoYzNWeVpTaHZjSFJ6UHpvZ1lXNTVLVG9nUkdsemRHRnVZMlZOWlhSeWFXTWdlMXh1SUNBZ0lHTnZibk4wSUdScFkzUTZJSHNnVzJ0bGVUb2djM1J5YVc1blhUcGNiaUFnSUNBZ0lIdGJhMlY1TWpvZ2MzUnlhVzVuWFRvZ1JHbHpkR0Z1WTJWTlpYUnlhV01nZkNBb0tHOXdkSE02SUdGdWVTa2dQVDRnUkdsemRHRnVZMlZOWlhSeWFXTXBmVnh1SUNBZ0lIMGdQU0JCZG1GcGJHRmliR1ZOWlhSeWFXTnpPMXh1SUNBZ0lHbG1JQ2doWkdsamRDNW9ZWE5QZDI1UWNtOXdaWEowZVNoMGFHbHpMbVJoZEdGVWVYQmxLU0I4ZkNBaFpHbGpkRnQwYUdsekxtUmhkR0ZVZVhCbFhTNW9ZWE5QZDI1UWNtOXdaWEowZVNoMGFHbHpMbTFsZEdodlpDa3BYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lGVnVhMjV2ZDI0Z2JXVmhjM1Z5WlNBa2UzUm9hWE11YldWMGFHOWtmU0JtYjNJZ1pHRjBZU0IwZVhCbElDUjdkR2hwY3k1a1lYUmhWSGx3WlgxZ0tUdGNiaUFnSUNCeVpYUjFjbTRnYVhOTllXTnliMDF2YkdWamRXeGxUV1YwY21saktIUm9hWE11YldWMGFHOWtLU0EvWEc0Z0lDQWdJQ0FvWkdsamRGdDBhR2x6TG1SaGRHRlVlWEJsWFZ0MGFHbHpMbTFsZEdodlpGMGdZWE1nS0NodmNIUnpPaUJoYm5rcElEMCtJRVJwYzNSaGJtTmxUV1YwY21saktTa29iM0IwY3lrZ09seHVJQ0FnSUNBZ1pHbGpkRnQwYUdsekxtUmhkR0ZVZVhCbFhWdDBhR2x6TG0xbGRHaHZaRjBnWVhNZ1JHbHpkR0Z1WTJWTlpYUnlhV003WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCamRYTjBiMjBnYzNSeWFXNW5JR1JwYzNSaGJtTmxJR0o1SUhSb1pTQm5hWFpsYmlCa1lYUmhJSFI1Y0dVdVhHNGdJQ0FxSUVCd1lYSmhiU0I3UVhaaGFXeGhZbXhsUkdGMFlWUjVjR1Z6ZlNCa1lYUmhWSGx3WlNCTlpYUnlhV01uY3lCa1lYUmhJSFI1Y0dWY2JpQWdJQ29nUUhKbGRIVnliaUI3YzNSeWFXNW5XMTE5SUUxbGRISnBZeUJ1WVcxbGN5QjNhR2xqYUNCbGVIQmxZM1J6SUhSb1pTQm5hWFpsYmlCa1lYUmhJSFI1Y0dWY2JpQWdJQ29nUUcxbGJXSmxjbTltSUUxbFlYTjFjbVZ5WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nYzNSaGRHbGpJR2RsZEUxbGRISnBZMEo1UkdGMFlWUjVjR1VvWkdGMFlWUjVjR1U2SUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsY3lrNklITjBjbWx1WjF0ZElIdGNiaUFnSUNCeVpYUjFjbTRnVDJKcVpXTjBMbXRsZVhNb1FYWmhhV3hoWW14bFRXVjBjbWxqYzF0a1lYUmhWSGx3WlYwcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xSUZKbGRIVnlibk1nYldWMGNtbGpJRzVoYldWeklHRjJZV2xzWVdKc1pTNWNiaUFnSUNvZ1FHMWxiV0psY205bUlFMWxZWE4xY21WeVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1oyVjBJR0YyWVdsc1lXSnNaVTFsWVhOMWNtVnpLQ2s2SUhOMGNtbHVaMXRkSUh0Y2JpQWdJQ0J5WlhSMWNtNGdUMkpxWldOMExtdGxlWE1vUVhaaGFXeGhZbXhsVFdWMGNtbGpjeWs3WEc0Z0lIMWNibjFjYmlKZGZRPT0iLCJleHBvcnQgdmFyIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzO1xuKGZ1bmN0aW9uIChEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcykge1xuICAgIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzW1wiRVVDTElERUFOXCJdID0gXCJFVUNMSURFQU5cIjtcbiAgICBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kc1tcIk1BTkhBVFRBTlwiXSA9IFwiTUFOSEFUVEFOXCI7XG59KShEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyB8fCAoRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMgPSB7fSkpO1xuO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pYTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMGVYQmxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeE5RVUZOTEVOQlFVNHNTVUZCV1N3d1FrRkhWRHRCUVVoSUxGZEJRVmtzTUVKQlFUQkNPMGxCUTJ4RExIRkVRVUYxUWl4RFFVRkJPMGxCUTNaQ0xIRkVRVUYxUWl4RFFVRkJPMEZCUTNwQ0xFTkJRVU1zUlVGSVV5d3dRa0ZCTUVJc1MwRkJNVUlzTUVKQlFUQkNMRkZCUjI1RE8wRkJRVUVzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbVY0Y0c5eWRDQmxiblZ0SUVScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlJ6SUh0Y2JpQWdJQ0JGVlVOTVNVUkZRVTRnUFNBblJWVkRURWxFUlVGT0p5eGNiaUFnSUNCTlFVNUlRVlJVUVU0Z1BTQW5UVUZPU0VGVVZFRk9KeXhjYmlBZ2ZUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1JHbHpkR0Z1WTJWQloyZHlaV2RoZEdsdmJrMWxkR2h2WkNBOUlHdGxlVzltSUhSNWNHVnZaaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtjenRjYmlKZGZRPT0iLCJpbXBvcnQgeyBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyB9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IGNvbnN0IGlzTmlsID0gKHgpID0+IHggPT09IG51bGwgfHwgeCA9PT0gdW5kZWZpbmVkO1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydFNtYWxsZXIoZGlzdGFuY2VzQXIsIGluZGV4ZXMsIG51bSwgaW5kZXgpIHtcbiAgICBpZiAobnVtID4gZGlzdGFuY2VzQXJbZGlzdGFuY2VzQXIubGVuZ3RoIC0gMV0pXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBuZXdQb3NpdGlvbiA9IGRpc3RhbmNlc0FyLmZpbmRJbmRleCgodikgPT4gbnVtIDwgdik7XG4gICAgZGlzdGFuY2VzQXIucG9wKCk7XG4gICAgZGlzdGFuY2VzQXIuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBudW0pO1xuICAgIGluZGV4ZXMucG9wKCk7XG4gICAgaW5kZXhlcy5zcGxpY2UobmV3UG9zaXRpb24sIDAsIGluZGV4KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRMYXJnZXIoZGlzdGFuY2VzQXIsIGluZGV4ZXMsIG51bSwgaW5kZXgpIHtcbiAgICBpZiAobnVtIDwgZGlzdGFuY2VzQXJbZGlzdGFuY2VzQXIubGVuZ3RoIC0gMV0pXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBuZXdQb3NpdGlvbiA9IGRpc3RhbmNlc0FyLmZpbmRJbmRleCgodikgPT4gbnVtID4gdik7XG4gICAgZGlzdGFuY2VzQXIucG9wKCk7XG4gICAgZGlzdGFuY2VzQXIuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBudW0pO1xuICAgIGluZGV4ZXMucG9wKCk7XG4gICAgaW5kZXhlcy5zcGxpY2UobmV3UG9zaXRpb24sIDAsIGluZGV4KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZ2dyZWdhdGlvbkZ1bmN0aW9uKGFnZ3JlZ2F0aW9uTWV0aG9kLCB3ZWlnaHRzKSB7XG4gICAgc3dpdGNoIChhZ2dyZWdhdGlvbk1ldGhvZCkge1xuICAgICAgICBjYXNlIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzLk1BTkhBVFRBTjpcbiAgICAgICAgICAgIHJldHVybiAodnMpID0+IHZzLnJlZHVjZSgoYWNjLCB2YWwsIGlkeCkgPT4gYWNjICsgdmFsICogd2VpZ2h0c1tpZHhdLCAwKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiAodnMpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBldWNsaWRlYW5cbiAgICAgICAgICAgICAgICBjb25zdCBzdW0gPSB2cy5yZWR1Y2UoKGFjYywgdmFsLCBpZHgpID0+IGFjYyArICh2YWwgKiB3ZWlnaHRzW2lkeF0pICoqIDIsIDApO1xuICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLnNxcnQoc3VtKTtcbiAgICAgICAgICAgIH07XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZFhScGJITXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMWRHbHNjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeFBRVUZQTEVWQlFUUkNMREJDUVVFd1FpeEZRVUZETEUxQlFVMHNVMEZCVXl4RFFVRkRPMEZCUlRsRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eExRVUZMTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1UwRkJVeXhEUVVGRE8wRkJSUzlFTEUxQlFVMHNWVUZCVlN4aFFVRmhMRU5CUVVNc1YwRkJjVUlzUlVGQlJTeFBRVUZwUWl4RlFVRkZMRWRCUVZjc1JVRkJSU3hMUVVGaE8wbEJRMmhITEVsQlFVa3NSMEZCUnl4SFFVRkhMRmRCUVZjc1EwRkJReXhYUVVGWExFTkJRVU1zVFVGQlRTeEhRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjZReXhQUVVGUE8wbEJSVlFzVFVGQlRTeFhRVUZYTEVkQlFVY3NWMEZCVnl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRekZFTEZkQlFWY3NRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVOc1FpeFhRVUZYTEVOQlFVTXNUVUZCVFN4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEZUVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETzBsQlEyUXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTNoRExFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNXVUZCV1N4RFFVRkRMRmRCUVhGQ0xFVkJRVVVzVDBGQmFVSXNSVUZCUlN4SFFVRlhMRVZCUVVVc1MwRkJZVHRKUVVNdlJpeEpRVUZKTEVkQlFVY3NSMEZCUnl4WFFVRlhMRU5CUVVNc1YwRkJWeXhEUVVGRExFMUJRVTBzUjBGQlF5eERRVUZETEVOQlFVTTdVVUZEZWtNc1QwRkJUenRKUVVWVUxFMUJRVTBzVjBGQlZ5eEhRVUZITEZkQlFWY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVNeFJDeFhRVUZYTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNN1NVRkRiRUlzVjBGQlZ5eERRVUZETEUxQlFVMHNRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzBsQlEzaERMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF6dEpRVU5rTEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU1zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTjRReXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEhOQ1FVRnpRaXhEUVVOd1F5eHBRa0ZCTkVNc1JVRkJSU3hQUVVGcFFqdEpRVVV2UkN4UlFVRlJMR2xDUVVGcFFpeEZRVUZGTzFGQlEzcENMRXRCUVVzc01FSkJRVEJDTEVOQlFVTXNVMEZCVXp0WlFVTjJReXhQUVVGUExFTkJRVU1zUlVGQldTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVkQlFVY3NUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzSkdPMWxCUTBVc1QwRkJUeXhEUVVGRExFVkJRVmtzUlVGQlJTeEZRVUZGTzJkQ1FVTjBRaXhaUVVGWk8yZENRVU5hTEUxQlFVMHNSMEZCUnl4SFFVRkhMRVZCUVVVc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRE4wVXNUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzaENMRU5CUVVNc1EwRkJRenRMUVVOTU8wRkJRMGdzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpDd2dSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpITjlJR1p5YjIwZ0p5NHZkSGx3WlhNbk8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ2FYTk9hV3dnUFNBb2VEb2dZVzU1S1NBOVBpQjRJRDA5UFNCdWRXeHNJSHg4SUhnZ1BUMDlJSFZ1WkdWbWFXNWxaRHRjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdsdWMyVnlkRk50WVd4c1pYSW9aR2x6ZEdGdVkyVnpRWEk2SUc1MWJXSmxjbHRkTENCcGJtUmxlR1Z6T2lCdWRXMWlaWEpiWFN3Z2JuVnRPaUJ1ZFcxaVpYSXNJR2x1WkdWNE9pQnVkVzFpWlhJcElIdGNiaUFnYVdZZ0tHNTFiU0ErSUdScGMzUmhibU5sYzBGeVcyUnBjM1JoYm1ObGMwRnlMbXhsYm1kMGFDMHhYU2xjYmlBZ0lDQnlaWFIxY200N1hHNWNiaUFnWTI5dWMzUWdibVYzVUc5emFYUnBiMjRnUFNCa2FYTjBZVzVqWlhOQmNpNW1hVzVrU1c1a1pYZ29LSFlwSUQwK0lHNTFiU0E4SUhZcE8xeHVJQ0JrYVhOMFlXNWpaWE5CY2k1d2IzQW9LVHRjYmlBZ1pHbHpkR0Z1WTJWelFYSXVjM0JzYVdObEtHNWxkMUJ2YzJsMGFXOXVMQ0F3TENCdWRXMHBPMXh1SUNCcGJtUmxlR1Z6TG5CdmNDZ3BPMXh1SUNCcGJtUmxlR1Z6TG5Od2JHbGpaU2h1WlhkUWIzTnBkR2x2Yml3Z01Dd2dhVzVrWlhncE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYVc1elpYSjBUR0Z5WjJWeUtHUnBjM1JoYm1ObGMwRnlPaUJ1ZFcxaVpYSmJYU3dnYVc1a1pYaGxjem9nYm5WdFltVnlXMTBzSUc1MWJUb2diblZ0WW1WeUxDQnBibVJsZURvZ2JuVnRZbVZ5S1NCN1hHNGdJR2xtSUNodWRXMGdQQ0JrYVhOMFlXNWpaWE5CY2x0a2FYTjBZVzVqWlhOQmNpNXNaVzVuZEdndE1WMHBYRzRnSUNBZ2NtVjBkWEp1TzF4dVhHNGdJR052Ym5OMElHNWxkMUJ2YzJsMGFXOXVJRDBnWkdsemRHRnVZMlZ6UVhJdVptbHVaRWx1WkdWNEtDaDJLU0E5UGlCdWRXMGdQaUIyS1R0Y2JpQWdaR2x6ZEdGdVkyVnpRWEl1Y0c5d0tDazdYRzRnSUdScGMzUmhibU5sYzBGeUxuTndiR2xqWlNodVpYZFFiM05wZEdsdmJpd2dNQ3dnYm5WdEtUdGNiaUFnYVc1a1pYaGxjeTV3YjNBb0tUdGNiaUFnYVc1a1pYaGxjeTV6Y0d4cFkyVW9ibVYzVUc5emFYUnBiMjRzSURBc0lHbHVaR1Y0S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVGblozSmxaMkYwYVc5dVJuVnVZM1JwYjI0b1hHNGdJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtPaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtMQ0IzWldsbmFIUnpPaUJ1ZFcxaVpYSmJYVnh1S1RvZ0tIWmhiSFZsY3pvZ2JuVnRZbVZ5VzEwcElEMCtJRzUxYldKbGNpQjdYRzRnSUhOM2FYUmphQ0FvWVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFwSUh0Y2JpQWdJQ0JqWVhObElFUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNU5aWFJvYjJSekxrMUJUa2hCVkZSQlRqcGNiaUFnSUNBZ0lISmxkSFZ5YmlBb2RuTTZJRzUxYldKbGNsdGRLU0E5UGlCMmN5NXlaV1IxWTJVb0tHRmpZeXdnZG1Gc0xDQnBaSGdwSUQwK0lHRmpZeUFySUhaaGJDQXFJSGRsYVdkb2RITmJhV1I0WFN3Z01DazdYRzRnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUhKbGRIVnliaUFvZG5NNklHNTFiV0psY2x0ZEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUM4dklHVjFZMnhwWkdWaGJseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCemRXMGdQU0IyY3k1eVpXUjFZMlVvS0dGall5d2dkbUZzTENCcFpIZ3BJRDArSUdGall5QXJJQ2gyWVd3Z0tpQjNaV2xuYUhSelcybGtlRjBwSUNvcUlESXNJREFwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNXpjWEowS0hOMWJTazdYRzRnSUNBZ0lDQjlPMXh1SUNCOVhHNTlYRzRpWFgwPSIsImV4cG9ydCBjbGFzcyBEaXN0YW5jZU1hdHJpeFNlcnZpY2Uge1xuICAgIF93b3JrZXJzO1xuICAgIF93b3JrZXJDb3VudDtcbiAgICBfdGVybWluYXRlT25Db21wbGV0ZTtcbiAgICBjb25zdHJ1Y3Rvcih1c2VDb25jdXJyZW50V29ya2VycyA9IHRydWUsIHRlcm1pbmF0ZU9uQ29tcGxldGUgPSB0cnVlKSB7XG4gICAgICAgIGNvbnN0IHRocmVhZENvdW50ID0gbmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3k7XG4gICAgICAgIHRoaXMuX3dvcmtlckNvdW50ID0gdXNlQ29uY3VycmVudFdvcmtlcnMgPyBNYXRoLm1heCh0aHJlYWRDb3VudCAtIDIsIDEpIDogMTtcbiAgICAgICAgdGhpcy5fd29ya2VycyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudCkuZmlsbChudWxsKVxuICAgICAgICAgICAgLm1hcCgoKSA9PiBuZXcgV29ya2VyKG5ldyBVUkwoJy4vZGlzdGFuY2UtbWF0cml4LXdvcmtlcicsIGltcG9ydC5tZXRhLnVybCkpKTtcbiAgICAgICAgdGhpcy5fdGVybWluYXRlT25Db21wbGV0ZSA9IHRlcm1pbmF0ZU9uQ29tcGxldGU7XG4gICAgfVxuICAgIDtcbiAgICBhc3luYyBjYWxjKHZhbHVlcywgZm5OYW1lLCBub3JtYWxpemUgPSB0cnVlLCBvcHRzKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxlbiA9IHZhbHVlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsTGVuZ3RoID0gbGVuICogKGxlbiAtIDEpIC8gMjsgLy8gc2l6ZSBvZiByZWR1Y2VkIGRpc3RhbmNlIG1hdHJpeFxuICAgICAgICAgICAgICAgIHRoaXMuX3dvcmtlckNvdW50ID0gTWF0aC5taW4odGhpcy5fd29ya2VyQ291bnQsIHRvdGFsTGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjaHVua1NpemUgPSB0b3RhbExlbmd0aCAvIHRoaXMuX3dvcmtlckNvdW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlTWF0cml4ID0gbmV3IEZsb2F0MzJBcnJheSh0b3RhbExlbmd0aCk7XG4gICAgICAgICAgICAgICAgbGV0IGVuZFJvdyA9IDA7XG4gICAgICAgICAgICAgICAgbGV0IGVuZENvbCA9IDE7XG4gICAgICAgICAgICAgICAgLy8gbWlubWF4IGZvciBub3JtYWxpemF0aW9uXG4gICAgICAgICAgICAgICAgbGV0IGxtaW4gPSAwO1xuICAgICAgICAgICAgICAgIGxldCBsbWF4ID0gTnVtYmVyLk1JTl9WQUxVRTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX3dvcmtlckNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBNYXRoLmZsb29yKGkgKiBjaHVua1NpemUpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSAoaSA9PT0gdGhpcy5fd29ya2VyQ291bnQgLSAxKSA/IHRvdGFsTGVuZ3RoIDogTWF0aC5mbG9vcigoaSArIDEpICogY2h1bmtTaXplKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRSb3cgPSBlbmRSb3c7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0Q29sID0gZW5kQ29sO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSAhPT0gdGhpcy5fd29ya2VyQ291bnQgLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGVzZSBmb3JtdWxhcyBtYXAgdGhlIGxpbmVhciBpbmRleCB0byB0aGUgdXBwZXIgdHJpYW5ndWxhciBtYXRyaXggaW5kaWNlc1xuICAgICAgICAgICAgICAgICAgICAgICAgZW5kUm93ID0gbGVuIC0gMiAtIE1hdGguZmxvb3IoTWF0aC5zcXJ0KC04ICogZW5kICsgNCAqIGxlbiAqIChsZW4gLSAxKSAtIDcpIC8gMiAtIDAuNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRDb2wgPSBlbmQgLSBsZW4gKiBlbmRSb3cgKyBNYXRoLmZsb29yKChlbmRSb3cgKyAxKSAqIChlbmRSb3cgKyAyKSAvIDIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3dvcmtlcnNbaV0ucG9zdE1lc3NhZ2UoeyB2YWx1ZXMsIGZuTmFtZSwgc3RhcnRSb3csIHN0YXJ0Q29sLCBjaHVuY2tTaXplOiBlbmQgLSBzdGFydCwgb3B0cyB9KTtcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZXNbaV0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZVdvcmtlciwgcmVqZWN0V29ya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl93b3JrZXJzW2ldLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGRpc3RhbmNlTWF0cml4RGF0YSwgbWluLCBtYXggfSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGVybWluYXRlT25Db21wbGV0ZSAmJiB0aGlzLl93b3JrZXJzW2ldLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3RXb3JrZXIoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2VNYXRyaXguc2V0KGRpc3RhbmNlTWF0cml4RGF0YSwgc3RhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWluIDwgbG1pbilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxtaW4gPSBtaW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXggPiBsbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG1heCA9IG1heDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZVdvcmtlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZSlcbiAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2VNYXRyaXguZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7IGRpc3RhbmNlTWF0cml4W2luZGV4XSA9ICh2YWx1ZSAtIGxtaW4pIC8gKGxtYXggLSBsbWluKTsgfSk7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShkaXN0YW5jZU1hdHJpeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHRlcm1pbmF0ZSgpIHtcbiAgICAgICAgdGhpcy5fd29ya2Vycy5mb3JFYWNoKCh3b3JrZXIpID0+IHdvcmtlci50ZXJtaW5hdGUoKSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWkdsemRHRnVZMlV0YldGMGNtbDRMWE5sY25acFkyVXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKa2FYTjBZVzVqWlMxdFlYUnlhWGd0YzJWeWRtbGpaUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFTeE5RVUZOTEU5QlFVOHNjVUpCUVhGQ08wbEJRM1JDTEZGQlFWRXNRMEZCVnp0SlFVTnVRaXhaUVVGWkxFTkJRVk03U1VGRGNrSXNiMEpCUVc5Q0xFTkJRVlU3U1VGRGRFTXNXVUZCYlVJc2IwSkJRVzlDTEVkQlFVY3NTVUZCU1N4RlFVRkZMRzFDUVVGdFFpeEhRVUZITEVsQlFVazdVVUZEZUVVc1RVRkJUU3hYUVVGWExFZEJRVWNzVTBGQlV5eERRVUZETEcxQ1FVRnRRaXhEUVVGRE8xRkJRMnhFTEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc2IwSkJRVzlDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zVjBGQlZ5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6VkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTTdZVUZEY0VRc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExEQkNRVUV3UWl4RlFVRkZMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUXk5RkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1IwRkJSeXh0UWtGQmJVSXNRMEZCUXp0SlFVTnNSQ3hEUVVGRE8wbEJRVUVzUTBGQlF6dEpRVVZMTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVrc1RVRkJLMElzUlVGQlJTeE5RVUZ2UWl4RlFVTjRSU3hUUVVGVExFZEJRVWNzU1VGQlNTeEZRVUZGTEVsQlFYbENPMUZCUXpORExFOUJRVThzU1VGQlNTeFBRVUZQTEVOQlFVTXNTMEZCU3l4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzUlVGQlJUdFpRVU16UXl4SlFVRkpPMmRDUVVOR0xFMUJRVTBzUjBGQlJ5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNN1owSkJRekZDTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGblFpeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1owSkJRemRFTEUxQlFVMHNWMEZCVnl4SFFVRkhMRWRCUVVjc1IwRkJSeXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhyUTBGQmEwTTdaMEpCUXpORkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEZkQlFWY3NRMEZCUXl4RFFVRkRPMmRDUVVNM1JDeE5RVUZOTEZOQlFWTXNSMEZCUnl4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF6dG5Ra0ZEYkVRc1RVRkJUU3hqUVVGakxFZEJRVWNzU1VGQlNTeFpRVUZaTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1owSkJRM0pFTEVsQlFVa3NUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRFppeEpRVUZKTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNN1owSkJRMllzTWtKQlFUSkNPMmRDUVVNelFpeEpRVUZKTEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNN1owSkJRMklzU1VGQlNTeEpRVUZKTEVkQlFVY3NUVUZCVFN4RFFVRkRMRk5CUVZNc1EwRkJRenRuUWtGRE5VSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3YjBKQlF6RkRMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRE8yOUNRVU40UXl4TlFVRk5MRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU03YjBKQlF6RkdMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzUTBGQlF6dHZRa0ZEZUVJc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeERRVUZETzI5Q1FVTjRRaXhKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRU5CUVVNc1JVRkJSVHQzUWtGREwwSXNOa1ZCUVRaRk8zZENRVU0zUlN4TlFVRk5MRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRPM2RDUVVOMlJpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1IwRkJSeXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dHhRa0ZETTBVN2IwSkJRMFFzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRkZCUVZFc1JVRkJSU3hSUVVGUkxFVkJRVVVzVlVGQlZTeEZRVUZGTEVkQlFVY3NSMEZCUnl4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRExFTkJRVU1zUTBGQlF6dHZRa0ZEYkVjc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NUMEZCVHl4RFFVRkRMRU5CUVVNc1lVRkJZU3hGUVVGRkxGbEJRVmtzUlVGQlJTeEZRVUZGTzNkQ1FVTjRSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZNc1IwRkJSeXhEUVVGRExFVkJRVU1zU1VGQlNTeEZRVUZGTEVWQlFVTXNTMEZCU3l4RlFVRkZMR3RDUVVGclFpeEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVNc1JVRkJReXhGUVVGUkxFVkJRVVU3TkVKQlEyNUdMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPelJDUVVNeFJDeEpRVUZKTEV0QlFVc3NSVUZCUlR0blEwRkRWQ3haUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdOa0pCUTNKQ08ybERRVUZOTzJkRFFVTk1MR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zYTBKQlFXdENMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03WjBOQlF6bERMRWxCUVVrc1IwRkJSeXhIUVVGSExFbEJRVWs3YjBOQlExb3NTVUZCU1N4SFFVRkhMRWRCUVVjc1EwRkJRenRuUTBGRFlpeEpRVUZKTEVkQlFVY3NSMEZCUnl4SlFVRkpPMjlEUVVOYUxFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTTdaME5CUTJJc1lVRkJZU3hGUVVGRkxFTkJRVU03TmtKQlEycENPM2RDUVVOSUxFTkJRVU1zUTBGQlF6dHZRa0ZEU2l4RFFVRkRMRU5CUVVNc1EwRkJRenRwUWtGRFNqdG5Ra0ZEUkN4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdaMEpCUXpWQ0xFbEJRVWtzVTBGQlV6dHZRa0ZEV0N4alFVRmpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEV0QlFVc3NSVUZCUlN4RlFVRkZMRWRCUVVjc1kwRkJZeXhEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlEzaEhMRTlCUVU4c1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF6dGhRVU42UWp0WlFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRk8yZENRVU5XTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRoUVVOWU8xRkJRMGdzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlUwc1UwRkJVenRSUVVOa0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNc1EwRkJRenRKUVVONFJDeERRVUZETzBOQlEwb2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdlMHR1YjNkdVRXVjBjbWxqYzMwZ1puSnZiU0FuTGk0dmRIbHdaV1F0YldWMGNtbGpjeWM3WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJFYVhOMFlXNWpaVTFoZEhKcGVGTmxjblpwWTJVZ2UxeHVJQ0FnSUhCeWFYWmhkR1VnWDNkdmNtdGxjbk02SUZkdmNtdGxjbHRkTzF4dUlDQWdJSEJ5YVhaaGRHVWdYM2R2Y210bGNrTnZkVzUwT2lCdWRXMWlaWEk3WEc0Z0lDQWdjSEpwZG1GMFpTQmZkR1Z5YldsdVlYUmxUMjVEYjIxd2JHVjBaVG9nWW05dmJHVmhianRjYmlBZ0lDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9kWE5sUTI5dVkzVnljbVZ1ZEZkdmNtdGxjbk1nUFNCMGNuVmxMQ0IwWlhKdGFXNWhkR1ZQYmtOdmJYQnNaWFJsSUQwZ2RISjFaU2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdkR2h5WldGa1EyOTFiblFnUFNCdVlYWnBaMkYwYjNJdWFHRnlaSGRoY21WRGIyNWpkWEp5Wlc1amVUdGNiaUFnSUNBZ0lIUm9hWE11WDNkdmNtdGxja052ZFc1MElEMGdkWE5sUTI5dVkzVnljbVZ1ZEZkdmNtdGxjbk1nUHlCTllYUm9MbTFoZUNoMGFISmxZV1JEYjNWdWRDQXRJRElzSURFcElEb2dNVHRjYmlBZ0lDQWdJSFJvYVhNdVgzZHZjbXRsY25NZ1BTQnVaWGNnUVhKeVlYa29kR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUXBMbVpwYkd3b2JuVnNiQ2xjYmlBZ0lDQWdJQ0FnTG0xaGNDZ29LU0E5UGlCdVpYY2dWMjl5YTJWeUtHNWxkeUJWVWt3b0p5NHZaR2x6ZEdGdVkyVXRiV0YwY21sNExYZHZjbXRsY2ljc0lHbHRjRzl5ZEM1dFpYUmhMblZ5YkNrcEtUdGNiaUFnSUNBZ0lIUm9hWE11WDNSbGNtMXBibUYwWlU5dVEyOXRjR3hsZEdVZ1BTQjBaWEp0YVc1aGRHVlBia052YlhCc1pYUmxPMXh1SUNBZ0lIMDdYRzVjYmlBZ0lDQndkV0pzYVdNZ1lYTjVibU1nWTJGc1l6eFVQaWgyWVd4MVpYTTZJRUZ5Y21GNVBGUStJSHdnUVhKeVlYbE1hV3RsUEZRK0xDQm1iazVoYldVNklFdHViM2R1VFdWMGNtbGpjeXhjYmlBZ0lDQWdJRzV2Y20xaGJHbDZaU0E5SUhSeWRXVXNJRzl3ZEhNL09pQjdXMTg2SUhOMGNtbHVaMTA2SUdGdWVYMHBPaUJRY205dGFYTmxQRVpzYjJGME16SkJjbkpoZVQ0Z2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtHRnplVzVqSUNoeVpYTnZiSFpsTENCeVpXcGxZM1FwSUQwK0lIdGNiaUFnSUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCc1pXNGdQU0IyWVd4MVpYTXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElIQnliMjFwYzJWeklEMGdibVYzSUVGeWNtRjVQRkJ5YjIxcGMyVThkbTlwWkQ0K0tIUm9hWE11WDNkdmNtdGxja052ZFc1MEtUdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQjBiM1JoYkV4bGJtZDBhQ0E5SUd4bGJpQXFJQ2hzWlc0Z0xTQXhLU0F2SURJN0lDOHZJSE5wZW1VZ2IyWWdjbVZrZFdObFpDQmthWE4wWVc1alpTQnRZWFJ5YVhoY2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDQTlJRTFoZEdndWJXbHVLSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBMQ0IwYjNSaGJFeGxibWQwYUNrN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1kyaDFibXRUYVhwbElEMGdkRzkwWVd4TVpXNW5kR2dnTHlCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCa2FYTjBZVzVqWlUxaGRISnBlQ0E5SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvZEc5MFlXeE1aVzVuZEdncE8xeHVJQ0FnSUNBZ0lDQWdJR3hsZENCbGJtUlNiM2NnUFNBd08xeHVJQ0FnSUNBZ0lDQWdJR3hsZENCbGJtUkRiMndnUFNBeE8xeHVJQ0FnSUNBZ0lDQWdJQzh2SUcxcGJtMWhlQ0JtYjNJZ2JtOXliV0ZzYVhwaGRHbHZibHh1SUNBZ0lDQWdJQ0FnSUd4bGRDQnNiV2x1SUQwZ01EdGNiaUFnSUNBZ0lDQWdJQ0JzWlhRZ2JHMWhlQ0E5SUU1MWJXSmxjaTVOU1U1ZlZrRk1WVVU3WEc0Z0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TGw5M2IzSnJaWEpEYjNWdWREc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnpkR0Z5ZENBOUlFMWhkR2d1Wm14dmIzSW9hU0FxSUdOb2RXNXJVMmw2WlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmxibVFnUFNBb2FTQTlQVDBnZEdocGN5NWZkMjl5YTJWeVEyOTFiblFnTFNBeEtTQS9JSFJ2ZEdGc1RHVnVaM1JvSURvZ1RXRjBhQzVtYkc5dmNpZ29hU0FySURFcElDb2dZMmgxYm10VGFYcGxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhOMFlYSjBVbTkzSUQwZ1pXNWtVbTkzTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2MzUmhjblJEYjJ3Z1BTQmxibVJEYjJ3N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FTQWhQVDBnZEdocGN5NWZkMjl5YTJWeVEyOTFiblFnTFNBeEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvWlhObElHWnZjbTExYkdGeklHMWhjQ0IwYUdVZ2JHbHVaV0Z5SUdsdVpHVjRJSFJ2SUhSb1pTQjFjSEJsY2lCMGNtbGhibWQxYkdGeUlHMWhkSEpwZUNCcGJtUnBZMlZ6WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR1Z1WkZKdmR5QTlJR3hsYmlBdElESWdMU0JOWVhSb0xtWnNiMjl5S0UxaGRHZ3VjM0Z5ZENndE9DQXFJR1Z1WkNBcklEUWdLaUJzWlc0Z0tpQW9iR1Z1SUMwZ01Ta2dMU0EzS1NBdklESWdMU0F3TGpVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJtUkRiMndnUFNCbGJtUWdMU0JzWlc0Z0tpQmxibVJTYjNjZ0t5Qk5ZWFJvTG1ac2IyOXlLQ2hsYm1SU2IzY2dLeUF4S1NBcUlDaGxibVJTYjNjZ0t5QXlLU0F2SURJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1ZmQyOXlhMlZ5YzF0cFhTNXdiM04wVFdWemMyRm5aU2g3ZG1Gc2RXVnpMQ0JtYms1aGJXVXNJSE4wWVhKMFVtOTNMQ0J6ZEdGeWRFTnZiQ3dnWTJoMWJtTnJVMmw2WlRvZ1pXNWtJQzBnYzNSaGNuUXNJRzl3ZEhOOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhCeWIyMXBjMlZ6VzJsZElEMGdibVYzSUZCeWIyMXBjMlVvS0hKbGMyOXNkbVZYYjNKclpYSXNJSEpsYW1WamRGZHZjbXRsY2lrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TGw5M2IzSnJaWEp6VzJsZExtOXViV1Z6YzJGblpTQTlJQ2g3WkdGMFlUb2dlMlZ5Y205eUxDQmthWE4wWVc1alpVMWhkSEpwZUVSaGRHRXNJRzFwYml3Z2JXRjRmWDBwT2lCMmIybGtJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbDkwWlhKdGFXNWhkR1ZQYmtOdmJYQnNaWFJsSUNZbUlIUm9hWE11WDNkdmNtdGxjbk5iYVYwdWRHVnliV2x1WVhSbEtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpXcGxZM1JYYjNKclpYSW9aWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmthWE4wWVc1alpVMWhkSEpwZUM1elpYUW9aR2x6ZEdGdVkyVk5ZWFJ5YVhoRVlYUmhMQ0J6ZEdGeWRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JXbHVJRHdnYkcxcGJpbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkcxcGJpQTlJRzFwYmp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h0WVhnZ1BpQnNiV0Y0S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNiV0Y0SUQwZ2JXRjRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WemIyeDJaVmR2Y210bGNpZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQmhkMkZwZENCUWNtOXRhWE5sTG1Gc2JDaHdjbTl0YVhObGN5azdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHNXZjbTFoYkdsNlpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUdScGMzUmhibU5sVFdGMGNtbDRMbVp2Y2tWaFkyZ29LSFpoYkhWbExDQnBibVJsZUNrZ1BUNGdleUJrYVhOMFlXNWpaVTFoZEhKcGVGdHBibVJsZUYwZ1BTQW9kbUZzZFdVZ0xTQnNiV2x1S1NBdklDaHNiV0Y0SUMwZ2JHMXBiaWs3SUgwcE8xeHVJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVW9aR2x6ZEdGdVkyVk5ZWFJ5YVhncE8xeHVJQ0FnSUNBZ0lDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnFaV04wS0dVcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndkV0pzYVdNZ2RHVnliV2x1WVhSbEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmZDI5eWEyVnljeTVtYjNKRllXTm9LQ2gzYjNKclpYSXBJRDArSUhkdmNtdGxjaTUwWlhKdGFXNWhkR1VvS1NrN1hHNGdJQ0FnZlZ4dWZWeHVJbDE5IiwiLyoqXG4gKiBAbGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cbi8qKlxuICogU2ltcGxlIHJhbmRvbSBpbnRlZ2VyIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YXVSYW5kSW50KG4sIHJhbmRvbSkge1xuICAgIHJldHVybiBNYXRoLmZsb29yKHJhbmRvbSgpICogbik7XG59XG4vKipcbiAqIFNpbXBsZSByYW5kb20gZmxvYXQgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRhdVJhbmQocmFuZG9tKSB7XG4gICAgcmV0dXJuIHJhbmRvbSgpO1xufVxuLyoqXG4gKiBDb21wdXRlIHRoZSAoc3RhbmRhcmQgbDIpIG5vcm0gb2YgYSB2ZWN0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtKHZlYykge1xuICAgIGxldCByZXN1bHQgPSAwO1xuICAgIGZvciAobGV0IGl0ZW0gb2YgdmVjKSB7XG4gICAgICAgIHJlc3VsdCArPSBpdGVtICoqIDI7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnNxcnQocmVzdWx0KTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhbiBlbXB0eSBhcnJheSAoZmlsbGVkIHdpdGggdW5kZWZpbmVkKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1wdHkobikge1xuICAgIGNvbnN0IG91dHB1dCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIG91dHB1dC5wdXNoKHVuZGVmaW5lZCk7XG4gICAgfVxuICAgIHJldHVybiBvdXRwdXQ7XG59XG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgZmlsbGVkIHdpdGggaW5kZXggdmFsdWVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByYW5nZShuKSB7XG4gICAgcmV0dXJuIGVtcHR5KG4pLm1hcCgoXywgaSkgPT4gaSk7XG59XG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgZmlsbGVkIHdpdGggYSBzcGVjaWZpYyB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsbGVkKG4sIHYpIHtcbiAgICByZXR1cm4gZW1wdHkobikubWFwKCgpID0+IHYpO1xufVxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IGZpbGxlZCB3aXRoIHplcm9zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6ZXJvcyhuKSB7XG4gICAgcmV0dXJuIGZpbGxlZChuLCAwKTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBmaWxsZWQgd2l0aCBvbmVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvbmVzKG4pIHtcbiAgICByZXR1cm4gZmlsbGVkKG4sIDEpO1xufVxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IGZyb20gYSB0byBiLCBvZiBsZW5ndGggbGVuLCBpbmNsdXNpdmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpbmVhcihhLCBiLCBsZW4pIHtcbiAgICByZXR1cm4gZW1wdHkobGVuKS5tYXAoKF8sIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIGEgKyBpICogKChiIC0gYSkgLyAobGVuIC0gMSkpO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBzdW0gb2YgYW4gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1bShpbnB1dCkge1xuICAgIHJldHVybiBpbnB1dC5yZWR1Y2UoKHN1bSwgdmFsKSA9PiBzdW0gKyB2YWwpO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBtZWFuIG9mIGFuIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZWFuKGlucHV0KSB7XG4gICAgcmV0dXJuIHN1bShpbnB1dCkgLyBpbnB1dC5sZW5ndGg7XG59XG4vKipcbiAqIFJldHVybnMgdGhlIG1heGltdW0gdmFsdWUgb2YgYW4gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1heChpbnB1dCkge1xuICAgIGxldCBtYXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbWF4ID0gaW5wdXRbaV0gPiBtYXggPyBpbnB1dFtpXSA6IG1heDtcbiAgICB9XG4gICAgcmV0dXJuIG1heDtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgbWF4aW11bSB2YWx1ZSBvZiBhIDJkIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXgyZChpbnB1dCkge1xuICAgIGxldCBtYXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpbnB1dFtpXS5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgbWF4ID0gaW5wdXRbaV1bal0gPiBtYXggPyBpbnB1dFtpXVtqXSA6IG1heDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWF4O1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBuU2FtcGxlcyBtYW55IGludGVnZXJzIGZyb20gMCB0byBwb29sU2l6ZSBzdWNoIHRoYXQgbm9cbiAqIGludGVnZXIgaXMgc2VsZWN0ZWQgdHdpY2UuIFRoZSBkdXBsaWNhdGlvbiBjb25zdHJhaW50IGlzIGFjaGlldmVkIHZpYVxuICogcmVqZWN0aW9uIHNhbXBsaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVqZWN0aW9uU2FtcGxlKG5TYW1wbGVzLCBwb29sU2l6ZSwgcmFuZG9tKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gemVyb3MoblNhbXBsZXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgblNhbXBsZXM7IGkrKykge1xuICAgICAgICBsZXQgcmVqZWN0U2FtcGxlID0gdHJ1ZTtcbiAgICAgICAgd2hpbGUgKHJlamVjdFNhbXBsZSkge1xuICAgICAgICAgICAgY29uc3QgaiA9IHRhdVJhbmRJbnQocG9vbFNpemUsIHJhbmRvbSk7XG4gICAgICAgICAgICBsZXQgYnJva2VuID0gZmFsc2U7XG4gICAgICAgICAgICBmb3IgKGxldCBrID0gMDsgayA8IGk7IGsrKykge1xuICAgICAgICAgICAgICAgIGlmIChqID09PSByZXN1bHRba10pIHtcbiAgICAgICAgICAgICAgICAgICAgYnJva2VuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFicm9rZW4pIHtcbiAgICAgICAgICAgICAgICByZWplY3RTYW1wbGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc3VsdFtpXSA9IGo7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbi8qKlxuICogUmVzaGFwZXMgYSAxZCBhcnJheSBpbnRvIGEgMkQgb2YgZ2l2ZW4gZGltZW5zaW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc2hhcGUyZCh4LCBhLCBiKSB7XG4gICAgY29uc3Qgcm93cyA9IFtdO1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICBpZiAoeC5sZW5ndGggIT09IGEgKiBiKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQXJyYXkgZGltZW5zaW9ucyBtdXN0IG1hdGNoIGlucHV0IGxlbmd0aC4nKTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhOyBpKyspIHtcbiAgICAgICAgY29uc3QgY29sID0gW107XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYjsgaisrKSB7XG4gICAgICAgICAgICBjb2wucHVzaCh4W2luZGV4XSk7XG4gICAgICAgICAgICBpbmRleCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIHJvd3MucHVzaChjb2wpO1xuICAgICAgICBjb3VudCArPSAxO1xuICAgIH1cbiAgICByZXR1cm4gcm93cztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRYUnBiSE11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjFkR2xzY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3T3pzN096czdPenM3T3pzN096czdSMEZwUWtjN1FVRkpTRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4VlFVRlZMRU5CUVVNc1EwRkJVeXhGUVVGRkxFMUJRV2RDTzBsQlEzQkVMRTlCUVU4c1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOc1F5eERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVDBGQlR5eERRVUZETEUxQlFXZENPMGxCUTNSRExFOUJRVThzVFVGQlRTeEZRVUZGTEVOQlFVTTdRVUZEYkVJc1EwRkJRenRCUVVORU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRWxCUVVrc1EwRkJReXhIUVVGaE8wbEJRMmhETEVsQlFVa3NUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVObUxFdEJRVXNzU1VGQlNTeEpRVUZKTEVsQlFVa3NSMEZCUnl4RlFVRkZPMUZCUTNCQ0xFMUJRVTBzU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4RFFVRkRPMHRCUTNKQ08wbEJRMFFzVDBGQlR5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRek5DTEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeExRVUZMTEVOQlFVTXNRMEZCVXp0SlFVTTNRaXhOUVVGTkxFMUJRVTBzUjBGQlowSXNSVUZCUlN4RFFVRkRPMGxCUXk5Q0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZETVVJc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0TFFVTjRRanRKUVVORUxFOUJRVThzVFVGQlRTeERRVUZETzBGQlEyaENMRU5CUVVNN1FVRkZSRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4TFFVRkxMRU5CUVVNc1EwRkJVenRKUVVNM1FpeFBRVUZQTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU51UXl4RFFVRkRPMEZCUlVRN08wZEJSVWM3UVVGRFNDeE5RVUZOTEZWQlFWVXNUVUZCVFN4RFFVRkRMRU5CUVZNc1JVRkJSU3hEUVVGVE8wbEJRM3BETEU5QlFVOHNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVNdlFpeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzUzBGQlN5eERRVUZETEVOQlFWTTdTVUZETjBJc1QwRkJUeXhOUVVGTkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNSQ0xFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3hKUVVGSkxFTkJRVU1zUTBGQlV6dEpRVU0xUWl4UFFVRlBMRTFCUVUwc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEZEVJc1EwRkJRenRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRTFCUVUwc1EwRkJReXhEUVVGVExFVkJRVVVzUTBGQlV5eEZRVUZGTEVkQlFWYzdTVUZEZEVRc1QwRkJUeXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFGQlF6ZENMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRka01zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEVEN4RFFVRkRPMEZCUlVRN08wZEJSVWM3UVVGRFNDeE5RVUZOTEZWQlFWVXNSMEZCUnl4RFFVRkRMRXRCUVdVN1NVRkRha01zVDBGQlR5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJReTlETEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeEpRVUZKTEVOQlFVTXNTMEZCWlR0SlFVTnNReXhQUVVGUExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRE8wRkJRMjVETEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeEhRVUZITEVOQlFVTXNTMEZCWlR0SlFVTnFReXhKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEV2l4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFJRVU55UXl4SFFVRkhMRWRCUVVjc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNN1MwRkRka003U1VGRFJDeFBRVUZQTEVkQlFVY3NRMEZCUXp0QlFVTmlMRU5CUVVNN1FVRkZSRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4TFFVRkxMRU5CUVVNc1MwRkJhVUk3U1VGRGNrTXNTVUZCU1N4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMW9zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1VVRkRja01zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRGVFTXNSMEZCUnl4SFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETzFOQlF6ZERPMHRCUTBZN1NVRkRSQ3hQUVVGUExFZEJRVWNzUTBGQlF6dEJRVU5pTEVOQlFVTTdRVUZGUkRzN096dEhRVWxITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR1ZCUVdVc1EwRkROMElzVVVGQlowSXNSVUZEYUVJc1VVRkJaMElzUlVGRGFFSXNUVUZCWjBJN1NVRkZhRUlzVFVGQlRTeE5RVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wbEJReTlDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFJRVUZSTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1VVRkRha01zU1VGQlNTeFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUTNoQ0xFOUJRVThzV1VGQldTeEZRVUZGTzFsQlEyNUNMRTFCUVUwc1EwRkJReXhIUVVGSExGVkJRVlVzUTBGQlF5eFJRVUZSTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRka01zU1VGQlNTeE5RVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRPMWxCUTI1Q0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUXpGQ0xFbEJRVWtzUTBGQlF5eExRVUZMTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSVHR2UWtGRGJrSXNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJRenR2UWtGRFpDeE5RVUZOTzJsQ1FVTlFPMkZCUTBZN1dVRkRSQ3hKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTzJkQ1FVTllMRmxCUVZrc1IwRkJSeXhMUVVGTExFTkJRVU03WVVGRGRFSTdXVUZEUkN4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFOQlEyWTdTMEZEUmp0SlFVTkVMRTlCUVU4c1RVRkJUU3hEUVVGRE8wRkJRMmhDTEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeFRRVUZUTEVOQlFVa3NRMEZCVFN4RlFVRkZMRU5CUVZNc1JVRkJSU3hEUVVGVE8wbEJRM1pFTEUxQlFVMHNTVUZCU1N4SFFVRlZMRVZCUVVVc1EwRkJRenRKUVVOMlFpeEpRVUZKTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRaQ3hKUVVGSkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGWkN4SlFVRkpMRU5CUVVNc1EwRkJReXhOUVVGTkxFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlR0UlFVTjBRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERKRFFVRXlReXhEUVVGRExFTkJRVU03UzBGRE9VUTdTVUZGUkN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xRkJRekZDTEUxQlFVMHNSMEZCUnl4SFFVRlJMRVZCUVVVc1EwRkJRenRSUVVOd1FpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXpGQ0xFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGJrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJRenRUUVVOYU8xRkJRMFFzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVObUxFdEJRVXNzU1VGQlNTeERRVUZETEVOQlFVTTdTMEZEV2p0SlFVTkVMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMlFzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4dUlDb2dRR3hwWTJWdWMyVmNiaUFxWEc0Z0tpQkRiM0I1Y21sbmFIUWdNakF4T1NCSGIyOW5iR1VnVEV4RExpQkJiR3dnVW1sbmFIUnpJRkpsYzJWeWRtVmtMbHh1SUNwY2JpQXFJRXhwWTJWdWMyVmtJSFZ1WkdWeUlIUm9aU0JCY0dGamFHVWdUR2xqWlc1elpTd2dWbVZ5YzJsdmJpQXlMakFnS0hSb1pTQmNJa3hwWTJWdWMyVmNJaWs3WEc0Z0tpQjViM1VnYldGNUlHNXZkQ0IxYzJVZ2RHaHBjeUJtYVd4bElHVjRZMlZ3ZENCcGJpQmpiMjF3YkdsaGJtTmxJSGRwZEdnZ2RHaGxJRXhwWTJWdWMyVXVYRzRnS2lCWmIzVWdiV0Y1SUc5aWRHRnBiaUJoSUdOdmNIa2diMllnZEdobElFeHBZMlZ1YzJVZ1lYUmNiaUFxWEc0Z0tpQWdJQ0FnYUhSMGNEb3ZMM2QzZHk1aGNHRmphR1V1YjNKbkwyeHBZMlZ1YzJWekwweEpRMFZPVTBVdE1pNHdYRzRnS2x4dUlDb2dWVzVzWlhOeklISmxjWFZwY21Wa0lHSjVJR0Z3Y0d4cFkyRmliR1VnYkdGM0lHOXlJR0ZuY21WbFpDQjBieUJwYmlCM2NtbDBhVzVuTENCemIyWjBkMkZ5WlZ4dUlDb2daR2x6ZEhKcFluVjBaV1FnZFc1a1pYSWdkR2hsSUV4cFkyVnVjMlVnYVhNZ1pHbHpkSEpwWW5WMFpXUWdiMjRnWVc0Z1hDSkJVeUJKVTF3aUlFSkJVMGxUTEZ4dUlDb2dWMGxVU0U5VlZDQlhRVkpTUVU1VVNVVlRJRTlTSUVOUFRrUkpWRWxQVGxNZ1QwWWdRVTVaSUV0SlRrUXNJR1ZwZEdobGNpQmxlSEJ5WlhOeklHOXlJR2x0Y0d4cFpXUXVYRzRnS2lCVFpXVWdkR2hsSUV4cFkyVnVjMlVnWm05eUlIUm9aU0J6Y0dWamFXWnBZeUJzWVc1bmRXRm5aU0JuYjNabGNtNXBibWNnY0dWeWJXbHpjMmx2Ym5NZ1lXNWtYRzRnS2lCc2FXMXBkR0YwYVc5dWN5QjFibVJsY2lCMGFHVWdUR2xqWlc1elpTNWNiaUFxSUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVnh1SUNvdlhHNWNibWx0Y0c5eWRDQjdJRkpoYm1SdmJVWnVJSDBnWm5KdmJTQW5MaTkxYldGd0p6dGNibHh1THlvcVhHNGdLaUJUYVcxd2JHVWdjbUZ1Wkc5dElHbHVkR1ZuWlhJZ1puVnVZM1JwYjI1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFJoZFZKaGJtUkpiblFvYmpvZ2JuVnRZbVZ5TENCeVlXNWtiMjA2SUZKaGJtUnZiVVp1S1NCN1hHNGdJSEpsZEhWeWJpQk5ZWFJvTG1ac2IyOXlLSEpoYm1SdmJTZ3BJQ29nYmlrN1hHNTlYRzVjYmk4cUtseHVJQ29nVTJsdGNHeGxJSEpoYm1SdmJTQm1iRzloZENCbWRXNWpkR2x2Ymx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkR0YxVW1GdVpDaHlZVzVrYjIwNklGSmhibVJ2YlVadUtTQjdYRzRnSUhKbGRIVnliaUJ5WVc1a2IyMG9LVHRjYm4xY2JpOHFLbHh1SUNvZ1EyOXRjSFYwWlNCMGFHVWdLSE4wWVc1a1lYSmtJR3d5S1NCdWIzSnRJRzltSUdFZ2RtVmpkRzl5TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdibTl5YlNoMlpXTTZJRzUxYldKbGNsdGRLU0I3WEc0Z0lHeGxkQ0J5WlhOMWJIUWdQU0F3TzF4dUlDQm1iM0lnS0d4bGRDQnBkR1Z0SUc5bUlIWmxZeWtnZTF4dUlDQWdJSEpsYzNWc2RDQXJQU0JwZEdWdElDb3FJREk3WEc0Z0lIMWNiaUFnY21WMGRYSnVJRTFoZEdndWMzRnlkQ2h5WlhOMWJIUXBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFTnlaV0YwWlhNZ1lXNGdaVzF3ZEhrZ1lYSnlZWGtnS0dacGJHeGxaQ0IzYVhSb0lIVnVaR1ZtYVc1bFpDbGNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdWdGNIUjVLRzQ2SUc1MWJXSmxjaWs2SUhWdVpHVm1hVzVsWkZ0ZElIdGNiaUFnWTI5dWMzUWdiM1YwY0hWME9pQjFibVJsWm1sdVpXUmJYU0E5SUZ0ZE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUc0N0lHa3JLeWtnZTF4dUlDQWdJRzkxZEhCMWRDNXdkWE5vS0hWdVpHVm1hVzVsWkNrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUc5MWRIQjFkRHRjYm4xY2JseHVMeW9xWEc0Z0tpQkRjbVZoZEdWeklHRnVJR0Z5Y21GNUlHWnBiR3hsWkNCM2FYUm9JR2x1WkdWNElIWmhiSFZsYzF4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbUZ1WjJVb2Jqb2diblZ0WW1WeUtUb2diblZ0WW1WeVcxMGdlMXh1SUNCeVpYUjFjbTRnWlcxd2RIa29iaWt1YldGd0tDaGZMQ0JwS1NBOVBpQnBLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkRjbVZoZEdWeklHRnVJR0Z5Y21GNUlHWnBiR3hsWkNCM2FYUm9JR0VnYzNCbFkybG1hV01nZG1Gc2RXVmNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdacGJHeGxaQ2h1T2lCdWRXMWlaWElzSUhZNklHNTFiV0psY2lrNklHNTFiV0psY2x0ZElIdGNiaUFnY21WMGRYSnVJR1Z0Y0hSNUtHNHBMbTFoY0Nnb0tTQTlQaUIyS1R0Y2JuMWNibHh1THlvcVhHNGdLaUJEY21WaGRHVnpJR0Z1SUdGeWNtRjVJR1pwYkd4bFpDQjNhWFJvSUhwbGNtOXpYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCNlpYSnZjeWh1T2lCdWRXMWlaWElwT2lCdWRXMWlaWEpiWFNCN1hHNGdJSEpsZEhWeWJpQm1hV3hzWldRb2Jpd2dNQ2s3WEc1OVhHNWNiaThxS2x4dUlDb2dRM0psWVhSbGN5QmhiaUJoY25KaGVTQm1hV3hzWldRZ2QybDBhQ0J2Ym1WelhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ2Ym1WektHNDZJRzUxYldKbGNpazZJRzUxYldKbGNsdGRJSHRjYmlBZ2NtVjBkWEp1SUdacGJHeGxaQ2h1TENBeEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCRGNtVmhkR1Z6SUdGdUlHRnljbUY1SUdaeWIyMGdZU0IwYnlCaUxDQnZaaUJzWlc1bmRHZ2diR1Z1TENCcGJtTnNkWE5wZG1WY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR3hwYm1WaGNpaGhPaUJ1ZFcxaVpYSXNJR0k2SUc1MWJXSmxjaXdnYkdWdU9pQnVkVzFpWlhJcE9pQnVkVzFpWlhKYlhTQjdYRzRnSUhKbGRIVnliaUJsYlhCMGVTaHNaVzRwTG0xaGNDZ29YeXdnYVNrZ1BUNGdlMXh1SUNBZ0lISmxkSFZ5YmlCaElDc2dhU0FxSUNnb1lpQXRJR0VwSUM4Z0tHeGxiaUF0SURFcEtUdGNiaUFnZlNrN1hHNTlYRzVjYmk4cUtseHVJQ29nVW1WMGRYSnVjeUIwYUdVZ2MzVnRJRzltSUdGdUlHRnljbUY1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnpkVzBvYVc1d2RYUTZJRzUxYldKbGNsdGRLVG9nYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUdsdWNIVjBMbkpsWkhWalpTZ29jM1Z0TENCMllXd3BJRDArSUhOMWJTQXJJSFpoYkNrN1hHNTlYRzVjYmk4cUtseHVJQ29nVW1WMGRYSnVjeUIwYUdVZ2JXVmhiaUJ2WmlCaGJpQmhjbkpoZVZ4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiV1ZoYmlocGJuQjFkRG9nYm5WdFltVnlXMTBwT2lCdWRXMWlaWElnZTF4dUlDQnlaWFIxY200Z2MzVnRLR2x1Y0hWMEtTQXZJR2x1Y0hWMExteGxibWQwYUR0Y2JuMWNibHh1THlvcVhHNGdLaUJTWlhSMWNtNXpJSFJvWlNCdFlYaHBiWFZ0SUhaaGJIVmxJRzltSUdGdUlHRnljbUY1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZWGdvYVc1d2RYUTZJRzUxYldKbGNsdGRLVG9nYm5WdFltVnlJSHRjYmlBZ2JHVjBJRzFoZUNBOUlEQTdYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2FXNXdkWFF1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCdFlYZ2dQU0JwYm5CMWRGdHBYU0ErSUcxaGVDQS9JR2x1Y0hWMFcybGRJRG9nYldGNE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdFlYZzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVjBkWEp1Y3lCMGFHVWdiV0Y0YVcxMWJTQjJZV3gxWlNCdlppQmhJREprSUdGeWNtRjVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdFlYZ3laQ2hwYm5CMWREb2diblZ0WW1WeVcxMWJYU2s2SUc1MWJXSmxjaUI3WEc0Z0lHeGxkQ0J0WVhnZ1BTQXdPMXh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHbHVjSFYwTG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnBibkIxZEZ0cFhTNXNaVzVuZEdnN0lHb3JLeWtnZTF4dUlDQWdJQ0FnYldGNElEMGdhVzV3ZFhSYmFWMWJhbDBnUGlCdFlYZ2dQeUJwYm5CMWRGdHBYVnRxWFNBNklHMWhlRHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdjbVYwZFhKdUlHMWhlRHRjYm4xY2JseHVMeW9xWEc0Z0tpQkhaVzVsY21GMFpTQnVVMkZ0Y0d4bGN5QnRZVzU1SUdsdWRHVm5aWEp6SUdaeWIyMGdNQ0IwYnlCd2IyOXNVMmw2WlNCemRXTm9JSFJvWVhRZ2JtOWNiaUFxSUdsdWRHVm5aWElnYVhNZ2MyVnNaV04wWldRZ2RIZHBZMlV1SUZSb1pTQmtkWEJzYVdOaGRHbHZiaUJqYjI1emRISmhhVzUwSUdseklHRmphR2xsZG1Wa0lIWnBZVnh1SUNvZ2NtVnFaV04wYVc5dUlITmhiWEJzYVc1bkxseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY21WcVpXTjBhVzl1VTJGdGNHeGxLRnh1SUNCdVUyRnRjR3hsY3pvZ2JuVnRZbVZ5TEZ4dUlDQndiMjlzVTJsNlpUb2diblZ0WW1WeUxGeHVJQ0J5WVc1a2IyMDZJRkpoYm1SdmJVWnVYRzRwT2lCdWRXMWlaWEpiWFNCN1hHNGdJR052Ym5OMElISmxjM1ZzZENBOUlIcGxjbTl6S0c1VFlXMXdiR1Z6S1R0Y2JpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0J1VTJGdGNHeGxjenNnYVNzcktTQjdYRzRnSUNBZ2JHVjBJSEpsYW1WamRGTmhiWEJzWlNBOUlIUnlkV1U3WEc0Z0lDQWdkMmhwYkdVZ0tISmxhbVZqZEZOaGJYQnNaU2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhaUE5SUhSaGRWSmhibVJKYm5Rb2NHOXZiRk5wZW1Vc0lISmhibVJ2YlNrN1hHNGdJQ0FnSUNCc1pYUWdZbkp2YTJWdUlEMGdabUZzYzJVN1hHNGdJQ0FnSUNCbWIzSWdLR3hsZENCcklEMGdNRHNnYXlBOElHazdJR3NyS3lrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYWlBOVBUMGdjbVZ6ZFd4MFcydGRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1luSnZhMlZ1SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tDRmljbTlyWlc0cElIdGNiaUFnSUNBZ0lDQWdjbVZxWldOMFUyRnRjR3hsSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J5WlhOMWJIUmJhVjBnUFNCcU8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGSmxjMmhoY0dWeklHRWdNV1FnWVhKeVlYa2dhVzUwYnlCaElESkVJRzltSUdkcGRtVnVJR1JwYldWdWMybHZibk11WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnlaWE5vWVhCbE1tUThWRDRvZURvZ1ZGdGRMQ0JoT2lCdWRXMWlaWElzSUdJNklHNTFiV0psY2lrNklGUmJYVnRkSUh0Y2JpQWdZMjl1YzNRZ2NtOTNjem9nVkZ0ZFcxMGdQU0JiWFR0Y2JpQWdiR1YwSUdOdmRXNTBJRDBnTUR0Y2JpQWdiR1YwSUdsdVpHVjRJRDBnTUR0Y2JseHVJQ0JwWmlBb2VDNXNaVzVuZEdnZ0lUMDlJR0VnS2lCaUtTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkQmNuSmhlU0JrYVcxbGJuTnBiMjV6SUcxMWMzUWdiV0YwWTJnZ2FXNXdkWFFnYkdWdVozUm9MaWNwTzF4dUlDQjlYRzVjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQmhPeUJwS3lzcElIdGNiaUFnSUNCamIyNXpkQ0JqYjJ3NklGUmJYU0E5SUZ0ZE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdvZ1BTQXdPeUJxSUR3Z1lqc2dhaXNyS1NCN1hHNGdJQ0FnSUNCamIyd3VjSFZ6YUNoNFcybHVaR1Y0WFNrN1hHNGdJQ0FnSUNCcGJtUmxlQ0FyUFNBeE8xeHVJQ0FnSUgxY2JpQWdJQ0J5YjNkekxuQjFjMmdvWTI5c0tUdGNiaUFnSUNCamIzVnVkQ0FyUFNBeE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCeWIzZHpPMXh1ZlZ4dUlsMTkiLCIvKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG4vKipcbiAqICBDb25zdHJ1Y3RvciBmb3IgdGhlIGhlYXAgb2JqZWN0cy4gVGhlIGhlYXBzIGFyZSB1c2VkXG4gKiBmb3IgYXBwcm94aW1hdGUgbmVhcmVzdCBuZWlnaGJvciBzZWFyY2gsIG1haW50YWluaW5nIGEgbGlzdCBvZiBwb3RlbnRpYWxcbiAqIG5laWdoYm9ycyBzb3J0ZWQgYnkgdGhlaXIgZGlzdGFuY2UuIFdlIGFsc28gZmxhZyBpZiBwb3RlbnRpYWwgbmVpZ2hib3JzXG4gKiBhcmUgbmV3bHkgYWRkZWQgdG8gdGhlIGxpc3Qgb3Igbm90LiBJbnRlcm5hbGx5IHRoaXMgaXMgc3RvcmVkIGFzXG4gKiBhIHNpbmdsZSBhcnJheTsgdGhlIGZpcnN0IGF4aXMgZGV0ZXJtaW5lcyB3aGV0aGVyIHdlIGFyZSBsb29raW5nIGF0IHRoZVxuICogYXJyYXkgb2YgY2FuZGlkYXRlIGluZGljZXMsIHRoZSBhcnJheSBvZiBkaXN0YW5jZXMsIG9yIHRoZSBmbGFnIGFycmF5IGZvclxuICogd2hldGhlciBlbGVtZW50cyBhcmUgbmV3IG9yIG5vdC4gRWFjaCBvZiB0aGVzZSBhcnJheXMgYXJlIG9mIHNoYXBlXG4gKiAoYGBuUG9pbnRzYGAsIGBgc2l6ZWBgKVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZUhlYXAoblBvaW50cywgc2l6ZSkge1xuICAgIGNvbnN0IG1ha2VBcnJheXMgPSAoZmlsbFZhbHVlKSA9PiB7XG4gICAgICAgIHJldHVybiB1dGlscy5lbXB0eShuUG9pbnRzKS5tYXAoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHV0aWxzLmZpbGxlZChzaXplLCBmaWxsVmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGNvbnN0IGhlYXAgPSBbXTtcbiAgICBoZWFwLnB1c2gobWFrZUFycmF5cygtMSkpO1xuICAgIGhlYXAucHVzaChtYWtlQXJyYXlzKEluZmluaXR5KSk7XG4gICAgaGVhcC5wdXNoKG1ha2VBcnJheXMoMCkpO1xuICAgIHJldHVybiBoZWFwO1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBuX3NhbXBsZXMgbWFueSBpbnRlZ2VycyBmcm9tIDAgdG8gcG9vbF9zaXplIHN1Y2ggdGhhdCBub1xuICogaW50ZWdlciBpcyBzZWxlY3RlZCB0d2ljZS4gVGhlIGR1cGxpY2F0aW9uIGNvbnN0cmFpbnQgaXMgYWNoaWV2ZWQgdmlhXG4gKiByZWplY3Rpb24gc2FtcGxpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWplY3Rpb25TYW1wbGUoblNhbXBsZXMsIHBvb2xTaXplLCByYW5kb20pIHtcbiAgICBjb25zdCByZXN1bHQgPSB1dGlscy56ZXJvcyhuU2FtcGxlcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuU2FtcGxlczsgaSsrKSB7XG4gICAgICAgIGxldCByZWplY3RTYW1wbGUgPSB0cnVlO1xuICAgICAgICBsZXQgaiA9IDA7XG4gICAgICAgIHdoaWxlIChyZWplY3RTYW1wbGUpIHtcbiAgICAgICAgICAgIGogPSB1dGlscy50YXVSYW5kSW50KHBvb2xTaXplLCByYW5kb20pO1xuICAgICAgICAgICAgbGV0IGJyb2tlbiA9IGZhbHNlO1xuICAgICAgICAgICAgZm9yIChsZXQgayA9IDA7IGsgPCBpOyBrKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoaiA9PT0gcmVzdWx0W2tdKSB7XG4gICAgICAgICAgICAgICAgICAgIGJyb2tlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghYnJva2VuKVxuICAgICAgICAgICAgICAgIHJlamVjdFNhbXBsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdFtpXSA9IGo7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIFB1c2ggYSBuZXcgZWxlbWVudCBvbnRvIHRoZSBoZWFwLiBUaGUgaGVhcCBzdG9yZXMgcG90ZW50aWFsIG5laWdoYm9yc1xuICogZm9yIGVhY2ggZGF0YSBwb2ludC4gVGhlIGBgcm93YGAgcGFyYW1ldGVyIGRldGVybWluZXMgd2hpY2ggZGF0YSBwb2ludCB3ZVxuICogYXJlIGFkZHJlc3NpbmcsIHRoZSBgYHdlaWdodGBgIGRldGVybWluZXMgdGhlIGRpc3RhbmNlIChmb3IgaGVhcCBzb3J0aW5nKSxcbiAqIHRoZSBgYGluZGV4YGAgaXMgdGhlIGVsZW1lbnQgdG8gYWRkLCBhbmQgdGhlIGZsYWcgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoaXNcbiAqIGlzIHRvIGJlIGNvbnNpZGVyZWQgYSBuZXcgYWRkaXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoZWFwUHVzaChoZWFwLCByb3csIHdlaWdodCwgaW5kZXgsIGZsYWcpIHtcbiAgICByb3cgPSBNYXRoLmZsb29yKHJvdyk7XG4gICAgY29uc3QgaW5kaWNlcyA9IGhlYXBbMF1bcm93XTtcbiAgICBjb25zdCB3ZWlnaHRzID0gaGVhcFsxXVtyb3ddO1xuICAgIGNvbnN0IGlzTmV3ID0gaGVhcFsyXVtyb3ddO1xuICAgIGlmICh3ZWlnaHQgPj0gd2VpZ2h0c1swXSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgLy8gQnJlYWsgaWYgd2UgYWxyZWFkeSBoYXZlIHRoaXMgZWxlbWVudC5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluZGljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGluZGV4ID09PSBpbmRpY2VzW2ldKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5jaGVja2VkSGVhcFB1c2goaGVhcCwgcm93LCB3ZWlnaHQsIGluZGV4LCBmbGFnKTtcbn1cbi8qKlxuICogUHVzaCBhIG5ldyBlbGVtZW50IG9udG8gdGhlIGhlYXAuIFRoZSBoZWFwIHN0b3JlcyBwb3RlbnRpYWwgbmVpZ2hib3JzXG4gKiBmb3IgZWFjaCBkYXRhIHBvaW50LiBUaGUgYGByb3dgYCBwYXJhbWV0ZXIgZGV0ZXJtaW5lcyB3aGljaCBkYXRhIHBvaW50IHdlXG4gKiBhcmUgYWRkcmVzc2luZywgdGhlIGBgd2VpZ2h0YGAgZGV0ZXJtaW5lcyB0aGUgZGlzdGFuY2UgKGZvciBoZWFwIHNvcnRpbmcpLFxuICogdGhlIGBgaW5kZXhgYCBpcyB0aGUgZWxlbWVudCB0byBhZGQsIGFuZCB0aGUgZmxhZyBkZXRlcm1pbmVzIHdoZXRoZXIgdGhpc1xuICogaXMgdG8gYmUgY29uc2lkZXJlZCBhIG5ldyBhZGRpdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVuY2hlY2tlZEhlYXBQdXNoKGhlYXAsIHJvdywgd2VpZ2h0LCBpbmRleCwgZmxhZykge1xuICAgIGNvbnN0IGluZGljZXMgPSBoZWFwWzBdW3Jvd107XG4gICAgY29uc3Qgd2VpZ2h0cyA9IGhlYXBbMV1bcm93XTtcbiAgICBjb25zdCBpc05ldyA9IGhlYXBbMl1bcm93XTtcbiAgICBpZiAod2VpZ2h0ID49IHdlaWdodHNbMF0pIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIC8vIEluc2VydCB2YWwgYXQgcG9zaXRpb24gemVyb1xuICAgIHdlaWdodHNbMF0gPSB3ZWlnaHQ7XG4gICAgaW5kaWNlc1swXSA9IGluZGV4O1xuICAgIGlzTmV3WzBdID0gZmxhZztcbiAgICAvLyBEZXNjZW5kIHRoZSBoZWFwLCBzd2FwcGluZyB2YWx1ZXMgdW50aWwgdGhlIG1heCBoZWFwIGNyaXRlcmlvbiBpcyBtZXRcbiAgICBsZXQgaSA9IDA7XG4gICAgbGV0IGlTd2FwID0gMDtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICBjb25zdCBpYzEgPSAyICogaSArIDE7XG4gICAgICAgIGNvbnN0IGljMiA9IGljMSArIDE7XG4gICAgICAgIGNvbnN0IGhlYXBTaGFwZTIgPSBoZWFwWzBdWzBdLmxlbmd0aDtcbiAgICAgICAgaWYgKGljMSA+PSBoZWFwU2hhcGUyKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpYzIgPj0gaGVhcFNoYXBlMikge1xuICAgICAgICAgICAgaWYgKHdlaWdodHNbaWMxXSA+IHdlaWdodCkge1xuICAgICAgICAgICAgICAgIGlTd2FwID0gaWMxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAod2VpZ2h0c1tpYzFdID49IHdlaWdodHNbaWMyXSkge1xuICAgICAgICAgICAgaWYgKHdlaWdodCA8IHdlaWdodHNbaWMxXSkge1xuICAgICAgICAgICAgICAgIGlTd2FwID0gaWMxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAod2VpZ2h0IDwgd2VpZ2h0c1tpYzJdKSB7XG4gICAgICAgICAgICAgICAgaVN3YXAgPSBpYzI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB3ZWlnaHRzW2ldID0gd2VpZ2h0c1tpU3dhcF07XG4gICAgICAgIGluZGljZXNbaV0gPSBpbmRpY2VzW2lTd2FwXTtcbiAgICAgICAgaXNOZXdbaV0gPSBpc05ld1tpU3dhcF07XG4gICAgICAgIGkgPSBpU3dhcDtcbiAgICB9XG4gICAgd2VpZ2h0c1tpXSA9IHdlaWdodDtcbiAgICBpbmRpY2VzW2ldID0gaW5kZXg7XG4gICAgaXNOZXdbaV0gPSBmbGFnO1xuICAgIHJldHVybiAxO1xufVxuLyoqXG4gKiBCdWlsZCBhIGhlYXAgb2YgY2FuZGlkYXRlIG5laWdoYm9ycyBmb3IgbmVhcmVzdCBuZWlnaGJvciBkZXNjZW50LiBGb3JcbiAqIGVhY2ggdmVydGV4IHRoZSBjYW5kaWRhdGUgbmVpZ2hib3JzIGFyZSBhbnkgY3VycmVudCBuZWlnaGJvcnMsIGFuZCBhbnlcbiAqIHZlcnRpY2VzIHRoYXQgaGF2ZSB0aGUgdmVydGV4IGFzIG9uZSBvZiB0aGVpciBuZWFyZXN0IG5laWdoYm9ycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ2FuZGlkYXRlcyhjdXJyZW50R3JhcGgsIG5WZXJ0aWNlcywgbk5laWdoYm9ycywgbWF4Q2FuZGlkYXRlcywgcmFuZG9tKSB7XG4gICAgY29uc3QgY2FuZGlkYXRlTmVpZ2hib3JzID0gbWFrZUhlYXAoblZlcnRpY2VzLCBtYXhDYW5kaWRhdGVzKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5WZXJ0aWNlczsgaSsrKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgbk5laWdoYm9yczsgaisrKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudEdyYXBoWzBdW2ldW2pdIDwgMCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaWR4ID0gY3VycmVudEdyYXBoWzBdW2ldW2pdO1xuICAgICAgICAgICAgY29uc3QgaXNuID0gY3VycmVudEdyYXBoWzJdW2ldW2pdO1xuICAgICAgICAgICAgY29uc3QgZCA9IHV0aWxzLnRhdVJhbmQocmFuZG9tKTtcbiAgICAgICAgICAgIGhlYXBQdXNoKGNhbmRpZGF0ZU5laWdoYm9ycywgaSwgZCwgaWR4LCBpc24pO1xuICAgICAgICAgICAgaGVhcFB1c2goY2FuZGlkYXRlTmVpZ2hib3JzLCBpZHgsIGQsIGksIGlzbik7XG4gICAgICAgICAgICBjdXJyZW50R3JhcGhbMl1baV1bal0gPSAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjYW5kaWRhdGVOZWlnaGJvcnM7XG59XG4vKipcbiAqIEdpdmVuIGFuIGFycmF5IG9mIGhlYXBzIChvZiBpbmRpY2VzIGFuZCB3ZWlnaHRzKSwgdW5wYWNrIHRoZSBoZWFwXG4gKiBvdXQgdG8gZ2l2ZSBhbmQgYXJyYXkgb2Ygc29ydGVkIGxpc3RzIG9mIGluZGljZXMgYW5kIHdlaWdodHMgYnkgaW5jcmVhc2luZ1xuICogd2VpZ2h0LiBUaGlzIGlzIGVmZmVjdGl2ZWx5IGp1c3QgdGhlIHNlY29uZCBoYWxmIG9mIGhlYXAgc29ydCAodGhlIGZpcnN0XG4gKiBoYWxmIG5vdCBiZWluZyByZXF1aXJlZCBzaW5jZSB3ZSBhbHJlYWR5IGhhdmUgdGhlIGRhdGEgaW4gYSBoZWFwKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlaGVhcFNvcnQoaGVhcCkge1xuICAgIGNvbnN0IGluZGljZXMgPSBoZWFwWzBdO1xuICAgIGNvbnN0IHdlaWdodHMgPSBoZWFwWzFdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5kaWNlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBpbmRIZWFwID0gaW5kaWNlc1tpXTtcbiAgICAgICAgY29uc3QgZGlzdEhlYXAgPSB3ZWlnaHRzW2ldO1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGluZEhlYXAubGVuZ3RoIC0gMTsgaisrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRIZWFwSW5kZXggPSBpbmRIZWFwLmxlbmd0aCAtIGogLSAxO1xuICAgICAgICAgICAgY29uc3QgZGlzdEhlYXBJbmRleCA9IGRpc3RIZWFwLmxlbmd0aCAtIGogLSAxO1xuICAgICAgICAgICAgY29uc3QgdGVtcDEgPSBpbmRIZWFwWzBdO1xuICAgICAgICAgICAgaW5kSGVhcFswXSA9IGluZEhlYXBbaW5kSGVhcEluZGV4XTtcbiAgICAgICAgICAgIGluZEhlYXBbaW5kSGVhcEluZGV4XSA9IHRlbXAxO1xuICAgICAgICAgICAgY29uc3QgdGVtcDIgPSBkaXN0SGVhcFswXTtcbiAgICAgICAgICAgIGRpc3RIZWFwWzBdID0gZGlzdEhlYXBbZGlzdEhlYXBJbmRleF07XG4gICAgICAgICAgICBkaXN0SGVhcFtkaXN0SGVhcEluZGV4XSA9IHRlbXAyO1xuICAgICAgICAgICAgc2lmdERvd24oZGlzdEhlYXAsIGluZEhlYXAsIGRpc3RIZWFwSW5kZXgsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IGluZGljZXMsIHdlaWdodHMgfTtcbn1cbi8qKlxuICogUmVzdG9yZSB0aGUgaGVhcCBwcm9wZXJ0eSBmb3IgYSBoZWFwIHdpdGggYW4gb3V0IG9mIHBsYWNlIGVsZW1lbnRcbiAqIGF0IHBvc2l0aW9uIGBgZWx0YGAuIFRoaXMgd29ya3Mgd2l0aCBhIGhlYXAgcGFpciB3aGVyZSBoZWFwMSBjYXJyaWVzXG4gKiB0aGUgd2VpZ2h0cyBhbmQgaGVhcDIgaG9sZHMgdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMuXG4gKi9cbmZ1bmN0aW9uIHNpZnREb3duKGhlYXAxLCBoZWFwMiwgY2VpbGluZywgZWx0KSB7XG4gICAgd2hpbGUgKGVsdCAqIDIgKyAxIDwgY2VpbGluZykge1xuICAgICAgICBjb25zdCBsZWZ0Q2hpbGQgPSBlbHQgKiAyICsgMTtcbiAgICAgICAgY29uc3QgcmlnaHRDaGlsZCA9IGxlZnRDaGlsZCArIDE7XG4gICAgICAgIGxldCBzd2FwID0gZWx0O1xuICAgICAgICBpZiAoaGVhcDFbc3dhcF0gPCBoZWFwMVtsZWZ0Q2hpbGRdKSB7XG4gICAgICAgICAgICBzd2FwID0gbGVmdENoaWxkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyaWdodENoaWxkIDwgY2VpbGluZyAmJiBoZWFwMVtzd2FwXSA8IGhlYXAxW3JpZ2h0Q2hpbGRdKSB7XG4gICAgICAgICAgICBzd2FwID0gcmlnaHRDaGlsZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3dhcCA9PT0gZWx0KSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXAxID0gaGVhcDFbZWx0XTtcbiAgICAgICAgICAgIGhlYXAxW2VsdF0gPSBoZWFwMVtzd2FwXTtcbiAgICAgICAgICAgIGhlYXAxW3N3YXBdID0gdGVtcDE7XG4gICAgICAgICAgICBjb25zdCB0ZW1wMiA9IGhlYXAyW2VsdF07XG4gICAgICAgICAgICBoZWFwMltlbHRdID0gaGVhcDJbc3dhcF07XG4gICAgICAgICAgICBoZWFwMltzd2FwXSA9IHRlbXAyO1xuICAgICAgICAgICAgZWx0ID0gc3dhcDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8qKlxuICogU2VhcmNoIHRoZSBoZWFwIGZvciB0aGUgc21hbGxlc3QgZWxlbWVudCB0aGF0IGlzIHN0aWxsIGZsYWdnZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzbWFsbGVzdEZsYWdnZWQoaGVhcCwgcm93KSB7XG4gICAgY29uc3QgaW5kID0gaGVhcFswXVtyb3ddO1xuICAgIGNvbnN0IGRpc3QgPSBoZWFwWzFdW3Jvd107XG4gICAgY29uc3QgZmxhZyA9IGhlYXBbMl1bcm93XTtcbiAgICBsZXQgbWluRGlzdCA9IEluZmluaXR5O1xuICAgIGxldCByZXN1bHRJbmRleCA9IC0xO1xuICAgIGZvciAobGV0IGkgPSAwOyBpID4gaW5kLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChmbGFnW2ldID09PSAxICYmIGRpc3RbaV0gPCBtaW5EaXN0KSB7XG4gICAgICAgICAgICBtaW5EaXN0ID0gZGlzdFtpXTtcbiAgICAgICAgICAgIHJlc3VsdEluZGV4ID0gaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAocmVzdWx0SW5kZXggPj0gMCkge1xuICAgICAgICBmbGFnW3Jlc3VsdEluZGV4XSA9IDA7XG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKGluZFtyZXN1bHRJbmRleF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFHVmhjQzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkltaGxZWEF1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPenM3T3pzN096czdPenM3T3pzN08wZEJhVUpITzBGQk1rTklMRTlCUVU4c1MwRkJTeXhMUVVGTExFMUJRVTBzVTBGQlV5eERRVUZETzBGQlNXcERPenM3T3pzN096czdSMEZUUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3hSUVVGUkxFTkJRVU1zVDBGQlpTeEZRVUZGTEVsQlFWazdTVUZEY0VRc1RVRkJUU3hWUVVGVkxFZEJRVWNzUTBGQlF5eFRRVUZwUWl4RlFVRkZMRVZCUVVVN1VVRkRka01zVDBGQlR5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVTdXVUZEYmtNc1QwRkJUeXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4VFFVRlRMRU5CUVVNc1EwRkJRenRSUVVOMlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTk1MRU5CUVVNc1EwRkJRenRKUVVWR0xFMUJRVTBzU1VGQlNTeEhRVUZUTEVWQlFVVXNRMEZCUXp0SlFVTjBRaXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRE1VSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTm9ReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM3BDTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJRc1EwRkJRenRCUVVWRU96czdPMGRCU1VjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzWlVGQlpTeERRVU0zUWl4UlFVRm5RaXhGUVVOb1FpeFJRVUZuUWl4RlFVTm9RaXhOUVVGblFqdEpRVVZvUWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMGxCUTNKRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhSUVVGUkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEYWtNc1NVRkJTU3haUVVGWkxFZEJRVWNzU1VGQlNTeERRVUZETzFGQlEzaENMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5XTEU5QlFVOHNXVUZCV1N4RlFVRkZPMWxCUTI1Q0xFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRMRkZCUVZFc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU4yUXl4SlFVRkpMRTFCUVUwc1IwRkJSeXhMUVVGTExFTkJRVU03V1VGRGJrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRuUWtGRE1VSXNTVUZCU1N4RFFVRkRMRXRCUVVzc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTzI5Q1FVTnVRaXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETzI5Q1FVTmtMRTFCUVUwN2FVSkJRMUE3WVVGRFJqdFpRVU5FTEVsQlFVa3NRMEZCUXl4TlFVRk5PMmRDUVVGRkxGbEJRVmtzUjBGQlJ5eExRVUZMTEVOQlFVTTdVMEZEYmtNN1VVRkRSQ3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMHRCUTJZN1NVRkRSQ3hQUVVGUExFMUJRVTBzUTBGQlF6dEJRVU5vUWl4RFFVRkRPMEZCUlVRN096czdPenRIUVUxSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEZGQlFWRXNRMEZEZEVJc1NVRkJWU3hGUVVOV0xFZEJRVmNzUlVGRFdDeE5RVUZqTEVWQlEyUXNTMEZCWVN4RlFVTmlMRWxCUVZrN1NVRkZXaXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVOMFFpeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZETjBJc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRemRDTEUxQlFVMHNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVVXpRaXhKUVVGSkxFMUJRVTBzU1VGQlNTeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVN1VVRkRlRUlzVDBGQlR5eERRVUZETEVOQlFVTTdTMEZEVmp0SlFVVkVMSGxEUVVGNVF6dEpRVU42UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFJRVU4yUXl4SlFVRkpMRXRCUVVzc1MwRkJTeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVTdXVUZEZUVJc1QwRkJUeXhEUVVGRExFTkJRVU03VTBGRFZqdExRVU5HTzBsQlJVUXNUMEZCVHl4cFFrRkJhVUlzUTBGQlF5eEpRVUZKTEVWQlFVVXNSMEZCUnl4RlFVRkZMRTFCUVUwc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdRVUZETTBRc1EwRkJRenRCUVVWRU96czdPenM3UjBGTlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4cFFrRkJhVUlzUTBGREwwSXNTVUZCVlN4RlFVTldMRWRCUVZjc1JVRkRXQ3hOUVVGakxFVkJRMlFzUzBGQllTeEZRVU5pTEVsQlFWazdTVUZGV2l4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkROMElzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF6ZENMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVVelFpeEpRVUZKTEUxQlFVMHNTVUZCU1N4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVU3VVVGRGVFSXNUMEZCVHl4RFFVRkRMRU5CUVVNN1MwRkRWanRKUVVWRUxEaENRVUU0UWp0SlFVTTVRaXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRPMGxCUTNCQ0xFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNN1NVRkRia0lzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJRenRKUVVWb1FpeDNSVUZCZDBVN1NVRkRlRVVzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTFZc1NVRkJTU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlEyUXNUMEZCVHl4SlFVRkpMRVZCUVVVN1VVRkRXQ3hOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOMFFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJSWEJDTEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkRja01zU1VGQlNTeEhRVUZITEVsQlFVa3NWVUZCVlN4RlFVRkZPMWxCUTNKQ0xFMUJRVTA3VTBGRFVEdGhRVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRlZCUVZVc1JVRkJSVHRaUVVNMVFpeEpRVUZKTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVU3WjBKQlEzcENMRXRCUVVzc1IwRkJSeXhIUVVGSExFTkJRVU03WVVGRFlqdHBRa0ZCVFR0blFrRkRUQ3hOUVVGTk8yRkJRMUE3VTBGRFJqdGhRVUZOTEVsQlFVa3NUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlR0WlFVTjJReXhKUVVGSkxFMUJRVTBzUjBGQlJ5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVN1owSkJRM3BDTEV0QlFVc3NSMEZCUnl4SFFVRkhMRU5CUVVNN1lVRkRZanRwUWtGQlRUdG5Ra0ZEVEN4TlFVRk5PMkZCUTFBN1UwRkRSanRoUVVGTk8xbEJRMHdzU1VGQlNTeE5RVUZOTEVkQlFVY3NUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRk8yZENRVU42UWl4TFFVRkxMRWRCUVVjc1IwRkJSeXhEUVVGRE8yRkJRMkk3YVVKQlFVMDdaMEpCUTB3c1RVRkJUVHRoUVVOUU8xTkJRMFk3VVVGRlJDeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFGQlF6VkNMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkROVUlzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVVY0UWl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRE8wdEJRMWc3U1VGRlJDeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRE8wbEJRM0JDTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU03U1VGRGJrSXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF6dEpRVU5vUWl4UFFVRlBMRU5CUVVNc1EwRkJRenRCUVVOWUxFTkJRVU03UVVGRlJEczdPenRIUVVsSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdWQlFXVXNRMEZETjBJc1dVRkJhMElzUlVGRGJFSXNVMEZCYVVJc1JVRkRha0lzVlVGQmEwSXNSVUZEYkVJc1lVRkJjVUlzUlVGRGNrSXNUVUZCWjBJN1NVRkZhRUlzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSeXhSUVVGUkxFTkJRVU1zVTBGQlV5eEZRVUZGTEdGQlFXRXNRMEZCUXl4RFFVRkRPMGxCUXpsRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhUUVVGVExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEYkVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRlZCUVZVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU51UXl4SlFVRkpMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVU3WjBKQlF6ZENMRk5CUVZNN1lVRkRWanRaUVVORUxFMUJRVTBzUjBGQlJ5eEhRVUZITEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNReXhOUVVGTkxFZEJRVWNzUjBGQlJ5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZEYkVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVOb1F5eFJRVUZSTEVOQlFVTXNhMEpCUVd0Q0xFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRE4wTXNVVUZCVVN4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzFsQlF6ZERMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VTBGRE0wSTdTMEZEUmp0SlFVTkVMRTlCUVU4c2EwSkJRV3RDTEVOQlFVTTdRVUZETlVJc1EwRkJRenRCUVVWRU96czdPenRIUVV0SE8wRkJRMGdzVFVGQlRTeFZRVUZWTEZWQlFWVXNRMEZCUXl4SlFVRlZPMGxCUTI1RExFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVONFFpeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRmVFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGRrTXNUVUZCVFN4UFFVRlBMRWRCUVVjc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6TkNMRTFCUVUwc1VVRkJVU3hIUVVGSExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVTFRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkRNME1zVFVGQlRTeFpRVUZaTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlF6VkRMRTFCUVUwc1lVRkJZU3hIUVVGSExGRkJRVkVzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVVNVF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGVrSXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFOUJRVThzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0WlFVTnVReXhQUVVGUExFTkJRVU1zV1VGQldTeERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRPMWxCUlRsQ0xFMUJRVTBzUzBGQlN5eEhRVUZITEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVNeFFpeFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1VVRkJVU3hEUVVGRExHRkJRV0VzUTBGQlF5eERRVUZETzFsQlEzUkRMRkZCUVZFc1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTTdXVUZGYUVNc1VVRkJVU3hEUVVGRExGRkJRVkVzUlVGQlJTeFBRVUZQTEVWQlFVVXNZVUZCWVN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJReTlETzB0QlEwWTdTVUZEUkN4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRkxFOUJRVThzUlVGQlJTeERRVUZETzBGQlF6bENMRU5CUVVNN1FVRkZSRHM3T3p0SFFVbEhPMEZCUTBnc1UwRkJVeXhSUVVGUkxFTkJRMllzUzBGQlpTeEZRVU5tTEV0QlFXVXNSVUZEWml4UFFVRmxMRVZCUTJZc1IwRkJWenRKUVVWWUxFOUJRVThzUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1QwRkJUeXhGUVVGRk8xRkJRelZDTEUxQlFVMHNVMEZCVXl4SFFVRkhMRWRCUVVjc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlF6bENMRTFCUVUwc1ZVRkJWU3hIUVVGSExGTkJRVk1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEYWtNc1NVRkJTU3hKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlJXWXNTVUZCU1N4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZPMWxCUTJ4RExFbEJRVWtzUjBGQlJ5eFRRVUZUTEVOQlFVTTdVMEZEYkVJN1VVRkRSQ3hKUVVGSkxGVkJRVlVzUjBGQlJ5eFBRVUZQTEVsQlFVa3NTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlR0WlFVTXpSQ3hKUVVGSkxFZEJRVWNzVlVGQlZTeERRVUZETzFOQlEyNUNPMUZCUlVRc1NVRkJTU3hKUVVGSkxFdEJRVXNzUjBGQlJ5eEZRVUZGTzFsQlEyaENMRTFCUVUwN1UwRkRVRHRoUVVGTk8xbEJRMHdzVFVGQlRTeExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM3BDTEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdXVUZEZWtJc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXp0WlFVVndRaXhOUVVGTkxFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRla0lzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFpRVU42UWl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETzFsQlEzQkNMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU03VTBGRFdqdExRVU5HTzBGQlEwZ3NRMEZCUXp0QlFVVkVPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdWQlFXVXNRMEZCUXl4SlFVRlZMRVZCUVVVc1IwRkJWenRKUVVOeVJDeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEZWtJc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRekZDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVVXhRaXhKUVVGSkxFOUJRVThzUjBGQlJ5eFJRVUZSTEVOQlFVTTdTVUZEZGtJc1NVRkJTU3hYUVVGWExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZGY2tJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEYmtNc1NVRkJTU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVWQlFVVTdXVUZEZEVNc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNRaXhYUVVGWExFZEJRVWNzUTBGQlF5eERRVUZETzFOQlEycENPMHRCUTBZN1NVRkZSQ3hKUVVGSkxGZEJRVmNzU1VGQlNTeERRVUZETEVWQlFVVTdVVUZEY0VJc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTjBRaXhQUVVGUExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU03UzBGRGNrTTdVMEZCVFR0UlFVTk1MRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU03UzBGRFdEdEJRVU5JTEVOQlFVTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lwY2JpQXFJRUJzYVdObGJuTmxYRzRnS2x4dUlDb2dRMjl3ZVhKcFoyaDBJREl3TVRrZ1IyOXZaMnhsSUV4TVF5NGdRV3hzSUZKcFoyaDBjeUJTWlhObGNuWmxaQzVjYmlBcVhHNGdLaUJNYVdObGJuTmxaQ0IxYm1SbGNpQjBhR1VnUVhCaFkyaGxJRXhwWTJWdWMyVXNJRlpsY25OcGIyNGdNaTR3SUNoMGFHVWdYQ0pNYVdObGJuTmxYQ0lwTzF4dUlDb2dlVzkxSUcxaGVTQnViM1FnZFhObElIUm9hWE1nWm1sc1pTQmxlR05sY0hRZ2FXNGdZMjl0Y0d4cFlXNWpaU0IzYVhSb0lIUm9aU0JNYVdObGJuTmxMbHh1SUNvZ1dXOTFJRzFoZVNCdlluUmhhVzRnWVNCamIzQjVJRzltSUhSb1pTQk1hV05sYm5ObElHRjBYRzRnS2x4dUlDb2dJQ0FnSUdoMGRIQTZMeTkzZDNjdVlYQmhZMmhsTG05eVp5OXNhV05sYm5ObGN5OU1TVU5GVGxORkxUSXVNRnh1SUNwY2JpQXFJRlZ1YkdWemN5QnlaWEYxYVhKbFpDQmllU0JoY0hCc2FXTmhZbXhsSUd4aGR5QnZjaUJoWjNKbFpXUWdkRzhnYVc0Z2QzSnBkR2x1Wnl3Z2MyOW1kSGRoY21WY2JpQXFJR1JwYzNSeWFXSjFkR1ZrSUhWdVpHVnlJSFJvWlNCTWFXTmxibk5sSUdseklHUnBjM1J5YVdKMWRHVmtJRzl1SUdGdUlGd2lRVk1nU1ZOY0lpQkNRVk5KVXl4Y2JpQXFJRmRKVkVoUFZWUWdWMEZTVWtGT1ZFbEZVeUJQVWlCRFQwNUVTVlJKVDA1VElFOUdJRUZPV1NCTFNVNUVMQ0JsYVhSb1pYSWdaWGh3Y21WemN5QnZjaUJwYlhCc2FXVmtMbHh1SUNvZ1UyVmxJSFJvWlNCTWFXTmxibk5sSUdadmNpQjBhR1VnYzNCbFkybG1hV01nYkdGdVozVmhaMlVnWjI5MlpYSnVhVzVuSUhCbGNtMXBjM05wYjI1eklHRnVaRnh1SUNvZ2JHbHRhWFJoZEdsdmJuTWdkVzVrWlhJZ2RHaGxJRXhwWTJWdWMyVXVYRzRnS2lBOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmlBcUwxeHVYRzR2S2lwY2JpQXFJRlJvYVhNZ2FYTWdZU0JLWVhaaFUyTnlhWEIwSUhKbGFXMXdiR1Z0Wlc1MFlYUnBiMjRnYjJZZ1ZVMUJVQ0FvYjNKcFoybHVZV3dnYkdsalpXNXpaU0JpWld4dmR5a3NJR1p5YjIxY2JpQXFJSFJvWlNCd2VYUm9iMjRnYVcxd2JHVnRaVzUwWVhScGIyNGdabTkxYm1RZ1lYUWdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMnh0WTJsdWJtVnpMM1Z0WVhBdVhHNGdLbHh1SUNvZ1FHRjFkR2h2Y2lCaGJtUjVZMjlsYm1WdVFHZHZiMmRzWlM1amIyMGdLRUZ1WkhrZ1EyOWxibVZ1S1Z4dUlDb3ZYRzVjYmk4cUtseHVJQ29nUUd4cFkyVnVjMlZjYmlBcUlFSlRSQ0F6TFVOc1lYVnpaU0JNYVdObGJuTmxYRzRnS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTNMQ0JNWld4aGJtUWdUV05KYm01bGMxeHVJQ29nUVd4c0lISnBaMmgwY3lCeVpYTmxjblpsWkM1Y2JpQXFYRzRnS2lCU1pXUnBjM1J5YVdKMWRHbHZiaUJoYm1RZ2RYTmxJR2x1SUhOdmRYSmpaU0JoYm1RZ1ltbHVZWEo1SUdadmNtMXpMQ0IzYVhSb0lHOXlJSGRwZEdodmRYUmNiaUFxSUcxdlpHbG1hV05oZEdsdmJpd2dZWEpsSUhCbGNtMXBkSFJsWkNCd2NtOTJhV1JsWkNCMGFHRjBJSFJvWlNCbWIyeHNiM2RwYm1jZ1kyOXVaR2wwYVc5dWN5QmhjbVVnYldWME9seHVJQ3BjYmlBcUlDb2dVbVZrYVhOMGNtbGlkWFJwYjI1eklHOW1JSE52ZFhKalpTQmpiMlJsSUcxMWMzUWdjbVYwWVdsdUlIUm9aU0JoWW05MlpTQmpiM0I1Y21sbmFIUWdibTkwYVdObExDQjBhR2x6WEc0Z0tpQWdJR3hwYzNRZ2IyWWdZMjl1WkdsMGFXOXVjeUJoYm1RZ2RHaGxJR1p2Ykd4dmQybHVaeUJrYVhOamJHRnBiV1Z5TGx4dUlDcGNiaUFxSUNvZ1VtVmthWE4wY21saWRYUnBiMjV6SUdsdUlHSnBibUZ5ZVNCbWIzSnRJRzExYzNRZ2NtVndjbTlrZFdObElIUm9aU0JoWW05MlpTQmpiM0I1Y21sbmFIUWdibTkwYVdObExGeHVJQ29nSUNCMGFHbHpJR3hwYzNRZ2IyWWdZMjl1WkdsMGFXOXVjeUJoYm1RZ2RHaGxJR1p2Ykd4dmQybHVaeUJrYVhOamJHRnBiV1Z5SUdsdUlIUm9aU0JrYjJOMWJXVnVkR0YwYVc5dVhHNGdLaUFnSUdGdVpDOXZjaUJ2ZEdobGNpQnRZWFJsY21saGJITWdjSEp2ZG1sa1pXUWdkMmwwYUNCMGFHVWdaR2x6ZEhKcFluVjBhVzl1TGx4dUlDcGNiaUFxSUNvZ1RtVnBkR2hsY2lCMGFHVWdibUZ0WlNCdlppQjBhR1VnWTI5d2VYSnBaMmgwSUdodmJHUmxjaUJ1YjNJZ2RHaGxJRzVoYldWeklHOW1JR2wwYzF4dUlDb2dJQ0JqYjI1MGNtbGlkWFJ2Y25NZ2JXRjVJR0psSUhWelpXUWdkRzhnWlc1a2IzSnpaU0J2Y2lCd2NtOXRiM1JsSUhCeWIyUjFZM1J6SUdSbGNtbDJaV1FnWm5KdmJWeHVJQ29nSUNCMGFHbHpJSE52Wm5SM1lYSmxJSGRwZEdodmRYUWdjM0JsWTJsbWFXTWdjSEpwYjNJZ2QzSnBkSFJsYmlCd1pYSnRhWE56YVc5dUxseHVJQ3BjYmlBcUlGUklTVk1nVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1Fsa2dWRWhGSUVOUFVGbFNTVWRJVkNCSVQweEVSVkpUSUVGT1JDQkRUMDVVVWtsQ1ZWUlBVbE1nWENKQlV5QkpVMXdpWEc0Z0tpQkJUa1FnUVU1WklFVllVRkpGVTFNZ1QxSWdTVTFRVEVsRlJDQlhRVkpTUVU1VVNVVlRMQ0JKVGtOTVZVUkpUa2NzSUVKVlZDQk9UMVFnVEVsTlNWUkZSQ0JVVHl3Z1ZFaEZYRzRnS2lCSlRWQk1TVVZFSUZkQlVsSkJUbFJKUlZNZ1QwWWdUVVZTUTBoQlRsUkJRa2xNU1ZSWklFRk9SQ0JHU1ZST1JWTlRJRVpQVWlCQklGQkJVbFJKUTFWTVFWSWdVRlZTVUU5VFJTQkJVa1ZjYmlBcUlFUkpVME5NUVVsTlJVUXVJRWxPSUU1UElFVldSVTVVSUZOSVFVeE1JRlJJUlNCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTSUU5U0lFTlBUbFJTU1VKVlZFOVNVeUJDUlNCTVNVRkNURVZjYmlBcUlFWlBVaUJCVGxrZ1JFbFNSVU5VTENCSlRrUkpVa1ZEVkN3Z1NVNURTVVJGVGxSQlRDd2dVMUJGUTBsQlRDd2dSVmhGVFZCTVFWSlpMQ0JQVWlCRFQwNVRSVkZWUlU1VVNVRk1YRzRnS2lCRVFVMUJSMFZUSUNoSlRrTk1WVVJKVGtjc0lFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5d2dVRkpQUTFWU1JVMUZUbFFnVDBZZ1UxVkNVMVJKVkZWVVJTQkhUMDlFVXlCUFVseHVJQ29nVTBWU1ZrbERSVk03SUV4UFUxTWdUMFlnVlZORkxDQkVRVlJCTENCUFVpQlFVazlHU1ZSVE95QlBVaUJDVlZOSlRrVlRVeUJKVGxSRlVsSlZVRlJKVDA0cElFaFBWMFZXUlZKY2JpQXFJRU5CVlZORlJDQkJUa1FnVDA0Z1FVNVpJRlJJUlU5U1dTQlBSaUJNU1VGQ1NVeEpWRmtzSUZkSVJWUklSVklnU1U0Z1EwOU9WRkpCUTFRc0lGTlVVa2xEVkNCTVNVRkNTVXhKVkZrc1hHNGdLaUJQVWlCVVQxSlVJQ2hKVGtOTVZVUkpUa2NnVGtWSFRFbEhSVTVEUlNCUFVpQlBWRWhGVWxkSlUwVXBJRUZTU1ZOSlRrY2dTVTRnUVU1WklGZEJXU0JQVlZRZ1QwWWdWRWhGSUZWVFJWeHVJQ29nVDBZZ1ZFaEpVeUJUVDBaVVYwRlNSU3dnUlZaRlRpQkpSaUJCUkZaSlUwVkVJRTlHSUZSSVJTQlFUMU5UU1VKSlRFbFVXU0JQUmlCVFZVTklJRVJCVFVGSFJTNWNiaUFxTDF4dVhHNXBiWEJ2Y25RZ2V5QlNZVzVrYjIxR2JpQjlJR1p5YjIwZ0p5NHZkVzFoY0NjN1hHNXBiWEJ2Y25RZ0tpQmhjeUIxZEdsc2N5Qm1jbTl0SUNjdUwzVjBhV3h6Snp0Y2JseHVaWGh3YjNKMElIUjVjR1VnU0dWaGNDQTlJRzUxYldKbGNsdGRXMTFiWFR0Y2JseHVMeW9xWEc0Z0tpQWdRMjl1YzNSeWRXTjBiM0lnWm05eUlIUm9aU0JvWldGd0lHOWlhbVZqZEhNdUlGUm9aU0JvWldGd2N5QmhjbVVnZFhObFpGeHVJQ29nWm05eUlHRndjSEp2ZUdsdFlYUmxJRzVsWVhKbGMzUWdibVZwWjJoaWIzSWdjMlZoY21Ob0xDQnRZV2x1ZEdGcGJtbHVaeUJoSUd4cGMzUWdiMllnY0c5MFpXNTBhV0ZzWEc0Z0tpQnVaV2xuYUdKdmNuTWdjMjl5ZEdWa0lHSjVJSFJvWldseUlHUnBjM1JoYm1ObExpQlhaU0JoYkhOdklHWnNZV2NnYVdZZ2NHOTBaVzUwYVdGc0lHNWxhV2RvWW05eWMxeHVJQ29nWVhKbElHNWxkMng1SUdGa1pHVmtJSFJ2SUhSb1pTQnNhWE4wSUc5eUlHNXZkQzRnU1c1MFpYSnVZV3hzZVNCMGFHbHpJR2x6SUhOMGIzSmxaQ0JoYzF4dUlDb2dZU0J6YVc1bmJHVWdZWEp5WVhrN0lIUm9aU0JtYVhKemRDQmhlR2x6SUdSbGRHVnliV2x1WlhNZ2QyaGxkR2hsY2lCM1pTQmhjbVVnYkc5dmEybHVaeUJoZENCMGFHVmNiaUFxSUdGeWNtRjVJRzltSUdOaGJtUnBaR0YwWlNCcGJtUnBZMlZ6TENCMGFHVWdZWEp5WVhrZ2IyWWdaR2x6ZEdGdVkyVnpMQ0J2Y2lCMGFHVWdabXhoWnlCaGNuSmhlU0JtYjNKY2JpQXFJSGRvWlhSb1pYSWdaV3hsYldWdWRITWdZWEpsSUc1bGR5QnZjaUJ1YjNRdUlFVmhZMmdnYjJZZ2RHaGxjMlVnWVhKeVlYbHpJR0Z5WlNCdlppQnphR0Z3WlZ4dUlDb2dLR0JnYmxCdmFXNTBjMkJnTENCZ1lITnBlbVZnWUNsY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRzFoYTJWSVpXRndLRzVRYjJsdWRITTZJRzUxYldKbGNpd2djMmw2WlRvZ2JuVnRZbVZ5S1RvZ1NHVmhjQ0I3WEc0Z0lHTnZibk4wSUcxaGEyVkJjbkpoZVhNZ1BTQW9abWxzYkZaaGJIVmxPaUJ1ZFcxaVpYSXBJRDArSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkWFJwYkhNdVpXMXdkSGtvYmxCdmFXNTBjeWt1YldGd0tDZ3BJRDArSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxZEdsc2N5NW1hV3hzWldRb2MybDZaU3dnWm1sc2JGWmhiSFZsS1R0Y2JpQWdJQ0I5S1R0Y2JpQWdmVHRjYmx4dUlDQmpiMjV6ZENCb1pXRndPaUJJWldGd0lEMGdXMTA3WEc0Z0lHaGxZWEF1Y0hWemFDaHRZV3RsUVhKeVlYbHpLQzB4S1NrN1hHNGdJR2hsWVhBdWNIVnphQ2h0WVd0bFFYSnlZWGx6S0VsdVptbHVhWFI1S1NrN1hHNGdJR2hsWVhBdWNIVnphQ2h0WVd0bFFYSnlZWGx6S0RBcEtUdGNiaUFnY21WMGRYSnVJR2hsWVhBN1hHNTlYRzVjYmk4cUtseHVJQ29nUjJWdVpYSmhkR1VnYmw5ellXMXdiR1Z6SUcxaGJua2dhVzUwWldkbGNuTWdabkp2YlNBd0lIUnZJSEJ2YjJ4ZmMybDZaU0J6ZFdOb0lIUm9ZWFFnYm05Y2JpQXFJR2x1ZEdWblpYSWdhWE1nYzJWc1pXTjBaV1FnZEhkcFkyVXVJRlJvWlNCa2RYQnNhV05oZEdsdmJpQmpiMjV6ZEhKaGFXNTBJR2x6SUdGamFHbGxkbVZrSUhacFlWeHVJQ29nY21WcVpXTjBhVzl1SUhOaGJYQnNhVzVuTGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbVZxWldOMGFXOXVVMkZ0Y0d4bEtGeHVJQ0J1VTJGdGNHeGxjem9nYm5WdFltVnlMRnh1SUNCd2IyOXNVMmw2WlRvZ2JuVnRZbVZ5TEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBJSHRjYmlBZ1kyOXVjM1FnY21WemRXeDBJRDBnZFhScGJITXVlbVZ5YjNNb2JsTmhiWEJzWlhNcE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUc1VFlXMXdiR1Z6T3lCcEt5c3BJSHRjYmlBZ0lDQnNaWFFnY21WcVpXTjBVMkZ0Y0d4bElEMGdkSEoxWlR0Y2JpQWdJQ0JzWlhRZ2FpQTlJREE3WEc0Z0lDQWdkMmhwYkdVZ0tISmxhbVZqZEZOaGJYQnNaU2tnZTF4dUlDQWdJQ0FnYWlBOUlIVjBhV3h6TG5SaGRWSmhibVJKYm5Rb2NHOXZiRk5wZW1Vc0lISmhibVJ2YlNrN1hHNGdJQ0FnSUNCc1pYUWdZbkp2YTJWdUlEMGdabUZzYzJVN1hHNGdJQ0FnSUNCbWIzSWdLR3hsZENCcklEMGdNRHNnYXlBOElHazdJR3NyS3lrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYWlBOVBUMGdjbVZ6ZFd4MFcydGRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1luSnZhMlZ1SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tDRmljbTlyWlc0cElISmxhbVZqZEZOaGJYQnNaU0E5SUdaaGJITmxPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYTjFiSFJiYVYwZ1BTQnFPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNTlYRzVjYmk4cUtseHVJQ29nVUhWemFDQmhJRzVsZHlCbGJHVnRaVzUwSUc5dWRHOGdkR2hsSUdobFlYQXVJRlJvWlNCb1pXRndJSE4wYjNKbGN5QndiM1JsYm5ScFlXd2dibVZwWjJoaWIzSnpYRzRnS2lCbWIzSWdaV0ZqYUNCa1lYUmhJSEJ2YVc1MExpQlVhR1VnWUdCeWIzZGdZQ0J3WVhKaGJXVjBaWElnWkdWMFpYSnRhVzVsY3lCM2FHbGphQ0JrWVhSaElIQnZhVzUwSUhkbFhHNGdLaUJoY21VZ1lXUmtjbVZ6YzJsdVp5d2dkR2hsSUdCZ2QyVnBaMmgwWUdBZ1pHVjBaWEp0YVc1bGN5QjBhR1VnWkdsemRHRnVZMlVnS0dadmNpQm9aV0Z3SUhOdmNuUnBibWNwTEZ4dUlDb2dkR2hsSUdCZ2FXNWtaWGhnWUNCcGN5QjBhR1VnWld4bGJXVnVkQ0IwYnlCaFpHUXNJR0Z1WkNCMGFHVWdabXhoWnlCa1pYUmxjbTFwYm1WeklIZG9aWFJvWlhJZ2RHaHBjMXh1SUNvZ2FYTWdkRzhnWW1VZ1kyOXVjMmxrWlhKbFpDQmhJRzVsZHlCaFpHUnBkR2x2Ymk1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2hsWVhCUWRYTm9LRnh1SUNCb1pXRndPaUJJWldGd0xGeHVJQ0J5YjNjNklHNTFiV0psY2l4Y2JpQWdkMlZwWjJoME9pQnVkVzFpWlhJc1hHNGdJR2x1WkdWNE9pQnVkVzFpWlhJc1hHNGdJR1pzWVdjNklHNTFiV0psY2x4dUtUb2diblZ0WW1WeUlIdGNiaUFnY205M0lEMGdUV0YwYUM1bWJHOXZjaWh5YjNjcE8xeHVJQ0JqYjI1emRDQnBibVJwWTJWeklEMGdhR1ZoY0Zzd1hWdHliM2RkTzF4dUlDQmpiMjV6ZENCM1pXbG5hSFJ6SUQwZ2FHVmhjRnN4WFZ0eWIzZGRPMXh1SUNCamIyNXpkQ0JwYzA1bGR5QTlJR2hsWVhCYk1sMWJjbTkzWFR0Y2JseHVJQ0JwWmlBb2QyVnBaMmgwSUQ0OUlIZGxhV2RvZEhOYk1GMHBJSHRjYmlBZ0lDQnlaWFIxY200Z01EdGNiaUFnZlZ4dVhHNGdJQzh2SUVKeVpXRnJJR2xtSUhkbElHRnNjbVZoWkhrZ2FHRjJaU0IwYUdseklHVnNaVzFsYm5RdVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYVc1a2FXTmxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUdsbUlDaHBibVJsZUNBOVBUMGdhVzVrYVdObGMxdHBYU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJREE3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSFZ1WTJobFkydGxaRWhsWVhCUWRYTm9LR2hsWVhBc0lISnZkeXdnZDJWcFoyaDBMQ0JwYm1SbGVDd2dabXhoWnlrN1hHNTlYRzVjYmk4cUtseHVJQ29nVUhWemFDQmhJRzVsZHlCbGJHVnRaVzUwSUc5dWRHOGdkR2hsSUdobFlYQXVJRlJvWlNCb1pXRndJSE4wYjNKbGN5QndiM1JsYm5ScFlXd2dibVZwWjJoaWIzSnpYRzRnS2lCbWIzSWdaV0ZqYUNCa1lYUmhJSEJ2YVc1MExpQlVhR1VnWUdCeWIzZGdZQ0J3WVhKaGJXVjBaWElnWkdWMFpYSnRhVzVsY3lCM2FHbGphQ0JrWVhSaElIQnZhVzUwSUhkbFhHNGdLaUJoY21VZ1lXUmtjbVZ6YzJsdVp5d2dkR2hsSUdCZ2QyVnBaMmgwWUdBZ1pHVjBaWEp0YVc1bGN5QjBhR1VnWkdsemRHRnVZMlVnS0dadmNpQm9aV0Z3SUhOdmNuUnBibWNwTEZ4dUlDb2dkR2hsSUdCZ2FXNWtaWGhnWUNCcGN5QjBhR1VnWld4bGJXVnVkQ0IwYnlCaFpHUXNJR0Z1WkNCMGFHVWdabXhoWnlCa1pYUmxjbTFwYm1WeklIZG9aWFJvWlhJZ2RHaHBjMXh1SUNvZ2FYTWdkRzhnWW1VZ1kyOXVjMmxrWlhKbFpDQmhJRzVsZHlCaFpHUnBkR2x2Ymk1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFZ1WTJobFkydGxaRWhsWVhCUWRYTm9LRnh1SUNCb1pXRndPaUJJWldGd0xGeHVJQ0J5YjNjNklHNTFiV0psY2l4Y2JpQWdkMlZwWjJoME9pQnVkVzFpWlhJc1hHNGdJR2x1WkdWNE9pQnVkVzFpWlhJc1hHNGdJR1pzWVdjNklHNTFiV0psY2x4dUtUb2diblZ0WW1WeUlIdGNiaUFnWTI5dWMzUWdhVzVrYVdObGN5QTlJR2hsWVhCYk1GMWJjbTkzWFR0Y2JpQWdZMjl1YzNRZ2QyVnBaMmgwY3lBOUlHaGxZWEJiTVYxYmNtOTNYVHRjYmlBZ1kyOXVjM1FnYVhOT1pYY2dQU0JvWldGd1d6SmRXM0p2ZDEwN1hHNWNiaUFnYVdZZ0tIZGxhV2RvZENBK1BTQjNaV2xuYUhSeld6QmRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlEQTdYRzRnSUgxY2JseHVJQ0F2THlCSmJuTmxjblFnZG1Gc0lHRjBJSEJ2YzJsMGFXOXVJSHBsY205Y2JpQWdkMlZwWjJoMGMxc3dYU0E5SUhkbGFXZG9kRHRjYmlBZ2FXNWthV05sYzFzd1hTQTlJR2x1WkdWNE8xeHVJQ0JwYzA1bGQxc3dYU0E5SUdac1lXYzdYRzVjYmlBZ0x5OGdSR1Z6WTJWdVpDQjBhR1VnYUdWaGNDd2djM2RoY0hCcGJtY2dkbUZzZFdWeklIVnVkR2xzSUhSb1pTQnRZWGdnYUdWaGNDQmpjbWwwWlhKcGIyNGdhWE1nYldWMFhHNGdJR3hsZENCcElEMGdNRHRjYmlBZ2JHVjBJR2xUZDJGd0lEMGdNRHRjYmlBZ2QyaHBiR1VnS0hSeWRXVXBJSHRjYmlBZ0lDQmpiMjV6ZENCcFl6RWdQU0F5SUNvZ2FTQXJJREU3WEc0Z0lDQWdZMjl1YzNRZ2FXTXlJRDBnYVdNeElDc2dNVHRjYmx4dUlDQWdJR052Ym5OMElHaGxZWEJUYUdGd1pUSWdQU0JvWldGd1d6QmRXekJkTG14bGJtZDBhRHRjYmlBZ0lDQnBaaUFvYVdNeElENDlJR2hsWVhCVGFHRndaVElwSUh0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9hV015SUQ0OUlHaGxZWEJUYUdGd1pUSXBJSHRjYmlBZ0lDQWdJR2xtSUNoM1pXbG5hSFJ6VzJsak1WMGdQaUIzWldsbmFIUXBJSHRjYmlBZ0lDQWdJQ0FnYVZOM1lYQWdQU0JwWXpFN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSGRsYVdkb2RITmJhV014WFNBK1BTQjNaV2xuYUhSelcybGpNbDBwSUh0Y2JpQWdJQ0FnSUdsbUlDaDNaV2xuYUhRZ1BDQjNaV2xuYUhSelcybGpNVjBwSUh0Y2JpQWdJQ0FnSUNBZ2FWTjNZWEFnUFNCcFl6RTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhV1lnS0hkbGFXZG9kQ0E4SUhkbGFXZG9kSE5iYVdNeVhTa2dlMXh1SUNBZ0lDQWdJQ0JwVTNkaGNDQTlJR2xqTWp0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIZGxhV2RvZEhOYmFWMGdQU0IzWldsbmFIUnpXMmxUZDJGd1hUdGNiaUFnSUNCcGJtUnBZMlZ6VzJsZElEMGdhVzVrYVdObGMxdHBVM2RoY0YwN1hHNGdJQ0FnYVhOT1pYZGJhVjBnUFNCcGMwNWxkMXRwVTNkaGNGMDdYRzVjYmlBZ0lDQnBJRDBnYVZOM1lYQTdYRzRnSUgxY2JseHVJQ0IzWldsbmFIUnpXMmxkSUQwZ2QyVnBaMmgwTzF4dUlDQnBibVJwWTJWelcybGRJRDBnYVc1a1pYZzdYRzRnSUdselRtVjNXMmxkSUQwZ1pteGhaenRjYmlBZ2NtVjBkWEp1SURFN1hHNTlYRzVjYmk4cUtseHVJQ29nUW5WcGJHUWdZU0JvWldGd0lHOW1JR05oYm1ScFpHRjBaU0J1WldsbmFHSnZjbk1nWm05eUlHNWxZWEpsYzNRZ2JtVnBaMmhpYjNJZ1pHVnpZMlZ1ZEM0Z1JtOXlYRzRnS2lCbFlXTm9JSFpsY25SbGVDQjBhR1VnWTJGdVpHbGtZWFJsSUc1bGFXZG9ZbTl5Y3lCaGNtVWdZVzU1SUdOMWNuSmxiblFnYm1WcFoyaGliM0p6TENCaGJtUWdZVzU1WEc0Z0tpQjJaWEowYVdObGN5QjBhR0YwSUdoaGRtVWdkR2hsSUhabGNuUmxlQ0JoY3lCdmJtVWdiMllnZEdobGFYSWdibVZoY21WemRDQnVaV2xuYUdKdmNuTXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCaWRXbHNaRU5oYm1ScFpHRjBaWE1vWEc0Z0lHTjFjbkpsYm5SSGNtRndhRG9nU0dWaGNDeGNiaUFnYmxabGNuUnBZMlZ6T2lCdWRXMWlaWElzWEc0Z0lHNU9aV2xuYUdKdmNuTTZJRzUxYldKbGNpeGNiaUFnYldGNFEyRnVaR2xrWVhSbGN6b2diblZ0WW1WeUxGeHVJQ0J5WVc1a2IyMDZJRkpoYm1SdmJVWnVYRzRwSUh0Y2JpQWdZMjl1YzNRZ1kyRnVaR2xrWVhSbFRtVnBaMmhpYjNKeklEMGdiV0ZyWlVobFlYQW9ibFpsY25ScFkyVnpMQ0J0WVhoRFlXNWthV1JoZEdWektUdGNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCdVZtVnlkR2xqWlhNN0lHa3JLeWtnZTF4dUlDQWdJR1p2Y2lBb2JHVjBJR29nUFNBd095QnFJRHdnYms1bGFXZG9ZbTl5Y3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZEVkeVlYQm9XekJkVzJsZFcycGRJRHdnTUNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHTnZibk4wSUdsa2VDQTlJR04xY25KbGJuUkhjbUZ3YUZzd1hWdHBYVnRxWFR0Y2JpQWdJQ0FnSUdOdmJuTjBJR2x6YmlBOUlHTjFjbkpsYm5SSGNtRndhRnN5WFZ0cFhWdHFYVHRjYmlBZ0lDQWdJR052Ym5OMElHUWdQU0IxZEdsc2N5NTBZWFZTWVc1a0tISmhibVJ2YlNrN1hHNGdJQ0FnSUNCb1pXRndVSFZ6YUNoallXNWthV1JoZEdWT1pXbG5hR0p2Y25Nc0lHa3NJR1FzSUdsa2VDd2dhWE51S1R0Y2JpQWdJQ0FnSUdobFlYQlFkWE5vS0dOaGJtUnBaR0YwWlU1bGFXZG9ZbTl5Y3l3Z2FXUjRMQ0JrTENCcExDQnBjMjRwTzF4dUlDQWdJQ0FnWTNWeWNtVnVkRWR5WVhCb1d6SmRXMmxkVzJwZElEMGdNRHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdjbVYwZFhKdUlHTmhibVJwWkdGMFpVNWxhV2RvWW05eWN6dGNibjFjYmx4dUx5b3FYRzRnS2lCSGFYWmxiaUJoYmlCaGNuSmhlU0J2WmlCb1pXRndjeUFvYjJZZ2FXNWthV05sY3lCaGJtUWdkMlZwWjJoMGN5a3NJSFZ1Y0dGamF5QjBhR1VnYUdWaGNGeHVJQ29nYjNWMElIUnZJR2RwZG1VZ1lXNWtJR0Z5Y21GNUlHOW1JSE52Y25SbFpDQnNhWE4wY3lCdlppQnBibVJwWTJWeklHRnVaQ0IzWldsbmFIUnpJR0o1SUdsdVkzSmxZWE5wYm1kY2JpQXFJSGRsYVdkb2RDNGdWR2hwY3lCcGN5QmxabVpsWTNScGRtVnNlU0JxZFhOMElIUm9aU0J6WldOdmJtUWdhR0ZzWmlCdlppQm9aV0Z3SUhOdmNuUWdLSFJvWlNCbWFYSnpkRnh1SUNvZ2FHRnNaaUJ1YjNRZ1ltVnBibWNnY21WeGRXbHlaV1FnYzJsdVkyVWdkMlVnWVd4eVpXRmtlU0JvWVhabElIUm9aU0JrWVhSaElHbHVJR0VnYUdWaGNDa3VYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCa1pXaGxZWEJUYjNKMEtHaGxZWEE2SUVobFlYQXBJSHRjYmlBZ1kyOXVjM1FnYVc1a2FXTmxjeUE5SUdobFlYQmJNRjA3WEc0Z0lHTnZibk4wSUhkbGFXZG9kSE1nUFNCb1pXRndXekZkTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYVc1a2FXTmxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUdOdmJuTjBJR2x1WkVobFlYQWdQU0JwYm1ScFkyVnpXMmxkTzF4dUlDQWdJR052Ym5OMElHUnBjM1JJWldGd0lEMGdkMlZwWjJoMGMxdHBYVHRjYmx4dUlDQWdJR1p2Y2lBb2JHVjBJR29nUFNBd095QnFJRHdnYVc1a1NHVmhjQzVzWlc1bmRHZ2dMU0F4T3lCcUt5c3BJSHRjYmlBZ0lDQWdJR052Ym5OMElHbHVaRWhsWVhCSmJtUmxlQ0E5SUdsdVpFaGxZWEF1YkdWdVozUm9JQzBnYWlBdElERTdYRzRnSUNBZ0lDQmpiMjV6ZENCa2FYTjBTR1ZoY0VsdVpHVjRJRDBnWkdsemRFaGxZWEF1YkdWdVozUm9JQzBnYWlBdElERTdYRzVjYmlBZ0lDQWdJR052Ym5OMElIUmxiWEF4SUQwZ2FXNWtTR1ZoY0Zzd1hUdGNiaUFnSUNBZ0lHbHVaRWhsWVhCYk1GMGdQU0JwYm1SSVpXRndXMmx1WkVobFlYQkpibVJsZUYwN1hHNGdJQ0FnSUNCcGJtUklaV0Z3VzJsdVpFaGxZWEJKYm1SbGVGMGdQU0IwWlcxd01UdGNibHh1SUNBZ0lDQWdZMjl1YzNRZ2RHVnRjRElnUFNCa2FYTjBTR1ZoY0Zzd1hUdGNiaUFnSUNBZ0lHUnBjM1JJWldGd1d6QmRJRDBnWkdsemRFaGxZWEJiWkdsemRFaGxZWEJKYm1SbGVGMDdYRzRnSUNBZ0lDQmthWE4wU0dWaGNGdGthWE4wU0dWaGNFbHVaR1Y0WFNBOUlIUmxiWEF5TzF4dVhHNGdJQ0FnSUNCemFXWjBSRzkzYmloa2FYTjBTR1ZoY0N3Z2FXNWtTR1ZoY0N3Z1pHbHpkRWhsWVhCSmJtUmxlQ3dnTUNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUhKbGRIVnliaUI3SUdsdVpHbGpaWE1zSUhkbGFXZG9kSE1nZlR0Y2JuMWNibHh1THlvcVhHNGdLaUJTWlhOMGIzSmxJSFJvWlNCb1pXRndJSEJ5YjNCbGNuUjVJR1p2Y2lCaElHaGxZWEFnZDJsMGFDQmhiaUJ2ZFhRZ2IyWWdjR3hoWTJVZ1pXeGxiV1Z1ZEZ4dUlDb2dZWFFnY0c5emFYUnBiMjRnWUdCbGJIUmdZQzRnVkdocGN5QjNiM0pyY3lCM2FYUm9JR0VnYUdWaGNDQndZV2x5SUhkb1pYSmxJR2hsWVhBeElHTmhjbkpwWlhOY2JpQXFJSFJvWlNCM1pXbG5hSFJ6SUdGdVpDQm9aV0Z3TWlCb2IyeGtjeUIwYUdVZ1kyOXljbVZ6Y0c5dVpHbHVaeUJsYkdWdFpXNTBjeTVjYmlBcUwxeHVablZ1WTNScGIyNGdjMmxtZEVSdmQyNG9YRzRnSUdobFlYQXhPaUJ1ZFcxaVpYSmJYU3hjYmlBZ2FHVmhjREk2SUc1MWJXSmxjbHRkTEZ4dUlDQmpaV2xzYVc1bk9pQnVkVzFpWlhJc1hHNGdJR1ZzZERvZ2JuVnRZbVZ5WEc0cElIdGNiaUFnZDJocGJHVWdLR1ZzZENBcUlESWdLeUF4SUR3Z1kyVnBiR2x1WnlrZ2UxeHVJQ0FnSUdOdmJuTjBJR3hsWm5SRGFHbHNaQ0E5SUdWc2RDQXFJRElnS3lBeE8xeHVJQ0FnSUdOdmJuTjBJSEpwWjJoMFEyaHBiR1FnUFNCc1pXWjBRMmhwYkdRZ0t5QXhPMXh1SUNBZ0lHeGxkQ0J6ZDJGd0lEMGdaV3gwTzF4dVhHNGdJQ0FnYVdZZ0tHaGxZWEF4VzNOM1lYQmRJRHdnYUdWaGNERmJiR1ZtZEVOb2FXeGtYU2tnZTF4dUlDQWdJQ0FnYzNkaGNDQTlJR3hsWm5SRGFHbHNaRHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSEpwWjJoMFEyaHBiR1FnUENCalpXbHNhVzVuSUNZbUlHaGxZWEF4VzNOM1lYQmRJRHdnYUdWaGNERmJjbWxuYUhSRGFHbHNaRjBwSUh0Y2JpQWdJQ0FnSUhOM1lYQWdQU0J5YVdkb2RFTm9hV3hrTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoemQyRndJRDA5UFNCbGJIUXBJSHRjYmlBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQjBaVzF3TVNBOUlHaGxZWEF4VzJWc2RGMDdYRzRnSUNBZ0lDQm9aV0Z3TVZ0bGJIUmRJRDBnYUdWaGNERmJjM2RoY0YwN1hHNGdJQ0FnSUNCb1pXRndNVnR6ZDJGd1hTQTlJSFJsYlhBeE8xeHVYRzRnSUNBZ0lDQmpiMjV6ZENCMFpXMXdNaUE5SUdobFlYQXlXMlZzZEYwN1hHNGdJQ0FnSUNCb1pXRndNbHRsYkhSZElEMGdhR1ZoY0RKYmMzZGhjRjA3WEc0Z0lDQWdJQ0JvWldGd01sdHpkMkZ3WFNBOUlIUmxiWEF5TzF4dUlDQWdJQ0FnWld4MElEMGdjM2RoY0R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCVFpXRnlZMmdnZEdobElHaGxZWEFnWm05eUlIUm9aU0J6YldGc2JHVnpkQ0JsYkdWdFpXNTBJSFJvWVhRZ2FYTWdjM1JwYkd3Z1pteGhaMmRsWkM1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE50WVd4c1pYTjBSbXhoWjJkbFpDaG9aV0Z3T2lCSVpXRndMQ0J5YjNjNklHNTFiV0psY2lrZ2UxeHVJQ0JqYjI1emRDQnBibVFnUFNCb1pXRndXekJkVzNKdmQxMDdYRzRnSUdOdmJuTjBJR1JwYzNRZ1BTQm9aV0Z3V3pGZFczSnZkMTA3WEc0Z0lHTnZibk4wSUdac1lXY2dQU0JvWldGd1d6SmRXM0p2ZDEwN1hHNWNiaUFnYkdWMElHMXBia1JwYzNRZ1BTQkpibVpwYm1sMGVUdGNiaUFnYkdWMElISmxjM1ZzZEVsdVpHVjRJRDBnTFRFN1hHNWNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUGlCcGJtUXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0JwWmlBb1pteGhaMXRwWFNBOVBUMGdNU0FtSmlCa2FYTjBXMmxkSUR3Z2JXbHVSR2x6ZENrZ2UxeHVJQ0FnSUNBZ2JXbHVSR2x6ZENBOUlHUnBjM1JiYVYwN1hHNGdJQ0FnSUNCeVpYTjFiSFJKYm1SbGVDQTlJR2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYVdZZ0tISmxjM1ZzZEVsdVpHVjRJRDQ5SURBcElIdGNiaUFnSUNCbWJHRm5XM0psYzNWc2RFbHVaR1Y0WFNBOUlEQTdYRzRnSUNBZ2NtVjBkWEp1SUUxaGRHZ3VabXh2YjNJb2FXNWtXM0psYzNWc2RFbHVaR1Y0WFNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2NtVjBkWEp1SUMweE8xeHVJQ0I5WEc1OVhHNGlYWDA9IiwiLyoqXG4gKiBAbGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuLyoqXG4gKiBJbnRlcm5hbCAyLWRpbWVuc2lvbmFsIHNwYXJzZSBtYXRyaXggY2xhc3NcbiAqL1xuZXhwb3J0IGNsYXNzIFNwYXJzZU1hdHJpeCB7XG4gICAgZW50cmllcyA9IG5ldyBNYXAoKTtcbiAgICBuUm93cyA9IDA7XG4gICAgbkNvbHMgPSAwO1xuICAgIGNvbnN0cnVjdG9yKHJvd3MsIGNvbHMsIHZhbHVlcywgZGltcykge1xuICAgICAgICBpZiAocm93cy5sZW5ndGggIT09IGNvbHMubGVuZ3RoIHx8IHJvd3MubGVuZ3RoICE9PSB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Jvd3MsIGNvbHMgYW5kIHZhbHVlcyBhcnJheXMgbXVzdCBhbGwgaGF2ZSB0aGUgc2FtZSBsZW5ndGgnKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPOiBBc3NlcnQgdGhhdCBkaW1zIGFyZSBsZWdpdC5cbiAgICAgICAgdGhpcy5uUm93cyA9IGRpbXNbMF07XG4gICAgICAgIHRoaXMubkNvbHMgPSBkaW1zWzFdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcbiAgICAgICAgICAgIGNvbnN0IGNvbCA9IGNvbHNbaV07XG4gICAgICAgICAgICB0aGlzLmNoZWNrRGltcyhyb3csIGNvbCk7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSB0aGlzLm1ha2VLZXkocm93LCBjb2wpO1xuICAgICAgICAgICAgdGhpcy5lbnRyaWVzLnNldChrZXksIHsgdmFsdWU6IHZhbHVlc1tpXSwgcm93LCBjb2wgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbWFrZUtleShyb3csIGNvbCkge1xuICAgICAgICByZXR1cm4gYCR7cm93fToke2NvbH1gO1xuICAgIH1cbiAgICBjaGVja0RpbXMocm93LCBjb2wpIHtcbiAgICAgICAgY29uc3Qgd2l0aGluQm91bmRzID0gcm93IDwgdGhpcy5uUm93cyAmJiBjb2wgPCB0aGlzLm5Db2xzO1xuICAgICAgICBpZiAoIXdpdGhpbkJvdW5kcykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyb3cgYW5kL29yIGNvbCBzcGVjaWZpZWQgb3V0c2lkZSBvZiBtYXRyaXggZGltZW5zaW9ucycpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNldChyb3csIGNvbCwgdmFsdWUpIHtcbiAgICAgICAgdGhpcy5jaGVja0RpbXMocm93LCBjb2wpO1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLm1ha2VLZXkocm93LCBjb2wpO1xuICAgICAgICBpZiAoIXRoaXMuZW50cmllcy5oYXMoa2V5KSkge1xuICAgICAgICAgICAgdGhpcy5lbnRyaWVzLnNldChrZXksIHsgdmFsdWUsIHJvdywgY29sIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbnRyaWVzLmdldChrZXkpLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0KHJvdywgY29sLCBkZWZhdWx0VmFsdWUgPSAwKSB7XG4gICAgICAgIC8vdGhpcy5jaGVja0RpbXMocm93LCBjb2wpO1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLm1ha2VLZXkocm93LCBjb2wpO1xuICAgICAgICBpZiAodGhpcy5lbnRyaWVzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbnRyaWVzLmdldChrZXkpLnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXRBbGwob3JkZXJlZCA9IHRydWUpIHtcbiAgICAgICAgY29uc3Qgcm93Q29sVmFsdWVzID0gbmV3IEFycmF5KHRoaXMuZW50cmllcy5zaXplKS5maWxsKG51bGwpO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICAgIHJvd0NvbFZhbHVlc1tpKytdID0gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAob3JkZXJlZCkge1xuICAgICAgICAgICAgLy8gT3JkZXJpbmcgdGhlIHJlc3VsdCBpc24ndCByZXF1aXJlZCBmb3IgcHJvY2Vzc2luZyBidXQgaXQgZG9lcyBtYWtlIGl0IGVhc2llciB0byB3cml0ZSB0ZXN0c1xuICAgICAgICAgICAgcm93Q29sVmFsdWVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYS5yb3cgPT09IGIucm93KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhLmNvbCAtIGIuY29sO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEucm93IC0gYi5yb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvd0NvbFZhbHVlcztcbiAgICB9XG4gICAgZ2V0RGltcygpIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLm5Sb3dzLCB0aGlzLm5Db2xzXTtcbiAgICB9XG4gICAgZ2V0Um93cygpIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5lbnRyaWVzLCAoW2tleSwgdmFsdWVdKSA9PiB2YWx1ZS5yb3cpO1xuICAgICAgICAvLyByZXR1cm4gdGhpcy5yb3dzIGFzIHVua25vd24gYXMgbnVtYmVyW107XG4gICAgfVxuICAgIGdldENvbHMoKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZW50cmllcywgKFtrZXksIHZhbHVlXSkgPT4gdmFsdWUuY29sKTtcbiAgICAgICAgLy8gcmV0dXJuIHRoaXMuY29scyBhcyB1bmtub3duIGFzIG51bWJlcltdO1xuICAgIH1cbiAgICBnZXRWYWx1ZXMoKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZW50cmllcywgKFtrZXksIHZhbHVlXSkgPT4gdmFsdWUudmFsdWUpO1xuICAgICAgICAvL3JldHVybiB0aGlzLnZhbHVlcyBhcyB1bmtub3duIGFzIG51bWJlcltdO1xuICAgIH1cbiAgICBmb3JFYWNoKGZuKSB7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKHZhbHVlID0+IGZuKHZhbHVlLnZhbHVlLCB2YWx1ZS5yb3csIHZhbHVlLmNvbCkpO1xuICAgIH1cbiAgICBtYXAoZm4pIHtcbiAgICAgICAgY29uc3QgdmFscyA9IG5ldyBGbG9hdDMyQXJyYXkodGhpcy5lbnRyaWVzLnNpemUpO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICAgIHZhbHNbaSsrXSA9IGZuKHZhbHVlLnZhbHVlLCB2YWx1ZS5yb3csIHZhbHVlLmNvbCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkaW1zID0gW3RoaXMublJvd3MsIHRoaXMubkNvbHNdO1xuICAgICAgICByZXR1cm4gbmV3IFNwYXJzZU1hdHJpeCh0aGlzLmdldFJvd3MoKSwgdGhpcy5nZXRDb2xzKCksIHZhbHMsIGRpbXMpO1xuICAgIH1cbiAgICB0b0FycmF5KCkge1xuICAgICAgICBjb25zdCByb3dzID0gdXRpbHMuZW1wdHkodGhpcy5uUm93cyk7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IHJvd3MubWFwKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB1dGlscy56ZXJvcyh0aGlzLm5Db2xzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICAgIG91dHB1dFt2YWx1ZS5yb3ddW3ZhbHVlLmNvbF0gPSB2YWx1ZS52YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgfVxufVxuLyoqXG4gKiBUcmFuc3Bvc2UgYSBzcGFyc2UgbWF0cml4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc3Bvc2UobWF0cml4KSB7XG4gICAgY29uc3Qgb2xkUm93cyA9IG1hdHJpeC5nZXRSb3dzKCk7XG4gICAgY29uc3Qgb2xkQ29scyA9IG1hdHJpeC5nZXRDb2xzKCk7XG4gICAgY29uc3Qgb2xkVmFscyA9IG1hdHJpeC5nZXRWYWx1ZXMoKTtcbiAgICBjb25zdCBtYXRsZW4gPSBvbGRDb2xzLmxlbmd0aDtcbiAgICBjb25zdCBjb2xzID0gbmV3IEludDMyQXJyYXkobWF0bGVuKTtcbiAgICBjb25zdCByb3dzID0gbmV3IEludDMyQXJyYXkobWF0bGVuKTtcbiAgICBjb25zdCB2YWxzID0gbmV3IEZsb2F0MzJBcnJheShtYXRsZW4pO1xuICAgIGNvbHMuc2V0KG9sZFJvd3MpO1xuICAgIHJvd3Muc2V0KG9sZENvbHMpO1xuICAgIHZhbHMuc2V0KG9sZFZhbHMpO1xuICAgIGNvbnN0IGRpbXMgPSBbbWF0cml4Lm5Db2xzLCBtYXRyaXgublJvd3NdO1xuICAgIHJldHVybiBuZXcgU3BhcnNlTWF0cml4KHJvd3MsIGNvbHMsIHZhbHMsIGRpbXMpO1xufVxuLyoqXG4gKiBDb25zdHJ1Y3QgYSBzcGFyc2UgaWRlbnRpdHkgbWF0cml4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpZGVudGl0eShzaXplKSB7XG4gICAgY29uc3QgW3Jvd3NdID0gc2l6ZTtcbiAgICBjb25zdCBtYXRyaXggPSBuZXcgU3BhcnNlTWF0cml4KFtdLCBbXSwgW10sIHNpemUpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93czsgaSsrKSB7XG4gICAgICAgIG1hdHJpeC5zZXQoaSwgaSwgMSk7XG4gICAgfVxuICAgIHJldHVybiBtYXRyaXg7XG59XG4vKipcbiAqIEVsZW1lbnQtd2lzZSBtdWx0aXBsaWNhdGlvbiBvZiB0d28gbWF0cmljZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhaXJ3aXNlTXVsdGlwbHkoYSwgYikge1xuICAgIHJldHVybiBlbGVtZW50V2lzZShhLCBiLCAoeCwgeSkgPT4geCAqIHkpO1xufVxuLyoqXG4gKiBFbGVtZW50LXdpc2UgYWRkaXRpb24gb2YgdHdvIG1hdHJpY2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGQoYSwgYikge1xuICAgIHJldHVybiBlbGVtZW50V2lzZShhLCBiLCAoeCwgeSkgPT4geCArIHkpO1xufVxuLyoqXG4gKiBFbGVtZW50LXdpc2Ugc3VidHJhY3Rpb24gb2YgdHdvIG1hdHJpY2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJ0cmFjdChhLCBiKSB7XG4gICAgcmV0dXJuIGVsZW1lbnRXaXNlKGEsIGIsICh4LCB5KSA9PiB4IC0geSk7XG59XG4vKipcbiAqIEVsZW1lbnQtd2lzZSBtYXhpbXVtIG9mIHR3byBtYXRyaWNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWF4aW11bShhLCBiKSB7XG4gICAgcmV0dXJuIGVsZW1lbnRXaXNlKGEsIGIsICh4LCB5KSA9PiAoeCA+IHkgPyB4IDogeSkpO1xufVxuLyoqXG4gKiBTY2FsYXIgbXVsdGlwbGljYXRpb24gb2YgdHdvIG1hdHJpY2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtdWx0aXBseVNjYWxhcihhLCBzY2FsYXIpIHtcbiAgICByZXR1cm4gYS5tYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZSAqIHNjYWxhcjtcbiAgICB9KTtcbn1cbi8qKlxuICogUmV0dXJucyBhIG5ldyBtYXRyaXggd2l0aCB6ZXJvIGVudHJpZXMgcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVsaW1pbmF0ZVplcm9zKG0pIHtcbiAgICBjb25zdCB6ZXJvSW5kaWNlcyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCB2YWx1ZXMgPSBtLmdldFZhbHVlcygpO1xuICAgIGNvbnN0IHJvd3MgPSBtLmdldFJvd3MoKTtcbiAgICBjb25zdCBjb2xzID0gbS5nZXRDb2xzKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHZhbHVlc1tpXSA9PT0gMCkge1xuICAgICAgICAgICAgemVyb0luZGljZXMuYWRkKGkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJlbW92ZUJ5WmVyb0luZGV4ID0gKF8sIGluZGV4KSA9PiAhemVyb0luZGljZXMuaGFzKGluZGV4KTtcbiAgICBjb25zdCBuZXh0VmFsdWVzID0gdmFsdWVzLmZpbHRlcihyZW1vdmVCeVplcm9JbmRleCk7XG4gICAgY29uc3QgbmV4dFJvd3MgPSByb3dzLmZpbHRlcihyZW1vdmVCeVplcm9JbmRleCk7XG4gICAgY29uc3QgbmV4dENvbHMgPSBjb2xzLmZpbHRlcihyZW1vdmVCeVplcm9JbmRleCk7XG4gICAgcmV0dXJuIG5ldyBTcGFyc2VNYXRyaXgobmV4dFJvd3MsIG5leHRDb2xzLCBuZXh0VmFsdWVzLCBtLmdldERpbXMoKSk7XG59XG4vKipcbiAqIE5vcm1hbGl6YXRpb24gb2YgYSBzcGFyc2UgbWF0cml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplKG0sIG5vcm1UeXBlID0gXCJsMlwiIC8qIE5vcm1UeXBlLmwyICovKSB7XG4gICAgY29uc3Qgbm9ybUZuID0gbm9ybUZuc1tub3JtVHlwZV07XG4gICAgY29uc3QgY29sc0J5Um93ID0gbmV3IE1hcCgpO1xuICAgIG0uZm9yRWFjaCgoXywgcm93LCBjb2wpID0+IHtcbiAgICAgICAgY29uc3QgY29scyA9IGNvbHNCeVJvdy5nZXQocm93KSB8fCBbXTtcbiAgICAgICAgY29scy5wdXNoKGNvbCk7XG4gICAgICAgIGNvbHNCeVJvdy5zZXQocm93LCBjb2xzKTtcbiAgICB9KTtcbiAgICBjb25zdCBuZXh0TWF0cml4ID0gbmV3IFNwYXJzZU1hdHJpeChbXSwgW10sIFtdLCBtLmdldERpbXMoKSk7XG4gICAgZm9yIChsZXQgcm93IG9mIGNvbHNCeVJvdy5rZXlzKCkpIHtcbiAgICAgICAgY29uc3QgY29scyA9IGNvbHNCeVJvdy5nZXQocm93KS5zb3J0KCk7XG4gICAgICAgIGNvbnN0IHZhbHMgPSBjb2xzLm1hcChjb2wgPT4gbS5nZXQocm93LCBjb2wpKTtcbiAgICAgICAgY29uc3Qgbm9ybSA9IG5vcm1Gbih2YWxzKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub3JtLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBuZXh0TWF0cml4LnNldChyb3csIGNvbHNbaV0sIG5vcm1baV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXh0TWF0cml4O1xufVxuY29uc3Qgbm9ybUZucyA9IHtcbiAgICBbXCJtYXhcIiAvKiBOb3JtVHlwZS5tYXggKi9dOiAoeHMpID0+IHtcbiAgICAgICAgbGV0IG1heCA9IC1JbmZpbml0eTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB4cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbWF4ID0geHNbaV0gPiBtYXggPyB4c1tpXSA6IG1heDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geHMubWFwKHggPT4geCAvIG1heCk7XG4gICAgfSxcbiAgICBbXCJsMVwiIC8qIE5vcm1UeXBlLmwxICovXTogKHhzKSA9PiB7XG4gICAgICAgIGxldCBzdW0gPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHhzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBzdW0gKz0geHNbaV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHhzLm1hcCh4ID0+IHggLyBzdW0pO1xuICAgIH0sXG4gICAgW1wibDJcIiAvKiBOb3JtVHlwZS5sMiAqL106ICh4cykgPT4ge1xuICAgICAgICBsZXQgc3VtID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB4cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgc3VtICs9IHhzW2ldICoqIDI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHhzLm1hcCh4ID0+IE1hdGguc3FydCh4ICoqIDIgLyBzdW0pKTtcbiAgICB9LFxufTtcbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIGZvciBlbGVtZW50LXdpc2Ugb3BlcmF0aW9ucy5cbiAqL1xuZnVuY3Rpb24gZWxlbWVudFdpc2UoYSwgYiwgb3ApIHtcbiAgICBjb25zdCB2aXNpdGVkID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IHJvd3MgPSBbXTtcbiAgICBjb25zdCBjb2xzID0gW107XG4gICAgY29uc3QgdmFscyA9IFtdO1xuICAgIGNvbnN0IG9wZXJhdGUgPSAocm93LCBjb2wpID0+IHtcbiAgICAgICAgcm93cy5wdXNoKHJvdyk7XG4gICAgICAgIGNvbHMucHVzaChjb2wpO1xuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSBvcChhLmdldChyb3csIGNvbCksIGIuZ2V0KHJvdywgY29sKSk7XG4gICAgICAgIHZhbHMucHVzaChuZXh0VmFsdWUpO1xuICAgIH07XG4gICAgY29uc3QgdmFsdWVzQSA9IGEuZ2V0VmFsdWVzKCk7XG4gICAgY29uc3Qgcm93c0EgPSBhLmdldFJvd3MoKTtcbiAgICBjb25zdCBjb2xzQSA9IGEuZ2V0Q29scygpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWVzQS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCByb3cgPSByb3dzQVtpXTtcbiAgICAgICAgY29uc3QgY29sID0gY29sc0FbaV07XG4gICAgICAgIGNvbnN0IGtleSA9IGAke3Jvd306JHtjb2x9YDtcbiAgICAgICAgdmlzaXRlZC5hZGQoa2V5KTtcbiAgICAgICAgb3BlcmF0ZShyb3csIGNvbCk7XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlc0IgPSBiLmdldFZhbHVlcygpO1xuICAgIGNvbnN0IHJvd3NCID0gYi5nZXRSb3dzKCk7XG4gICAgY29uc3QgY29sc0IgPSBiLmdldENvbHMoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlc0IubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gcm93c0JbaV07XG4gICAgICAgIGNvbnN0IGNvbCA9IGNvbHNCW2ldO1xuICAgICAgICBjb25zdCBrZXkgPSBgJHtyb3d9OiR7Y29sfWA7XG4gICAgICAgIGlmICh2aXNpdGVkLmhhcyhrZXkpKVxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIG9wZXJhdGUocm93LCBjb2wpO1xuICAgIH1cbiAgICBjb25zdCBkaW1zID0gW2EublJvd3MsIGEubkNvbHNdO1xuICAgIHJldHVybiBuZXcgU3BhcnNlTWF0cml4KHJvd3MsIGNvbHMsIHZhbHMsIGRpbXMpO1xufVxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGdldHRpbmcgZGF0YSwgaW5kaWNlcywgYW5kIGlucHRyIGFycmF5cyBmcm9tIGEgc3BhcnNlXG4gKiBtYXRyaXggdG8gZm9sbG93IGNzciBtYXRyaXggY29udmVudGlvbnMuIFN1cGVyIGluZWZmaWNpZW50IChhbmQga2luZCBvZlxuICogZGVmZWF0cyB0aGUgcHVycG9zZSBvZiB0aGlzIGNvbnZlbnRpb24pIGJ1dCBhIGxvdCBvZiB0aGUgcG9ydGVkIHB5dGhvbiB0cmVlXG4gKiBzZWFyY2ggbG9naWMgZGVwZW5kcyBvbiB0aGlzIGRhdGEgZm9ybWF0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q1NSKHgpIHtcbiAgICBjb25zdCBlbnRyaWVzID0gW107XG4gICAgeC5mb3JFYWNoKCh2YWx1ZSwgcm93LCBjb2wpID0+IHtcbiAgICAgICAgZW50cmllcy5wdXNoKHsgdmFsdWUsIHJvdywgY29sIH0pO1xuICAgIH0pO1xuICAgIGVudHJpZXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICBpZiAoYS5yb3cgPT09IGIucm93KSB7XG4gICAgICAgICAgICByZXR1cm4gYS5jb2wgLSBiLmNvbDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhLnJvdyAtIGIucm93O1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaW5kaWNlcyA9IFtdO1xuICAgIGNvbnN0IHZhbHVlcyA9IFtdO1xuICAgIGNvbnN0IGluZHB0ciA9IFtdO1xuICAgIGxldCBjdXJyZW50Um93ID0gLTE7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHsgcm93LCBjb2wsIHZhbHVlIH0gPSBlbnRyaWVzW2ldO1xuICAgICAgICBpZiAocm93ICE9PSBjdXJyZW50Um93KSB7XG4gICAgICAgICAgICBjdXJyZW50Um93ID0gcm93O1xuICAgICAgICAgICAgaW5kcHRyLnB1c2goaSk7XG4gICAgICAgIH1cbiAgICAgICAgaW5kaWNlcy5wdXNoKGNvbCk7XG4gICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgaW5kaWNlcywgdmFsdWVzLCBpbmRwdHIgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJXRjBjbWw0TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2liV0YwY21sNExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCT3pzN096czdPenM3T3pzN096czdPenRIUVdsQ1J6dEJRVVZJTEU5QlFVOHNTMEZCU3l4TFFVRkxMRTFCUVUwc1UwRkJVeXhEUVVGRE8wRkJTV3BET3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hQUVVGUExGbEJRVms3U1VGRFppeFBRVUZQTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVdsQ0xFTkJRVU03U1VGRmJFTXNTMEZCU3l4SFFVRlhMRU5CUVVNc1EwRkJRenRKUVVOc1FpeExRVUZMTEVkQlFWY3NRMEZCUXl4RFFVRkRPMGxCUlROQ0xGbEJRMFVzU1VGQk1rSXNSVUZETTBJc1NVRkJNa0lzUlVGRE0wSXNUVUZCSzBJc1JVRkRMMElzU1VGQll6dFJRVVZrTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTFCUVUwc1MwRkJTeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRXRCUVVzc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJUdFpRVU5vUlN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVOaUxEUkVRVUUwUkN4RFFVTTNSQ3hEUVVGRE8xTkJRMGc3VVVGRlJDeHZRMEZCYjBNN1VVRkRjRU1zU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGNrSXNTVUZCU1N4RFFVRkRMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEY2tJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZEZEVNc1RVRkJUU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTNCQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOd1FpeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU42UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOdVF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRPMU5CUTNaRU8wbEJRMGdzUTBGQlF6dEpRVVZQTEU5QlFVOHNRMEZCUXl4SFFVRlhMRVZCUVVVc1IwRkJWenRSUVVOMFF5eFBRVUZQTEVkQlFVY3NSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGRE8wbEJRM3BDTEVOQlFVTTdTVUZGVHl4VFFVRlRMRU5CUVVNc1IwRkJWeXhGUVVGRkxFZEJRVmM3VVVGRGVFTXNUVUZCVFN4WlFVRlpMRWRCUVVjc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVsQlFVa3NSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU03VVVGRE1VUXNTVUZCU1N4RFFVRkRMRmxCUVZrc1JVRkJSVHRaUVVOcVFpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMSFZFUVVGMVJDeERRVUZETEVOQlFVTTdVMEZETVVVN1NVRkRTQ3hEUVVGRE8wbEJSVVFzUjBGQlJ5eERRVUZETEVkQlFWY3NSVUZCUlN4SFFVRlhMRVZCUVVVc1MwRkJZVHRSUVVONlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU42UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOdVF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVTdXVUZETVVJc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRPMU5CUXpWRE8yRkJRVTA3V1VGRFRDeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVVVzUTBGQlF5eExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRPMU5CUTNSRE8wbEJRMGdzUTBGQlF6dEpRVVZFTEVkQlFVY3NRMEZCUXl4SFFVRlhMRVZCUVVVc1IwRkJWeXhGUVVGRkxGbEJRVmtzUjBGQlJ5eERRVUZETzFGQlF6VkRMREpDUVVFeVFqdFJRVU16UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOdVF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTzFsQlEzcENMRTlCUVU4c1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRE8xTkJRM0pETzJGQlFVMDdXVUZEVEN4UFFVRlBMRmxCUVZrc1EwRkJRenRUUVVOeVFqdEpRVU5JTEVOQlFVTTdTVUZGUkN4TlFVRk5MRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWs3VVVGRGJrSXNUVUZCVFN4WlFVRlpMRWRCUVZrc1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZEZEVVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlExWXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVTdXVUZETTBJc1dVRkJXU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRPMUZCUXpWQ0xFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEwZ3NTVUZCU1N4UFFVRlBMRVZCUVVVN1dVRkRXQ3c0UmtGQk9FWTdXVUZET1VZc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRuUWtGRGVrSXNTVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVTdiMEpCUTI1Q0xFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRE8ybENRVU4wUWp0eFFrRkJUVHR2UWtGRFRDeFBRVUZQTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dHBRa0ZEZEVJN1dVRkRTQ3hEUVVGRExFTkJRVU1zUTBGQlF6dFRRVU5LTzFGQlEwUXNUMEZCVHl4WlFVRlpMRU5CUVVNN1NVRkRkRUlzUTBGQlF6dEpRVVZFTEU5QlFVODdVVUZEVEN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1NVRkRiRU1zUTBGQlF6dEpRVVZFTEU5QlFVODdVVUZEVGl4UFFVRlBMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFdEJRVXNzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRE4wUXNNa05CUVRKRE8wbEJRelZETEVOQlFVTTdTVUZGUkN4UFFVRlBPMUZCUTA0c1QwRkJUeXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeExRVUZMTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlF6ZEVMREpEUVVFeVF6dEpRVU0xUXl4RFFVRkRPMGxCUlVRc1UwRkJVenRSUVVOVUxFOUJRVThzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTXZSQ3cwUTBGQk5FTTdTVUZETlVNc1EwRkJRenRKUVVWRUxFOUJRVThzUTBGQlF5eEZRVUZ4UkR0UlFVTXpSQ3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eExRVUZMTEVOQlFVTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhIUVVGSExFVkJRVVVzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRka1VzUTBGQlF6dEpRVVZFTEVkQlFVY3NRMEZCUXl4RlFVRjFSRHRSUVVONlJDeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTJwRUxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUVR0UlFVTlVMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZPMWxCUXpOQ0xFbEJRVWtzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eEZRVUZGTEV0QlFVc3NRMEZCUXl4SFFVRkhMRVZCUVVVc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEzQkVMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMGdzVFVGQlRTeEpRVUZKTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTjBReXhQUVVGUExFbEJRVWtzV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVc1JVRkJSU3hKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVWQlFVVXNTVUZCTWtJc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU0zUml4RFFVRkRPMGxCUlVRc1QwRkJUenRSUVVOTUxFMUJRVTBzU1VGQlNTeEhRVUZuUWl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTnNSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSVHRaUVVNelFpeFBRVUZQTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFGQlEycERMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMGdzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVU3V1VGRE0wSXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF6dFJRVU0zUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxFOUJRVThzVFVGQlRTeERRVUZETzBsQlEyaENMRU5CUVVNN1EwRkRSanRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRk5CUVZNc1EwRkJReXhOUVVGdlFqdEpRVU0xUXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhOUVVGTkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZEYWtNc1RVRkJUU3hQUVVGUExFZEJRVWNzVFVGQlRTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUTJwRExFMUJRVTBzVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVOdVF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRemxDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1ZVRkJWU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBsQlEzQkRMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzVlVGQlZTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUTNCRExFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NXVUZCV1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJSWFJETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRGJFSXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU5zUWl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzBsQlEyeENMRTFCUVUwc1NVRkJTU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03U1VGRE1VTXNUMEZCVHl4SlFVRkpMRmxCUVZrc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRCUVVOc1JDeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVVVGQlVTeERRVUZETEVsQlFXTTdTVUZEY2tNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXp0SlFVTndRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEZsQlFWa3NRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hGUVVGRkxFVkJRVVVzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTnNSQ3hMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1NVRkJTU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFGQlF6ZENMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRMUVVOeVFqdEpRVU5FTEU5QlFVOHNUVUZCVFN4RFFVRkRPMEZCUTJoQ0xFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3huUWtGQlowSXNRMEZET1VJc1EwRkJaU3hGUVVObUxFTkJRV1U3U1VGRlppeFBRVUZQTEZkQlFWY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6VkRMRU5CUVVNN1FVRkZSRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4SFFVRkhMRU5CUVVNc1EwRkJaU3hGUVVGRkxFTkJRV1U3U1VGRGJFUXNUMEZCVHl4WFFVRlhMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTTFReXhEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1VVRkJVU3hEUVVGRExFTkJRV1VzUlVGQlJTeERRVUZsTzBsQlEzWkVMRTlCUVU4c1YwRkJWeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkROVU1zUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxFOUJRVThzUTBGQlF5eERRVUZsTEVWQlFVVXNRMEZCWlR0SlFVTjBSQ3hQUVVGUExGZEJRVmNzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGRFUXNRMEZCUXp0QlFVVkVPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdOQlFXTXNRMEZCUXl4RFFVRmxMRVZCUVVVc1RVRkJZenRKUVVNMVJDeFBRVUZQTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhMUVVGaExFVkJRVVVzUlVGQlJUdFJRVU0zUWl4UFFVRlBMRXRCUVVzc1IwRkJSeXhOUVVGTkxFTkJRVU03U1VGRGVFSXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRUQ3hEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1kwRkJZeXhEUVVGRExFTkJRV1U3U1VGRE5VTXNUVUZCVFN4WFFVRlhMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF6dEpRVU01UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdTVUZETjBJc1RVRkJUU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUTNwQ0xFMUJRVTBzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVONlFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVOMFF5eEpRVUZKTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVU3V1VGRGJrSXNWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFRRVU53UWp0TFFVTkdPMGxCUTBRc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4RFFVRkRMRU5CUVUwc1JVRkJSU3hMUVVGaExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEpRVU0zUlN4TlFVRk5MRlZCUVZVc1IwRkJSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03U1VGRGNFUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhEUVVGRE8wbEJRMmhFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1EwRkJRenRKUVVWb1JDeFBRVUZQTEVsQlFVa3NXVUZCV1N4RFFVRkRMRkZCUVZFc1JVRkJSU3hSUVVGUkxFVkJRVVVzVlVGQlZTeEZRVUZGTEVOQlFVTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJRM1pGTEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeFRRVUZUTEVOQlFVTXNRMEZCWlN4RlFVRkZMRkZCUVZFc2VVSkJRV003U1VGREwwUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzBsQlJXcERMRTFCUVUwc1UwRkJVeXhIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUZ2UWl4RFFVRkRPMGxCUXpsRExFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTzFGQlEzaENMRTFCUVUwc1NVRkJTU3hIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8xRkJRM1JETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRFppeFRRVUZUTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UWl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVWSUxFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NXVUZCV1N4RFFVRkRMRVZCUVVVc1JVRkJSU3hGUVVGRkxFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRE8wbEJSVGRFTEV0QlFVc3NTVUZCU1N4SFFVRkhMRWxCUVVrc1UwRkJVeXhEUVVGRExFbEJRVWtzUlVGQlJTeEZRVUZGTzFGQlEyaERMRTFCUVUwc1NVRkJTU3hIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkZMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU03VVVGRmVFTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRPVU1zVFVGQlRTeEpRVUZKTEVkQlFVY3NUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRekZDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRM0JETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFRRVU4yUXp0TFFVTkdPMGxCUlVRc1QwRkJUeXhWUVVGVkxFTkJRVU03UVVGRGNFSXNRMEZCUXp0QlFVMUVMRTFCUVUwc1QwRkJUeXhIUVVGWk8wbEJRM1pDTERCQ1FVRmpMRVZCUVVVc1EwRkJReXhGUVVGWkxFVkJRVVVzUlVGQlJUdFJRVU12UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF6dFJRVU53UWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU5zUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNN1UwRkRha003VVVGRFJDeFBRVUZQTEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRPVUlzUTBGQlF6dEpRVU5FTEhkQ1FVRmhMRVZCUVVVc1EwRkJReXhGUVVGWkxFVkJRVVVzUlVGQlJUdFJRVU01UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRFdpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOc1F5eEhRVUZITEVsQlFVa3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRMlE3VVVGRFJDeFBRVUZQTEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRPVUlzUTBGQlF6dEpRVU5FTEhkQ1FVRmhMRVZCUVVVc1EwRkJReXhGUVVGWkxFVkJRVVVzUlVGQlJUdFJRVU01UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRFdpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOc1F5eEhRVUZITEVsQlFVa3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFRRVU51UWp0UlFVTkVMRTlCUVU4c1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRemxETEVOQlFVTTdRMEZEUml4RFFVRkRPMEZCVVVZN08wZEJSVWM3UVVGRFNDeFRRVUZUTEZkQlFWY3NRMEZEYkVJc1EwRkJaU3hGUVVObUxFTkJRV1VzUlVGRFppeEZRVUZ2UXp0SlFVVndReXhOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEVkQlFVY3NSVUZCVlN4RFFVRkRPMGxCUTJ4RExFMUJRVTBzU1VGQlNTeEhRVUZoTEVWQlFVVXNRMEZCUXp0SlFVTXhRaXhOUVVGTkxFbEJRVWtzUjBGQllTeEZRVUZGTEVOQlFVTTdTVUZETVVJc1RVRkJUU3hKUVVGSkxFZEJRV0VzUlVGQlJTeERRVUZETzBsQlJURkNMRTFCUVUwc1QwRkJUeXhIUVVGSExFTkJRVU1zUjBGQlZ5eEZRVUZGTEVkQlFWY3NSVUZCUlN4RlFVRkZPMUZCUXpORExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRaaXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTJZc1RVRkJUU3hUUVVGVExFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZGtRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0SlFVTjJRaXhEUVVGRExFTkJRVU03U1VGRFJpeE5RVUZOTEU5QlFVOHNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRE9VSXNUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBsQlF6RkNMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0SlFVTXhRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0UlFVTjJReXhOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRja0lzVFVGQlRTeEhRVUZITEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM0pDTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWRCUVVjc1IwRkJSeXhKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZETzFGQlF6VkNMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEYWtJc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0TFFVTnVRanRKUVVWRUxFMUJRVTBzVDBGQlR5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVNNVFpeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03U1VGRE1VSXNUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBsQlF6RkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFGQlEzWkRMRTFCUVUwc1IwRkJSeXhIUVVGSExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTnlRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRja0lzVFVGQlRTeEhRVUZITEVkQlFVY3NSMEZCUnl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGRkxFTkJRVU03VVVGRE5VSXNTVUZCU1N4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF6dFpRVUZGTEZOQlFWTTdVVUZETDBJc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0TFFVTnVRanRKUVVWRUxFMUJRVTBzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdTVUZEYUVNc1QwRkJUeXhKUVVGSkxGbEJRVmtzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEJRVU5zUkN4RFFVRkRPMEZCUlVRN096czdPMGRCUzBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVFVGQlRTeERRVUZETEVOQlFXVTdTVUZEY0VNc1RVRkJUU3hQUVVGUExFZEJRVmtzUlVGQlJTeERRVUZETzBsQlJUVkNMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hGUVVGRk8xRkJRelZDTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hMUVVGTExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRjRU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZGU0N4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTNCQ0xFbEJRVWtzUTBGQlF5eERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRk8xbEJRMjVDTEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETzFOQlEzUkNPMkZCUVUwN1dVRkRUQ3hQUVVGUExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJRenRUUVVOMFFqdEpRVU5JTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlVnc1RVRkJUU3hQUVVGUExFZEJRV0VzUlVGQlJTeERRVUZETzBsQlF6ZENMRTFCUVUwc1RVRkJUU3hIUVVGaExFVkJRVVVzUTBGQlF6dEpRVU0xUWl4TlFVRk5MRTFCUVUwc1IwRkJZU3hGUVVGRkxFTkJRVU03U1VGRk5VSXNTVUZCU1N4VlFVRlZMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGNFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGRrTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUzBGQlN5eEZRVUZGTEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM1pETEVsQlFVa3NSMEZCUnl4TFFVRkxMRlZCUVZVc1JVRkJSVHRaUVVOMFFpeFZRVUZWTEVkQlFVY3NSMEZCUnl4RFFVRkRPMWxCUTJwQ0xFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1UwRkRhRUk3VVVGRFJDeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRMnhDTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UzBGRGNFSTdTVUZGUkN4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXp0QlFVTnlReXhEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiR2xqWlc1elpWeHVJQ3BjYmlBcUlFTnZjSGx5YVdkb2RDQXlNREU1SUVkdmIyZHNaU0JNVEVNdUlFRnNiQ0JTYVdkb2RITWdVbVZ6WlhKMlpXUXVYRzRnS2x4dUlDb2dUR2xqWlc1elpXUWdkVzVrWlhJZ2RHaGxJRUZ3WVdOb1pTQk1hV05sYm5ObExDQldaWEp6YVc5dUlESXVNQ0FvZEdobElGd2lUR2xqWlc1elpWd2lLVHRjYmlBcUlIbHZkU0J0WVhrZ2JtOTBJSFZ6WlNCMGFHbHpJR1pwYkdVZ1pYaGpaWEIwSUdsdUlHTnZiWEJzYVdGdVkyVWdkMmwwYUNCMGFHVWdUR2xqWlc1elpTNWNiaUFxSUZsdmRTQnRZWGtnYjJKMFlXbHVJR0VnWTI5d2VTQnZaaUIwYUdVZ1RHbGpaVzV6WlNCaGRGeHVJQ3BjYmlBcUlDQWdJQ0JvZEhSd09pOHZkM2QzTG1Gd1lXTm9aUzV2Y21jdmJHbGpaVzV6WlhNdlRFbERSVTVUUlMweUxqQmNiaUFxWEc0Z0tpQlZibXhsYzNNZ2NtVnhkV2x5WldRZ1lua2dZWEJ3YkdsallXSnNaU0JzWVhjZ2IzSWdZV2R5WldWa0lIUnZJR2x1SUhkeWFYUnBibWNzSUhOdlpuUjNZWEpsWEc0Z0tpQmthWE4wY21saWRYUmxaQ0IxYm1SbGNpQjBhR1VnVEdsalpXNXpaU0JwY3lCa2FYTjBjbWxpZFhSbFpDQnZiaUJoYmlCY0lrRlRJRWxUWENJZ1FrRlRTVk1zWEc0Z0tpQlhTVlJJVDFWVUlGZEJVbEpCVGxSSlJWTWdUMUlnUTA5T1JFbFVTVTlPVXlCUFJpQkJUbGtnUzBsT1JDd2daV2wwYUdWeUlHVjRjSEpsYzNNZ2IzSWdhVzF3YkdsbFpDNWNiaUFxSUZObFpTQjBhR1VnVEdsalpXNXpaU0JtYjNJZ2RHaGxJSE53WldOcFptbGpJR3hoYm1kMVlXZGxJR2R2ZG1WeWJtbHVaeUJ3WlhKdGFYTnphVzl1Y3lCaGJtUmNiaUFxSUd4cGJXbDBZWFJwYjI1eklIVnVaR1Z5SUhSb1pTQk1hV05sYm5ObExseHVJQ29nUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlYRzRnS2k5Y2JseHVhVzF3YjNKMElDb2dZWE1nZFhScGJITWdabkp2YlNBbkxpOTFkR2xzY3ljN1hHNWNiblI1Y0dVZ1JXNTBjbmtnUFNCN0lIWmhiSFZsT2lCdWRXMWlaWEk3SUhKdmR6b2diblZ0WW1WeU95QmpiMnc2SUc1MWJXSmxjaUI5TzF4dVhHNHZLaXBjYmlBcUlFbHVkR1Z5Ym1Gc0lESXRaR2x0Wlc1emFXOXVZV3dnYzNCaGNuTmxJRzFoZEhKcGVDQmpiR0Z6YzF4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1UzQmhjbk5sVFdGMGNtbDRJSHRjYmlBZ2NISnBkbUYwWlNCbGJuUnlhV1Z6SUQwZ2JtVjNJRTFoY0R4emRISnBibWNzSUVWdWRISjVQaWdwTzF4dVhHNGdJSEpsWVdSdmJteDVJRzVTYjNkek9pQnVkVzFpWlhJZ1BTQXdPMXh1SUNCeVpXRmtiMjVzZVNCdVEyOXNjem9nYm5WdFltVnlJRDBnTUR0Y2JseHVJQ0JqYjI1emRISjFZM1J2Y2loY2JpQWdJQ0J5YjNkek9pQnVkVzFpWlhKYlhTQjhJRWx1ZERNeVFYSnlZWGtzWEc0Z0lDQWdZMjlzY3pvZ2JuVnRZbVZ5VzEwZ2ZDQkpiblF6TWtGeWNtRjVMRnh1SUNBZ0lIWmhiSFZsY3pvZ2JuVnRZbVZ5VzEwZ2ZDQkdiRzloZERNeVFYSnlZWGtzWEc0Z0lDQWdaR2x0Y3pvZ2JuVnRZbVZ5VzExY2JpQWdLU0I3WEc0Z0lDQWdhV1lnS0hKdmQzTXViR1Z1WjNSb0lDRTlQU0JqYjJ4ekxteGxibWQwYUNCOGZDQnliM2R6TG14bGJtZDBhQ0FoUFQwZ2RtRnNkV1Z6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0FuY205M2N5d2dZMjlzY3lCaGJtUWdkbUZzZFdWeklHRnljbUY1Y3lCdGRYTjBJR0ZzYkNCb1lYWmxJSFJvWlNCellXMWxJR3hsYm1kMGFDZGNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdWRTlFVHpvZ1FYTnpaWEowSUhSb1lYUWdaR2x0Y3lCaGNtVWdiR1ZuYVhRdVhHNGdJQ0FnZEdocGN5NXVVbTkzY3lBOUlHUnBiWE5iTUYwN1hHNGdJQ0FnZEdocGN5NXVRMjlzY3lBOUlHUnBiWE5iTVYwN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMllXeDFaWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lHTnZibk4wSUhKdmR5QTlJSEp2ZDNOYmFWMDdYRzRnSUNBZ0lDQmpiMjV6ZENCamIyd2dQU0JqYjJ4elcybGRPMXh1SUNBZ0lDQWdkR2hwY3k1amFHVmphMFJwYlhNb2NtOTNMQ0JqYjJ3cE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYTJWNUlEMGdkR2hwY3k1dFlXdGxTMlY1S0hKdmR5d2dZMjlzS1R0Y2JpQWdJQ0FnSUhSb2FYTXVaVzUwY21sbGN5NXpaWFFvYTJWNUxDQjdJSFpoYkhWbE9pQjJZV3gxWlhOYmFWMHNJSEp2ZHl3Z1kyOXNJSDBwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnYldGclpVdGxlU2h5YjNjNklHNTFiV0psY2l3Z1kyOXNPaUJ1ZFcxaVpYSXBPaUJ6ZEhKcGJtY2dlMXh1SUNBZ0lISmxkSFZ5YmlCZ0pIdHliM2Q5T2lSN1kyOXNmV0E3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdOb1pXTnJSR2x0Y3loeWIzYzZJRzUxYldKbGNpd2dZMjlzT2lCdWRXMWlaWElwSUh0Y2JpQWdJQ0JqYjI1emRDQjNhWFJvYVc1Q2IzVnVaSE1nUFNCeWIzY2dQQ0IwYUdsekxtNVNiM2R6SUNZbUlHTnZiQ0E4SUhSb2FYTXVia052YkhNN1hHNGdJQ0FnYVdZZ0tDRjNhWFJvYVc1Q2IzVnVaSE1wSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduY205M0lHRnVaQzl2Y2lCamIyd2djM0JsWTJsbWFXVmtJRzkxZEhOcFpHVWdiMllnYldGMGNtbDRJR1JwYldWdWMybHZibk1uS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCelpYUW9jbTkzT2lCdWRXMWlaWElzSUdOdmJEb2diblZ0WW1WeUxDQjJZV3gxWlRvZ2JuVnRZbVZ5S1NCN1hHNGdJQ0FnZEdocGN5NWphR1ZqYTBScGJYTW9jbTkzTENCamIyd3BPMXh1SUNBZ0lHTnZibk4wSUd0bGVTQTlJSFJvYVhNdWJXRnJaVXRsZVNoeWIzY3NJR052YkNrN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1WdWRISnBaWE11YUdGektHdGxlU2twSUh0Y2JpQWdJQ0FnSUhSb2FYTXVaVzUwY21sbGN5NXpaWFFvYTJWNUxDQjdJSFpoYkhWbExDQnliM2NzSUdOdmJDQjlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVsYm5SeWFXVnpMbWRsZENoclpYa3BJUzUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHZGxkQ2h5YjNjNklHNTFiV0psY2l3Z1kyOXNPaUJ1ZFcxaVpYSXNJR1JsWm1GMWJIUldZV3gxWlNBOUlEQXBJSHRjYmlBZ0lDQXZMM1JvYVhNdVkyaGxZMnRFYVcxektISnZkeXdnWTI5c0tUdGNiaUFnSUNCamIyNXpkQ0JyWlhrZ1BTQjBhR2x6TG0xaGEyVkxaWGtvY205M0xDQmpiMndwTzF4dUlDQWdJR2xtSUNoMGFHbHpMbVZ1ZEhKcFpYTXVhR0Z6S0d0bGVTa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1WdWRISnBaWE11WjJWMEtHdGxlU2toTG5aaGJIVmxPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWkdWbVlYVnNkRlpoYkhWbE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHZGxkRUZzYkNodmNtUmxjbVZrSUQwZ2RISjFaU2s2SUhzZ2RtRnNkV1U2SUc1MWJXSmxjanNnY205M09pQnVkVzFpWlhJN0lHTnZiRG9nYm5WdFltVnlJSDFiWFNCN1hHNGdJQ0FnWTI5dWMzUWdjbTkzUTI5c1ZtRnNkV1Z6T2lCRmJuUnllVnRkSUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11Wlc1MGNtbGxjeTV6YVhwbEtTNW1hV3hzS0c1MWJHd3BPMXh1SUNBZ0lHeGxkQ0JwSUQwZ01EdGNiaUFnSUNCMGFHbHpMbVZ1ZEhKcFpYTXVabTl5UldGamFDaDJZV3gxWlNBOVBpQjdYRzRnSUNBZ0lDQnliM2REYjJ4V1lXeDFaWE5iYVNzclhTQTlJSFpoYkhWbE8xeHVJQ0FnSUgwcE8xeHVJQ0FnSUdsbUlDaHZjbVJsY21Wa0tTQjdYRzRnSUNBZ0lDQXZMeUJQY21SbGNtbHVaeUIwYUdVZ2NtVnpkV3gwSUdsemJpZDBJSEpsY1hWcGNtVmtJR1p2Y2lCd2NtOWpaWE56YVc1bklHSjFkQ0JwZENCa2IyVnpJRzFoYTJVZ2FYUWdaV0Z6YVdWeUlIUnZJSGR5YVhSbElIUmxjM1J6WEc0Z0lDQWdJQ0J5YjNkRGIyeFdZV3gxWlhNdWMyOXlkQ2dvWVN3Z1lpa2dQVDRnZTF4dUlDQWdJQ0FnSUNCcFppQW9ZUzV5YjNjZ1BUMDlJR0l1Y205M0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR0V1WTI5c0lDMGdZaTVqYjJ3N1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHRXVjbTkzSUMwZ1lpNXliM2M3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdjbTkzUTI5c1ZtRnNkV1Z6TzF4dUlDQjlYRzVjYmlBZ1oyVjBSR2x0Y3lncE9pQnVkVzFpWlhKYlhTQjdYRzRnSUNBZ2NtVjBkWEp1SUZ0MGFHbHpMbTVTYjNkekxDQjBhR2x6TG01RGIyeHpYVHRjYmlBZ2ZWeHVYRzRnSUdkbGRGSnZkM01vS1RvZ2JuVnRZbVZ5VzEwZ2UxeHVJQ0FnY21WMGRYSnVJRUZ5Y21GNUxtWnliMjBvZEdocGN5NWxiblJ5YVdWekxDQW9XMnRsZVN3Z2RtRnNkV1ZkS1NBOVBpQjJZV3gxWlM1eWIzY3BPMXh1SUNBZ0x5OGdjbVYwZFhKdUlIUm9hWE11Y205M2N5QmhjeUIxYm10dWIzZHVJR0Z6SUc1MWJXSmxjbHRkTzF4dUlDQjlYRzVjYmlBZ1oyVjBRMjlzY3lncE9pQnVkVzFpWlhKYlhYdGNiaUFnSUhKbGRIVnliaUJCY25KaGVTNW1jbTl0S0hSb2FYTXVaVzUwY21sbGN5d2dLRnRyWlhrc0lIWmhiSFZsWFNrZ1BUNGdkbUZzZFdVdVkyOXNLVHRjYmlBZ0lDOHZJSEpsZEhWeWJpQjBhR2x6TG1OdmJITWdZWE1nZFc1cmJtOTNiaUJoY3lCdWRXMWlaWEpiWFR0Y2JpQWdmVnh1WEc0Z0lHZGxkRlpoYkhWbGN5Z3BPaUJ1ZFcxaVpYSmJYU0I3WEc0Z0lISmxkSFZ5YmlCQmNuSmhlUzVtY205dEtIUm9hWE11Wlc1MGNtbGxjeXdnS0Z0clpYa3NJSFpoYkhWbFhTa2dQVDRnZG1Gc2RXVXVkbUZzZFdVcE8xeHVJQ0F2TDNKbGRIVnliaUIwYUdsekxuWmhiSFZsY3lCaGN5QjFibXR1YjNkdUlHRnpJRzUxYldKbGNsdGRPMXh1SUNCOVhHNWNiaUFnWm05eVJXRmphQ2htYmpvZ0tIWmhiSFZsT2lCdWRXMWlaWElzSUhKdmR6b2diblZ0WW1WeUxDQmpiMnc2SUc1MWJXSmxjaWtnUFQ0Z2RtOXBaQ2s2SUhadmFXUWdlMXh1SUNBZ0lIUm9hWE11Wlc1MGNtbGxjeTVtYjNKRllXTm9LSFpoYkhWbElEMCtJR1p1S0haaGJIVmxMblpoYkhWbExDQjJZV3gxWlM1eWIzY3NJSFpoYkhWbExtTnZiQ2twTzF4dUlDQjlYRzVjYmlBZ2JXRndLR1p1T2lBb2RtRnNkV1U2SUc1MWJXSmxjaXdnY205M09pQnVkVzFpWlhJc0lHTnZiRG9nYm5WdFltVnlLU0E5UGlCdWRXMWlaWElwT2lCVGNHRnljMlZOWVhSeWFYZ2dlMXh1SUNBZ0lHTnZibk4wSUhaaGJITWdQU0J1WlhjZ1JteHZZWFF6TWtGeWNtRjVLSFJvYVhNdVpXNTBjbWxsY3k1emFYcGxLVHRjYmlBZ0lDQnNaWFFnYVNBOUlEQmNiaUFnSUNCMGFHbHpMbVZ1ZEhKcFpYTXVabTl5UldGamFDaDJZV3gxWlNBOVBpQjdYRzRnSUNBZ0lDQjJZV3h6VzJrcksxMGdQU0JtYmloMllXeDFaUzUyWVd4MVpTd2dkbUZzZFdVdWNtOTNMQ0IyWVd4MVpTNWpiMndwTzF4dUlDQWdJSDBwTzF4dUlDQWdJR052Ym5OMElHUnBiWE1nUFNCYmRHaHBjeTV1VW05M2N5d2dkR2hwY3k1dVEyOXNjMTA3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJUY0dGeWMyVk5ZWFJ5YVhnb2RHaHBjeTVuWlhSU2IzZHpLQ2tzSUhSb2FYTXVaMlYwUTI5c2N5Z3BMQ0IyWVd4eklHRnpJSFZ1YTI1dmQyNGdZWE1nYm5WdFltVnlXMTBzSUdScGJYTXBPMXh1SUNCOVhHNWNiaUFnZEc5QmNuSmhlU2dwSUh0Y2JpQWdJQ0JqYjI1emRDQnliM2R6T2lCMWJtUmxabWx1WldSYlhTQTlJSFYwYVd4ekxtVnRjSFI1S0hSb2FYTXVibEp2ZDNNcE8xeHVJQ0FnSUdOdmJuTjBJRzkxZEhCMWRDQTlJSEp2ZDNNdWJXRndLQ2dwSUQwK0lIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWRHbHNjeTU2WlhKdmN5aDBhR2x6TG01RGIyeHpLVHRjYmlBZ0lDQjlLVHRjYmlBZ0lDQjBhR2x6TG1WdWRISnBaWE11Wm05eVJXRmphQ2gyWVd4MVpTQTlQaUI3WEc0Z0lDQWdJQ0J2ZFhSd2RYUmJkbUZzZFdVdWNtOTNYVnQyWVd4MVpTNWpiMnhkSUQwZ2RtRnNkV1V1ZG1Gc2RXVTdYRzRnSUNBZ2ZTazdYRzRnSUNBZ2NtVjBkWEp1SUc5MWRIQjFkRHRjYmlBZ2ZWeHVmVnh1WEc0dktpcGNiaUFxSUZSeVlXNXpjRzl6WlNCaElITndZWEp6WlNCdFlYUnlhWGhjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlIUnlZVzV6Y0c5elpTaHRZWFJ5YVhnNklGTndZWEp6WlUxaGRISnBlQ2s2SUZOd1lYSnpaVTFoZEhKcGVDQjdYRzRnSUdOdmJuTjBJRzlzWkZKdmQzTWdQU0J0WVhSeWFYZ3VaMlYwVW05M2N5Z3BPMXh1SUNCamIyNXpkQ0J2YkdSRGIyeHpJRDBnYldGMGNtbDRMbWRsZEVOdmJITW9LVHRjYmlBZ1kyOXVjM1FnYjJ4a1ZtRnNjeUE5SUcxaGRISnBlQzVuWlhSV1lXeDFaWE1vS1R0Y2JpQWdZMjl1YzNRZ2JXRjBiR1Z1SUQwZ2IyeGtRMjlzY3k1c1pXNW5kR2c3WEc0Z0lHTnZibk4wSUdOdmJITWdQU0J1WlhjZ1NXNTBNekpCY25KaGVTaHRZWFJzWlc0cE8xeHVJQ0JqYjI1emRDQnliM2R6SUQwZ2JtVjNJRWx1ZERNeVFYSnlZWGtvYldGMGJHVnVLVHRjYmlBZ1kyOXVjM1FnZG1Gc2N5QTlJRzVsZHlCR2JHOWhkRE15UVhKeVlYa29iV0YwYkdWdUtUdGNibHh1SUNCamIyeHpMbk5sZENodmJHUlNiM2R6S1R0Y2JpQWdjbTkzY3k1elpYUW9iMnhrUTI5c2N5azdYRzRnSUhaaGJITXVjMlYwS0c5c1pGWmhiSE1wTzF4dUlDQmpiMjV6ZENCa2FXMXpJRDBnVzIxaGRISnBlQzV1UTI5c2N5d2diV0YwY21sNExtNVNiM2R6WFR0Y2JpQWdjbVYwZFhKdUlHNWxkeUJUY0dGeWMyVk5ZWFJ5YVhnb2NtOTNjeXdnWTI5c2N5d2dkbUZzY3l3Z1pHbHRjeWs3WEc1OVhHNWNiaThxS2x4dUlDb2dRMjl1YzNSeWRXTjBJR0VnYzNCaGNuTmxJR2xrWlc1MGFYUjVJRzFoZEhKcGVGeHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYVdSbGJuUnBkSGtvYzJsNlpUb2diblZ0WW1WeVcxMHBPaUJUY0dGeWMyVk5ZWFJ5YVhnZ2UxeHVJQ0JqYjI1emRDQmJjbTkzYzEwZ1BTQnphWHBsTzF4dUlDQmpiMjV6ZENCdFlYUnlhWGdnUFNCdVpYY2dVM0JoY25ObFRXRjBjbWw0S0Z0ZExDQmJYU3dnVzEwc0lITnBlbVVwTzF4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJSEp2ZDNNN0lHa3JLeWtnZTF4dUlDQWdJRzFoZEhKcGVDNXpaWFFvYVN3Z2FTd2dNU2s3WEc0Z0lIMWNiaUFnY21WMGRYSnVJRzFoZEhKcGVEdGNibjFjYmx4dUx5b3FYRzRnS2lCRmJHVnRaVzUwTFhkcGMyVWdiWFZzZEdsd2JHbGpZWFJwYjI0Z2IyWWdkSGR2SUcxaGRISnBZMlZ6WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQndZV2x5ZDJselpVMTFiSFJwY0d4NUtGeHVJQ0JoT2lCVGNHRnljMlZOWVhSeWFYZ3NYRzRnSUdJNklGTndZWEp6WlUxaGRISnBlRnh1S1RvZ1UzQmhjbk5sVFdGMGNtbDRJSHRjYmlBZ2NtVjBkWEp1SUdWc1pXMWxiblJYYVhObEtHRXNJR0lzSUNoNExDQjVLU0E5UGlCNElDb2dlU2s3WEc1OVhHNWNiaThxS2x4dUlDb2dSV3hsYldWdWRDMTNhWE5sSUdGa1pHbDBhVzl1SUc5bUlIUjNieUJ0WVhSeWFXTmxjMXh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1lXUmtLR0U2SUZOd1lYSnpaVTFoZEhKcGVDd2dZam9nVTNCaGNuTmxUV0YwY21sNEtUb2dVM0JoY25ObFRXRjBjbWw0SUh0Y2JpQWdjbVYwZFhKdUlHVnNaVzFsYm5SWGFYTmxLR0VzSUdJc0lDaDRMQ0I1S1NBOVBpQjRJQ3NnZVNrN1hHNTlYRzVjYmk4cUtseHVJQ29nUld4bGJXVnVkQzEzYVhObElITjFZblJ5WVdOMGFXOXVJRzltSUhSM2J5QnRZWFJ5YVdObGMxeHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYzNWaWRISmhZM1FvWVRvZ1UzQmhjbk5sVFdGMGNtbDRMQ0JpT2lCVGNHRnljMlZOWVhSeWFYZ3BPaUJUY0dGeWMyVk5ZWFJ5YVhnZ2UxeHVJQ0J5WlhSMWNtNGdaV3hsYldWdWRGZHBjMlVvWVN3Z1lpd2dLSGdzSUhrcElEMCtJSGdnTFNCNUtUdGNibjFjYmx4dUx5b3FYRzRnS2lCRmJHVnRaVzUwTFhkcGMyVWdiV0Y0YVcxMWJTQnZaaUIwZDI4Z2JXRjBjbWxqWlhOY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRzFoZUdsdGRXMG9ZVG9nVTNCaGNuTmxUV0YwY21sNExDQmlPaUJUY0dGeWMyVk5ZWFJ5YVhncE9pQlRjR0Z5YzJWTllYUnlhWGdnZTF4dUlDQnlaWFIxY200Z1pXeGxiV1Z1ZEZkcGMyVW9ZU3dnWWl3Z0tIZ3NJSGtwSUQwK0lDaDRJRDRnZVNBL0lIZ2dPaUI1S1NrN1hHNTlYRzVjYmk4cUtseHVJQ29nVTJOaGJHRnlJRzExYkhScGNHeHBZMkYwYVc5dUlHOW1JSFIzYnlCdFlYUnlhV05sYzF4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiWFZzZEdsd2JIbFRZMkZzWVhJb1lUb2dVM0JoY25ObFRXRjBjbWw0TENCelkyRnNZWEk2SUc1MWJXSmxjaWs2SUZOd1lYSnpaVTFoZEhKcGVDQjdYRzRnSUhKbGRIVnliaUJoTG0xaGNDZ29kbUZzZFdVNklHNTFiV0psY2lrZ1BUNGdlMXh1SUNBZ0lISmxkSFZ5YmlCMllXeDFaU0FxSUhOallXeGhjanRjYmlBZ2ZTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVjBkWEp1Y3lCaElHNWxkeUJ0WVhSeWFYZ2dkMmwwYUNCNlpYSnZJR1Z1ZEhKcFpYTWdjbVZ0YjNabFpDNWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdWc2FXMXBibUYwWlZwbGNtOXpLRzA2SUZOd1lYSnpaVTFoZEhKcGVDa2dlMXh1SUNCamIyNXpkQ0I2WlhKdlNXNWthV05sY3lBOUlHNWxkeUJUWlhRb0tUdGNiaUFnWTI5dWMzUWdkbUZzZFdWeklEMGdiUzVuWlhSV1lXeDFaWE1vS1R0Y2JpQWdZMjl1YzNRZ2NtOTNjeUE5SUcwdVoyVjBVbTkzY3lncE8xeHVJQ0JqYjI1emRDQmpiMnh6SUQwZ2JTNW5aWFJEYjJ4ektDazdYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2RtRnNkV1Z6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ2FXWWdLSFpoYkhWbGMxdHBYU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdlbVZ5YjBsdVpHbGpaWE11WVdSa0tHa3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQmpiMjV6ZENCeVpXMXZkbVZDZVZwbGNtOUpibVJsZUNBOUlDaGZPaUJoYm5rc0lHbHVaR1Y0T2lCdWRXMWlaWElwSUQwK0lDRjZaWEp2U1c1a2FXTmxjeTVvWVhNb2FXNWtaWGdwTzF4dUlDQmpiMjV6ZENCdVpYaDBWbUZzZFdWeklEMGdkbUZzZFdWekxtWnBiSFJsY2loeVpXMXZkbVZDZVZwbGNtOUpibVJsZUNrN1hHNGdJR052Ym5OMElHNWxlSFJTYjNkeklEMGdjbTkzY3k1bWFXeDBaWElvY21WdGIzWmxRbmxhWlhKdlNXNWtaWGdwTzF4dUlDQmpiMjV6ZENCdVpYaDBRMjlzY3lBOUlHTnZiSE11Wm1sc2RHVnlLSEpsYlc5MlpVSjVXbVZ5YjBsdVpHVjRLVHRjYmx4dUlDQnlaWFIxY200Z2JtVjNJRk53WVhKelpVMWhkSEpwZUNodVpYaDBVbTkzY3l3Z2JtVjRkRU52YkhNc0lHNWxlSFJXWVd4MVpYTXNJRzB1WjJWMFJHbHRjeWdwS1R0Y2JuMWNibHh1THlvcVhHNGdLaUJPYjNKdFlXeHBlbUYwYVc5dUlHOW1JR0VnYzNCaGNuTmxJRzFoZEhKcGVDNWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUc1dmNtMWhiR2w2WlNodE9pQlRjR0Z5YzJWTllYUnlhWGdzSUc1dmNtMVVlWEJsSUQwZ1RtOXliVlI1Y0dVdWJESXBJSHRjYmlBZ1kyOXVjM1FnYm05eWJVWnVJRDBnYm05eWJVWnVjMXR1YjNKdFZIbHdaVjA3WEc1Y2JpQWdZMjl1YzNRZ1kyOXNjMEo1VW05M0lEMGdibVYzSUUxaGNEeHVkVzFpWlhJc0lHNTFiV0psY2x0ZFBpZ3BPMXh1SUNCdExtWnZja1ZoWTJnb0tGOHNJSEp2ZHl3Z1kyOXNLU0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdZMjlzY3lBOUlHTnZiSE5DZVZKdmR5NW5aWFFvY205M0tTQjhmQ0JiWFR0Y2JpQWdJQ0JqYjJ4ekxuQjFjMmdvWTI5c0tUdGNiaUFnSUNCamIyeHpRbmxTYjNjdWMyVjBLSEp2ZHl3Z1kyOXNjeWs3WEc0Z0lIMHBPMXh1WEc0Z0lHTnZibk4wSUc1bGVIUk5ZWFJ5YVhnZ1BTQnVaWGNnVTNCaGNuTmxUV0YwY21sNEtGdGRMQ0JiWFN3Z1cxMHNJRzB1WjJWMFJHbHRjeWdwS1R0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0J5YjNjZ2IyWWdZMjlzYzBKNVVtOTNMbXRsZVhNb0tTa2dlMXh1SUNBZ0lHTnZibk4wSUdOdmJITWdQU0JqYjJ4elFubFNiM2N1WjJWMEtISnZkeWtoTG5OdmNuUW9LVHRjYmx4dUlDQWdJR052Ym5OMElIWmhiSE1nUFNCamIyeHpMbTFoY0NoamIyd2dQVDRnYlM1blpYUW9jbTkzTENCamIyd3BLVHRjYmlBZ0lDQmpiMjV6ZENCdWIzSnRJRDBnYm05eWJVWnVLSFpoYkhNcE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JtOXliUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2JtVjRkRTFoZEhKcGVDNXpaWFFvY205M0xDQmpiMnh6VzJsZExDQnViM0p0VzJsZEtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JtVjRkRTFoZEhKcGVEdGNibjFjYmx4dUx5b3FYRzRnS2lCV1pXTjBiM0lnYm05eWJXRnNhWHBoZEdsdmJpQm1kVzVqZEdsdmJuTmNiaUFxTDF4dWRIbHdaU0JPYjNKdFJtNXpJRDBnZXlCYmEyVjVJR2x1SUU1dmNtMVVlWEJsWFRvZ0tIWTZJRzUxYldKbGNsdGRLU0E5UGlCdWRXMWlaWEpiWFNCOU8xeHVZMjl1YzNRZ2JtOXliVVp1Y3pvZ1RtOXliVVp1Y3lBOUlIdGNiaUFnVzA1dmNtMVVlWEJsTG0xaGVGMDZJQ2g0Y3pvZ2JuVnRZbVZ5VzEwcElEMCtJSHRjYmlBZ0lDQnNaWFFnYldGNElEMGdMVWx1Wm1sdWFYUjVPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dlSE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lHMWhlQ0E5SUhoelcybGRJRDRnYldGNElEOGdlSE5iYVYwZ09pQnRZWGc3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCNGN5NXRZWEFvZUNBOVBpQjRJQzhnYldGNEtUdGNiaUFnZlN4Y2JpQWdXMDV2Y20xVWVYQmxMbXd4WFRvZ0tIaHpPaUJ1ZFcxaVpYSmJYU2tnUFQ0Z2UxeHVJQ0FnSUd4bGRDQnpkVzBnUFNBd08xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2VITXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhOMWJTQXJQU0I0YzF0cFhUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSGh6TG0xaGNDaDRJRDArSUhnZ0x5QnpkVzBwTzF4dUlDQjlMRnh1SUNCYlRtOXliVlI1Y0dVdWJESmRPaUFvZUhNNklHNTFiV0psY2x0ZEtTQTlQaUI3WEc0Z0lDQWdiR1YwSUhOMWJTQTlJREE3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0I0Y3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjM1Z0SUNzOUlIaHpXMmxkSUNvcUlESTdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUI0Y3k1dFlYQW9lQ0E5UGlCTllYUm9Mbk54Y25Rb2VDQXFLaUF5SUM4Z2MzVnRLU2s3WEc0Z0lIMHNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWlc1MWJTQk9iM0p0Vkhsd1pTQjdYRzRnSUcxaGVDQTlJQ2R0WVhnbkxGeHVJQ0JzTVNBOUlDZHNNU2NzWEc0Z0lHd3lJRDBnSjJ3eUp5eGNibjFjYmx4dUx5b3FYRzRnS2lCSVpXeHdaWElnWm5WdVkzUnBiMjRnWm05eUlHVnNaVzFsYm5RdGQybHpaU0J2Y0dWeVlYUnBiMjV6TGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJsYkdWdFpXNTBWMmx6WlNoY2JpQWdZVG9nVTNCaGNuTmxUV0YwY21sNExGeHVJQ0JpT2lCVGNHRnljMlZOWVhSeWFYZ3NYRzRnSUc5d09pQW9lRG9nYm5WdFltVnlMQ0I1T2lCdWRXMWlaWElwSUQwK0lHNTFiV0psY2x4dUtUb2dVM0JoY25ObFRXRjBjbWw0SUh0Y2JpQWdZMjl1YzNRZ2RtbHphWFJsWkNBOUlHNWxkeUJUWlhROGMzUnlhVzVuUGlncE8xeHVJQ0JqYjI1emRDQnliM2R6T2lCdWRXMWlaWEpiWFNBOUlGdGRPMXh1SUNCamIyNXpkQ0JqYjJ4ek9pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQmpiMjV6ZENCMllXeHpPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVYRzRnSUdOdmJuTjBJRzl3WlhKaGRHVWdQU0FvY205M09pQnVkVzFpWlhJc0lHTnZiRG9nYm5WdFltVnlLU0E5UGlCN1hHNGdJQ0FnY205M2N5NXdkWE5vS0hKdmR5azdYRzRnSUNBZ1kyOXNjeTV3ZFhOb0tHTnZiQ2s3WEc0Z0lDQWdZMjl1YzNRZ2JtVjRkRlpoYkhWbElEMGdiM0FvWVM1blpYUW9jbTkzTENCamIyd3BMQ0JpTG1kbGRDaHliM2NzSUdOdmJDa3BPMXh1SUNBZ0lIWmhiSE11Y0hWemFDaHVaWGgwVm1Gc2RXVXBPMXh1SUNCOU8xeHVJQ0JqYjI1emRDQjJZV3gxWlhOQklEMGdZUzVuWlhSV1lXeDFaWE1vS1R0Y2JpQWdZMjl1YzNRZ2NtOTNjMEVnUFNCaExtZGxkRkp2ZDNNb0tUdGNiaUFnWTI5dWMzUWdZMjlzYzBFZ1BTQmhMbWRsZEVOdmJITW9LVHRjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjJZV3gxWlhOQkxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdZMjl1YzNRZ2NtOTNJRDBnY205M2MwRmJhVjA3WEc0Z0lDQWdZMjl1YzNRZ1kyOXNJRDBnWTI5c2MwRmJhVjA3WEc0Z0lDQWdZMjl1YzNRZ2EyVjVJRDBnWUNSN2NtOTNmVG9rZTJOdmJIMWdPMXh1SUNBZ0lIWnBjMmwwWldRdVlXUmtLR3RsZVNrN1hHNGdJQ0FnYjNCbGNtRjBaU2h5YjNjc0lHTnZiQ2s3WEc0Z0lIMWNibHh1SUNCamIyNXpkQ0IyWVd4MVpYTkNJRDBnWWk1blpYUldZV3gxWlhNb0tUdGNiaUFnWTI5dWMzUWdjbTkzYzBJZ1BTQmlMbWRsZEZKdmQzTW9LVHRjYmlBZ1kyOXVjM1FnWTI5c2MwSWdQU0JpTG1kbGRFTnZiSE1vS1R0Y2JpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IyWVd4MVpYTkNMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnWTI5dWMzUWdjbTkzSUQwZ2NtOTNjMEpiYVYwN1hHNGdJQ0FnWTI5dWMzUWdZMjlzSUQwZ1kyOXNjMEpiYVYwN1hHNGdJQ0FnWTI5dWMzUWdhMlY1SUQwZ1lDUjdjbTkzZlRva2UyTnZiSDFnTzF4dUlDQWdJR2xtSUNoMmFYTnBkR1ZrTG1oaGN5aHJaWGtwS1NCamIyNTBhVzUxWlR0Y2JpQWdJQ0J2Y0dWeVlYUmxLSEp2ZHl3Z1kyOXNLVHRjYmlBZ2ZWeHVYRzRnSUdOdmJuTjBJR1JwYlhNZ1BTQmJZUzV1VW05M2N5d2dZUzV1UTI5c2MxMDdYRzRnSUhKbGRIVnliaUJ1WlhjZ1UzQmhjbk5sVFdGMGNtbDRLSEp2ZDNNc0lHTnZiSE1zSUhaaGJITXNJR1JwYlhNcE8xeHVmVnh1WEc0dktpcGNiaUFxSUVobGJIQmxjaUJtZFc1amRHbHZiaUJtYjNJZ1oyVjBkR2x1WnlCa1lYUmhMQ0JwYm1ScFkyVnpMQ0JoYm1RZ2FXNXdkSElnWVhKeVlYbHpJR1p5YjIwZ1lTQnpjR0Z5YzJWY2JpQXFJRzFoZEhKcGVDQjBieUJtYjJ4c2IzY2dZM055SUcxaGRISnBlQ0JqYjI1MlpXNTBhVzl1Y3k0Z1UzVndaWElnYVc1bFptWnBZMmxsYm5RZ0tHRnVaQ0JyYVc1a0lHOW1YRzRnS2lCa1pXWmxZWFJ6SUhSb1pTQndkWEp3YjNObElHOW1JSFJvYVhNZ1kyOXVkbVZ1ZEdsdmJpa2dZblYwSUdFZ2JHOTBJRzltSUhSb1pTQndiM0owWldRZ2NIbDBhRzl1SUhSeVpXVmNiaUFxSUhObFlYSmphQ0JzYjJkcFl5QmtaWEJsYm1SeklHOXVJSFJvYVhNZ1pHRjBZU0JtYjNKdFlYUXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCblpYUkRVMUlvZURvZ1UzQmhjbk5sVFdGMGNtbDRLU0I3WEc0Z0lHTnZibk4wSUdWdWRISnBaWE02SUVWdWRISjVXMTBnUFNCYlhUdGNibHh1SUNCNExtWnZja1ZoWTJnb0tIWmhiSFZsTENCeWIzY3NJR052YkNrZ1BUNGdlMXh1SUNBZ0lHVnVkSEpwWlhNdWNIVnphQ2g3SUhaaGJIVmxMQ0J5YjNjc0lHTnZiQ0I5S1R0Y2JpQWdmU2s3WEc1Y2JpQWdaVzUwY21sbGN5NXpiM0owS0NoaExDQmlLU0E5UGlCN1hHNGdJQ0FnYVdZZ0tHRXVjbTkzSUQwOVBTQmlMbkp2ZHlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdFdVkyOXNJQzBnWWk1amIydzdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoTG5KdmR5QXRJR0l1Y205M08xeHVJQ0FnSUgxY2JpQWdmU2s3WEc1Y2JpQWdZMjl1YzNRZ2FXNWthV05sY3pvZ2JuVnRZbVZ5VzEwZ1BTQmJYVHRjYmlBZ1kyOXVjM1FnZG1Gc2RXVnpPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVJQ0JqYjI1emRDQnBibVJ3ZEhJNklHNTFiV0psY2x0ZElEMGdXMTA3WEc1Y2JpQWdiR1YwSUdOMWNuSmxiblJTYjNjZ1BTQXRNVHRjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQmxiblJ5YVdWekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QnliM2NzSUdOdmJDd2dkbUZzZFdVZ2ZTQTlJR1Z1ZEhKcFpYTmJhVjA3WEc0Z0lDQWdhV1lnS0hKdmR5QWhQVDBnWTNWeWNtVnVkRkp2ZHlrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEZKdmR5QTlJSEp2ZHp0Y2JpQWdJQ0FnSUdsdVpIQjBjaTV3ZFhOb0tHa3BPMXh1SUNBZ0lIMWNiaUFnSUNCcGJtUnBZMlZ6TG5CMWMyZ29ZMjlzS1R0Y2JpQWdJQ0IyWVd4MVpYTXVjSFZ6YUNoMllXeDFaU2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZXlCcGJtUnBZMlZ6TENCMllXeDFaWE1zSUdsdVpIQjBjaUI5TzF4dWZWeHVJbDE5IiwiLyoqXG4gKiBAbGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cbi8qKlxuICogVGhpcyBpcyBhIEphdmFTY3JpcHQgcmVpbXBsZW1lbnRhdGlvbiBvZiBVTUFQIChvcmlnaW5hbCBsaWNlbnNlIGJlbG93KSwgZnJvbVxuICogdGhlIHB5dGhvbiBpbXBsZW1lbnRhdGlvbiBmb3VuZCBhdCBodHRwczovL2dpdGh1Yi5jb20vbG1jaW5uZXMvdW1hcC5cbiAqXG4gKiBAYXV0aG9yIGFuZHljb2VuZW5AZ29vZ2xlLmNvbSAoQW5keSBDb2VuZW4pXG4gKi9cbi8qKlxuICogQGxpY2Vuc2VcbiAqIEJTRCAzLUNsYXVzZSBMaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDE3LCBMZWxhbmQgTWNJbm5lc1xuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OlxuICpcbiAqICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzXG4gKiAgIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLlxuICpcbiAqICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLFxuICogICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uXG4gKiAgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLlxuICpcbiAqICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0c1xuICogICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbVxuICogICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLlxuICpcbiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgXCJBUyBJU1wiXG4gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFXG4gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEVcbiAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMXG4gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUlxuICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVJcbiAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksXG4gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRVxuICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqL1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5leHBvcnQgY2xhc3MgRmxhdFRyZWUge1xuICAgIGh5cGVycGxhbmVzO1xuICAgIG9mZnNldHM7XG4gICAgY2hpbGRyZW47XG4gICAgaW5kaWNlcztcbiAgICBjb25zdHJ1Y3RvcihoeXBlcnBsYW5lcywgb2Zmc2V0cywgY2hpbGRyZW4sIGluZGljZXMpIHtcbiAgICAgICAgdGhpcy5oeXBlcnBsYW5lcyA9IGh5cGVycGxhbmVzO1xuICAgICAgICB0aGlzLm9mZnNldHMgPSBvZmZzZXRzO1xuICAgICAgICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gICAgICAgIHRoaXMuaW5kaWNlcyA9IGluZGljZXM7XG4gICAgfVxufVxuLyoqXG4gKiBCdWlsZCBhIHJhbmRvbSBwcm9qZWN0aW9uIGZvcmVzdCB3aXRoIGBgblRyZWVzYGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRm9yZXN0KGRhdGEsIG5OZWlnaGJvcnMsIG5UcmVlcywgcmFuZG9tKSB7XG4gICAgY29uc3QgbGVhZlNpemUgPSBNYXRoLm1heCgxMCwgbk5laWdoYm9ycyk7XG4gICAgY29uc3QgdHJlZXMgPSB1dGlsc1xuICAgICAgICAucmFuZ2UoblRyZWVzKVxuICAgICAgICAubWFwKChfLCBpKSA9PiBtYWtlVHJlZShkYXRhLCBsZWFmU2l6ZSwgaSwgcmFuZG9tKSk7XG4gICAgY29uc3QgZm9yZXN0ID0gdHJlZXMubWFwKHRyZWUgPT4gZmxhdHRlblRyZWUodHJlZSwgbGVhZlNpemUpKTtcbiAgICByZXR1cm4gZm9yZXN0O1xufVxuLyoqXG4gKiBDb25zdHJ1Y3QgYSByYW5kb20gcHJvamVjdGlvbiB0cmVlIGJhc2VkIG9uIGBgZGF0YWBgIHdpdGggbGVhdmVzXG4gKiBvZiBzaXplIGF0IG1vc3QgYGBsZWFmU2l6ZWBgXG4gKi9cbmZ1bmN0aW9uIG1ha2VUcmVlKGRhdGEsIGxlYWZTaXplID0gMzAsIG4sIHJhbmRvbSkge1xuICAgIGNvbnN0IGluZGljZXMgPSB1dGlscy5yYW5nZShkYXRhLmxlbmd0aCk7XG4gICAgY29uc3QgdHJlZSA9IG1ha2VFdWNsaWRlYW5UcmVlKGRhdGEsIGluZGljZXMsIGxlYWZTaXplLCBuLCByYW5kb20pO1xuICAgIHJldHVybiB0cmVlO1xufVxuZnVuY3Rpb24gbWFrZUV1Y2xpZGVhblRyZWUoZGF0YSwgaW5kaWNlcywgbGVhZlNpemUgPSAzMCwgcSwgcmFuZG9tKSB7XG4gICAgaWYgKGluZGljZXMubGVuZ3RoID4gbGVhZlNpemUpIHtcbiAgICAgICAgY29uc3Qgc3BsaXRSZXN1bHRzID0gZXVjbGlkZWFuUmFuZG9tUHJvamVjdGlvblNwbGl0KGRhdGEsIGluZGljZXMsIHJhbmRvbSk7XG4gICAgICAgIGNvbnN0IHsgaW5kaWNlc0xlZnQsIGluZGljZXNSaWdodCwgaHlwZXJwbGFuZSwgb2Zmc2V0IH0gPSBzcGxpdFJlc3VsdHM7XG4gICAgICAgIGNvbnN0IGxlZnRDaGlsZCA9IG1ha2VFdWNsaWRlYW5UcmVlKGRhdGEsIGluZGljZXNMZWZ0LCBsZWFmU2l6ZSwgcSArIDEsIHJhbmRvbSk7XG4gICAgICAgIGNvbnN0IHJpZ2h0Q2hpbGQgPSBtYWtlRXVjbGlkZWFuVHJlZShkYXRhLCBpbmRpY2VzUmlnaHQsIGxlYWZTaXplLCBxICsgMSwgcmFuZG9tKTtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHsgbGVmdENoaWxkLCByaWdodENoaWxkLCBpc0xlYWY6IGZhbHNlLCBoeXBlcnBsYW5lLCBvZmZzZXQgfTtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBub2RlID0geyBpbmRpY2VzLCBpc0xlYWY6IHRydWUgfTtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxufVxuLyoqXG4gKiBHaXZlbiBhIHNldCBvZiBgYGluZGljZXNgYCBmb3IgZGF0YSBwb2ludHMgZnJvbSBgYGRhdGFgYCwgY3JlYXRlXG4gKiBhIHJhbmRvbSBoeXBlcnBsYW5lIHRvIHNwbGl0IHRoZSBkYXRhLCByZXR1cm5pbmcgdHdvIGFycmF5cyBpbmRpY2VzXG4gKiB0aGF0IGZhbGwgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGh5cGVycGxhbmUuIFRoaXMgaXMgdGhlIGJhc2lzIGZvciBhXG4gKiByYW5kb20gcHJvamVjdGlvbiB0cmVlLCB3aGljaCBzaW1wbHkgdXNlcyB0aGlzIHNwbGl0dGluZyByZWN1cnNpdmVseS5cbiAqIFRoaXMgcGFydGljdWxhciBzcGxpdCB1c2VzIGV1Y2xpZGVhbiBkaXN0YW5jZSB0byBkZXRlcm1pbmUgdGhlIGh5cGVycGxhbmVcbiAqIGFuZCB3aGljaCBzaWRlIGVhY2ggZGF0YSBzYW1wbGUgZmFsbHMgb24uXG4gKi9cbmZ1bmN0aW9uIGV1Y2xpZGVhblJhbmRvbVByb2plY3Rpb25TcGxpdChkYXRhLCBpbmRpY2VzLCByYW5kb20pIHtcbiAgICBjb25zdCBkaW0gPSAxO1xuICAgIC8vIFNlbGVjdCB0d28gcmFuZG9tIHBvaW50cywgc2V0IHRoZSBoeXBlcnBsYW5lIGJldHdlZW4gdGhlbVxuICAgIGxldCBsZWZ0SW5kZXggPSB1dGlscy50YXVSYW5kSW50KGluZGljZXMubGVuZ3RoLCByYW5kb20pO1xuICAgIGxldCByaWdodEluZGV4ID0gdXRpbHMudGF1UmFuZEludChpbmRpY2VzLmxlbmd0aCwgcmFuZG9tKTtcbiAgICByaWdodEluZGV4ICs9IGxlZnRJbmRleCA9PT0gcmlnaHRJbmRleCA/IDEgOiAwO1xuICAgIHJpZ2h0SW5kZXggPSByaWdodEluZGV4ICUgaW5kaWNlcy5sZW5ndGg7XG4gICAgY29uc3QgbGVmdCA9IGluZGljZXNbbGVmdEluZGV4XTtcbiAgICBjb25zdCByaWdodCA9IGluZGljZXNbcmlnaHRJbmRleF07XG4gICAgLy8gQ29tcHV0ZSB0aGUgbm9ybWFsIHZlY3RvciB0byB0aGUgaHlwZXJwbGFuZSAodGhlIHZlY3RvciBiZXR3ZWVuIHRoZSB0d29cbiAgICAvLyBwb2ludHMpIGFuZCB0aGUgb2Zmc2V0IGZyb20gdGhlIG9yaWdpblxuICAgIGxldCBoeXBlcnBsYW5lT2Zmc2V0ID0gMDtcbiAgICBsZXQgaHlwZXJwbGFuZVZlY3RvciA9IDA7XG4gICAgaHlwZXJwbGFuZVZlY3RvciA9IGRhdGFbbGVmdF0gLSBkYXRhW3JpZ2h0XTtcbiAgICBoeXBlcnBsYW5lT2Zmc2V0IC09XG4gICAgICAgIChoeXBlcnBsYW5lVmVjdG9yICogKGRhdGFbbGVmdF0gKyBkYXRhW3JpZ2h0XSkpIC8gMi4wO1xuICAgIC8vIEZvciBlYWNoIHBvaW50IGNvbXB1dGUgdGhlIG1hcmdpbiAocHJvamVjdCBpbnRvIG5vcm1hbCB2ZWN0b3IpXG4gICAgLy8gSWYgd2UgYXJlIG9uIGxvd2VyIHNpZGUgb2YgdGhlIGh5cGVycGxhbmUgcHV0IGluIG9uZSBwaWxlLCBvdGhlcndpc2VcbiAgICAvLyBwdXQgaXQgaW4gdGhlIG90aGVyIHBpbGUgKGlmIHdlIGhpdCBoeXBlcnBsYW5lIG9uIHRoZSBub3NlLCBmbGlwIGEgY29pbilcbiAgICBsZXQgbkxlZnQgPSAwO1xuICAgIGxldCBuUmlnaHQgPSAwO1xuICAgIGNvbnN0IHNpZGUgPSB1dGlscy56ZXJvcyhpbmRpY2VzLmxlbmd0aCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRpY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBtYXJnaW4gPSBoeXBlcnBsYW5lT2Zmc2V0O1xuICAgICAgICBtYXJnaW4gKz0gaHlwZXJwbGFuZVZlY3RvciAqIGRhdGFbaW5kaWNlc1tpXV07XG4gICAgICAgIGlmIChtYXJnaW4gPT09IDApIHtcbiAgICAgICAgICAgIHNpZGVbaV0gPSB1dGlscy50YXVSYW5kSW50KDIsIHJhbmRvbSk7XG4gICAgICAgICAgICBpZiAoc2lkZVtpXSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIG5MZWZ0ICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBuUmlnaHQgKz0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtYXJnaW4gPiAwKSB7XG4gICAgICAgICAgICBzaWRlW2ldID0gMDtcbiAgICAgICAgICAgIG5MZWZ0ICs9IDE7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzaWRlW2ldID0gMTtcbiAgICAgICAgICAgIG5SaWdodCArPSAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUgdGhlIGNvdW50cywgYWxsb2NhdGUgYXJyYXlzXG4gICAgY29uc3QgaW5kaWNlc0xlZnQgPSB1dGlscy56ZXJvcyhuTGVmdCk7XG4gICAgY29uc3QgaW5kaWNlc1JpZ2h0ID0gdXRpbHMuemVyb3MoblJpZ2h0KTtcbiAgICAvLyBQb3B1bGF0ZSB0aGUgYXJyYXlzIHdpdGggaW5kaWNlcyBhY2NvcmRpbmcgdG8gd2hpY2ggc2lkZSB0aGV5IGZlbGwgb25cbiAgICBuTGVmdCA9IDA7XG4gICAgblJpZ2h0ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpZGUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHNpZGVbaV0gPT09IDApIHtcbiAgICAgICAgICAgIGluZGljZXNMZWZ0W25MZWZ0XSA9IGluZGljZXNbaV07XG4gICAgICAgICAgICBuTGVmdCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaW5kaWNlc1JpZ2h0W25SaWdodF0gPSBpbmRpY2VzW2ldO1xuICAgICAgICAgICAgblJpZ2h0ICs9IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaW5kaWNlc0xlZnQsXG4gICAgICAgIGluZGljZXNSaWdodCxcbiAgICAgICAgaHlwZXJwbGFuZTogaHlwZXJwbGFuZVZlY3RvcixcbiAgICAgICAgb2Zmc2V0OiBoeXBlcnBsYW5lT2Zmc2V0LFxuICAgIH07XG59XG5mdW5jdGlvbiBmbGF0dGVuVHJlZSh0cmVlLCBsZWFmU2l6ZSkge1xuICAgIGNvbnN0IG5Ob2RlcyA9IG51bU5vZGVzKHRyZWUpO1xuICAgIGNvbnN0IG5MZWF2ZXMgPSBudW1MZWF2ZXModHJlZSk7XG4gICAgLy8gVE9ETzogVmVyaWZ5IHRoYXQgc3BhcnNlIGNvZGUgaXMgbm90IHJlbGV2YW50Li4uXG4gICAgY29uc3QgaHlwZXJwbGFuZXMgPSB1dGlsc1xuICAgICAgICAucmFuZ2Uobk5vZGVzKVxuICAgICAgICAubWFwKCgpID0+IHRyZWUuaHlwZXJwbGFuZSA/IDEgOiAwKTtcbiAgICBjb25zdCBvZmZzZXRzID0gdXRpbHMuemVyb3Mobk5vZGVzKTtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHV0aWxzLnJhbmdlKG5Ob2RlcykubWFwKCgpID0+IFstMSwgLTFdKTtcbiAgICBjb25zdCBpbmRpY2VzID0gdXRpbHNcbiAgICAgICAgLnJhbmdlKG5MZWF2ZXMpXG4gICAgICAgIC5tYXAoKCkgPT4gdXRpbHMucmFuZ2UobGVhZlNpemUpLm1hcCgoKSA9PiAtMSkpO1xuICAgIHJlY3Vyc2l2ZUZsYXR0ZW4odHJlZSwgaHlwZXJwbGFuZXMsIG9mZnNldHMsIGNoaWxkcmVuLCBpbmRpY2VzLCAwLCAwKTtcbiAgICByZXR1cm4gbmV3IEZsYXRUcmVlKGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcyk7XG59XG5mdW5jdGlvbiByZWN1cnNpdmVGbGF0dGVuKHRyZWUsIGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcywgbm9kZU51bSwgbGVhZk51bSkge1xuICAgIGlmICh0cmVlLmlzTGVhZikge1xuICAgICAgICBjaGlsZHJlbltub2RlTnVtXVswXSA9IC1sZWFmTnVtO1xuICAgICAgICAvLyBUT0RPOiBUcmlwbGUgY2hlY2sgdGhpcyBvcGVyYXRpb24gY29ycmVzcG9uZHMgdG9cbiAgICAgICAgLy8gaW5kaWNlc1tsZWFmTnVtIDogdHJlZS5pbmRpY2VzLnNoYXBlWzBdXSA9IHRyZWUuaW5kaWNlc1xuICAgICAgICBpbmRpY2VzW2xlYWZOdW1dLnNwbGljZSgwLCB0cmVlLmluZGljZXMubGVuZ3RoLCAuLi50cmVlLmluZGljZXMpO1xuICAgICAgICBsZWFmTnVtICs9IDE7XG4gICAgICAgIHJldHVybiB7IG5vZGVOdW0sIGxlYWZOdW0gfTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGh5cGVycGxhbmVzW25vZGVOdW1dID0gdHJlZS5oeXBlcnBsYW5lO1xuICAgICAgICBvZmZzZXRzW25vZGVOdW1dID0gdHJlZS5vZmZzZXQ7XG4gICAgICAgIGNoaWxkcmVuW25vZGVOdW1dWzBdID0gbm9kZU51bSArIDE7XG4gICAgICAgIGNvbnN0IG9sZE5vZGVOdW0gPSBub2RlTnVtO1xuICAgICAgICBsZXQgcmVzID0gcmVjdXJzaXZlRmxhdHRlbih0cmVlLmxlZnRDaGlsZCwgaHlwZXJwbGFuZXMsIG9mZnNldHMsIGNoaWxkcmVuLCBpbmRpY2VzLCBub2RlTnVtICsgMSwgbGVhZk51bSk7XG4gICAgICAgIG5vZGVOdW0gPSByZXMubm9kZU51bTtcbiAgICAgICAgbGVhZk51bSA9IHJlcy5sZWFmTnVtO1xuICAgICAgICBjaGlsZHJlbltvbGROb2RlTnVtXVsxXSA9IG5vZGVOdW0gKyAxO1xuICAgICAgICByZXMgPSByZWN1cnNpdmVGbGF0dGVuKHRyZWUucmlnaHRDaGlsZCwgaHlwZXJwbGFuZXMsIG9mZnNldHMsIGNoaWxkcmVuLCBpbmRpY2VzLCBub2RlTnVtICsgMSwgbGVhZk51bSk7XG4gICAgICAgIHJldHVybiB7IG5vZGVOdW06IHJlcy5ub2RlTnVtLCBsZWFmTnVtOiByZXMubGVhZk51bSB9O1xuICAgIH1cbn1cbmZ1bmN0aW9uIG51bU5vZGVzKHRyZWUpIHtcbiAgICBpZiAodHJlZS5pc0xlYWYpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gMSArIG51bU5vZGVzKHRyZWUubGVmdENoaWxkKSArIG51bU5vZGVzKHRyZWUucmlnaHRDaGlsZCk7XG4gICAgfVxufVxuZnVuY3Rpb24gbnVtTGVhdmVzKHRyZWUpIHtcbiAgICBpZiAodHJlZS5pc0xlYWYpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVtTGVhdmVzKHRyZWUubGVmdENoaWxkKSArIG51bUxlYXZlcyh0cmVlLnJpZ2h0Q2hpbGQpO1xuICAgIH1cbn1cbi8qKlxuICogR2VuZXJhdGUgYW4gYXJyYXkgb2Ygc2V0cyBvZiBjYW5kaWRhdGUgbmVhcmVzdCBuZWlnaGJvcnMgYnlcbiAqIGNvbnN0cnVjdGluZyBhIHJhbmRvbSBwcm9qZWN0aW9uIGZvcmVzdCBhbmQgdGFraW5nIHRoZSBsZWF2ZXMgb2YgYWxsIHRoZVxuICogdHJlZXMuIEFueSBnaXZlbiB0cmVlIGhhcyBsZWF2ZXMgdGhhdCBhcmUgYSBzZXQgb2YgcG90ZW50aWFsIG5lYXJlc3RcbiAqIG5laWdoYm9ycy4gR2l2ZW4gZW5vdWdoIHRyZWVzIHRoZSBzZXQgb2YgYWxsIHN1Y2ggbGVhdmVzIGdpdmVzIGEgZ29vZFxuICogbGlrZWxpaG9vZCBvZiBnZXR0aW5nIGEgZ29vZCBzZXQgb2YgbmVhcmVzdCBuZWlnaGJvcnMgaW4gY29tcG9zaXRlLiBTaW5jZVxuICogc3VjaCBhIHJhbmRvbSBwcm9qZWN0aW9uIGZvcmVzdCBpcyBpbmV4cGVuc2l2ZSB0byBjb21wdXRlLCB0aGlzIGNhbiBiZSBhXG4gKiB1c2VmdWwgbWVhbnMgb2Ygc2VlZGluZyBvdGhlciBuZWFyZXN0IG5laWdoYm9yIGFsZ29yaXRobXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlTGVhZkFycmF5KHJwRm9yZXN0KSB7XG4gICAgaWYgKHJwRm9yZXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gW107XG4gICAgICAgIGZvciAobGV0IHRyZWUgb2YgcnBGb3Jlc3QpIHtcbiAgICAgICAgICAgIG91dHB1dC5wdXNoKC4uLnRyZWUuaW5kaWNlcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBbWy0xXV07XG4gICAgfVxufVxuLyoqXG4gKiBTZWxlY3RzIHRoZSBzaWRlIG9mIHRoZSB0cmVlIHRvIHNlYXJjaCBkdXJpbmcgZmxhdCB0cmVlIHNlYXJjaC5cbiAqL1xuZnVuY3Rpb24gc2VsZWN0U2lkZShoeXBlcnBsYW5lLCBvZmZzZXQsIHBvaW50LCByYW5kb20pIHtcbiAgICBsZXQgbWFyZ2luID0gb2Zmc2V0O1xuICAgIG1hcmdpbiArPSBoeXBlcnBsYW5lICogcG9pbnQ7XG4gICAgaWYgKG1hcmdpbiA9PT0gMCkge1xuICAgICAgICBjb25zdCBzaWRlID0gdXRpbHMudGF1UmFuZEludCgyLCByYW5kb20pO1xuICAgICAgICByZXR1cm4gc2lkZTtcbiAgICB9XG4gICAgZWxzZSBpZiAobWFyZ2luID4gMCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbn1cbi8qKlxuICogU2VhcmNoZXMgYSBmbGF0dGVuZWQgcnAtdHJlZSBmb3IgYSBwb2ludC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlYXJjaEZsYXRUcmVlKHBvaW50LCB0cmVlLCByYW5kb20pIHtcbiAgICBsZXQgbm9kZSA9IDA7XG4gICAgd2hpbGUgKHRyZWUuY2hpbGRyZW5bbm9kZV1bMF0gPiAwKSB7XG4gICAgICAgIGNvbnN0IHNpZGUgPSBzZWxlY3RTaWRlKHRyZWUuaHlwZXJwbGFuZXNbbm9kZV0sIHRyZWUub2Zmc2V0c1tub2RlXSwgcG9pbnQsIHJhbmRvbSk7XG4gICAgICAgIGlmIChzaWRlID09PSAwKSB7XG4gICAgICAgICAgICBub2RlID0gdHJlZS5jaGlsZHJlbltub2RlXVswXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG5vZGUgPSB0cmVlLmNoaWxkcmVuW25vZGVdWzFdO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGluZGV4ID0gLTEgKiB0cmVlLmNoaWxkcmVuW25vZGVdWzBdO1xuICAgIHJldHVybiB0cmVlLmluZGljZXNbaW5kZXhdO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhKbFpTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5SeVpXVXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN096czdPenM3T3pzN096czdPenM3TzBkQmFVSkhPMEZCUlVnN096czdPMGRCUzBjN1FVRkZTRHM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p0SFFTdENSenRCUVVWSUxFOUJRVThzUzBGQlN5eExRVUZMTEUxQlFVMHNVMEZCVXl4RFFVRkRPMEZCWldwRExFMUJRVTBzVDBGQlR5eFJRVUZSTzBsQlJWWTdTVUZEUVR0SlFVTkJPMGxCUTBFN1NVRktWQ3haUVVOVExGZEJRWEZDTEVWQlEzSkNMRTlCUVdsQ0xFVkJRMnBDTEZGQlFXOUNMRVZCUTNCQ0xFOUJRVzFDTzFGQlNHNUNMR2RDUVVGWExFZEJRVmdzVjBGQlZ5eERRVUZWTzFGQlEzSkNMRmxCUVU4c1IwRkJVQ3hQUVVGUExFTkJRVlU3VVVGRGFrSXNZVUZCVVN4SFFVRlNMRkZCUVZFc1EwRkJXVHRSUVVOd1FpeFpRVUZQTEVkQlFWQXNUMEZCVHl4RFFVRlpPMGxCUTNwQ0xFTkJRVU03UTBGRFREdEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxGVkJRVlVzUTBGRGVFSXNTVUZCV1N4RlFVTmFMRlZCUVd0Q0xFVkJRMnhDTEUxQlFXTXNSVUZEWkN4TlFVRm5RanRKUVVWb1FpeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXp0SlFVVXhReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eExRVUZMTzFOQlEyaENMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU03VTBGRFlpeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRkZCUVZFc1JVRkJSU3hEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjBSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFTkJRVU1zVjBGQlZ5eERRVUZETEVsQlFVa3NSVUZCUlN4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSVGxFTEU5QlFVOHNUVUZCVFN4RFFVRkRPMEZCUTJoQ0xFTkJRVU03UVVGRlJEczdPMGRCUjBjN1FVRkRTQ3hUUVVGVExGRkJRVkVzUTBGRFppeEpRVUZaTEVWQlExb3NVVUZCVVN4SFFVRkhMRVZCUVVVc1JVRkRZaXhEUVVGVExFVkJRMVFzVFVGQlowSTdTVUZGYUVJc1RVRkJUU3hQUVVGUExFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03U1VGRGVrTXNUVUZCVFN4SlFVRkpMRWRCUVVjc2FVSkJRV2xDTEVOQlFVTXNTVUZCU1N4RlFVRkZMRTlCUVU4c1JVRkJSU3hSUVVGUkxFVkJRVVVzUTBGQlF5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUTI1RkxFOUJRVThzU1VGQlNTeERRVUZETzBGQlEyUXNRMEZCUXp0QlFVVkVMRk5CUVZNc2FVSkJRV2xDTEVOQlEzaENMRWxCUVZrc1JVRkRXaXhQUVVGcFFpeEZRVU5xUWl4UlFVRlJMRWRCUVVjc1JVRkJSU3hGUVVOaUxFTkJRVk1zUlVGRFZDeE5RVUZuUWp0SlFVVm9RaXhKUVVGSkxFOUJRVThzUTBGQlF5eE5RVUZOTEVkQlFVY3NVVUZCVVN4RlFVRkZPMUZCUXpkQ0xFMUJRVTBzV1VGQldTeEhRVUZITERoQ1FVRTRRaXhEUVVGRExFbEJRVWtzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRNMFVzVFVGQlRTeEZRVUZGTEZkQlFWY3NSVUZCUlN4WlFVRlpMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFMUJRVTBzUlVGQlJTeEhRVUZITEZsQlFWa3NRMEZCUXp0UlFVVjJSU3hOUVVGTkxGTkJRVk1zUjBGQlJ5eHBRa0ZCYVVJc1EwRkRha01zU1VGQlNTeEZRVU5LTEZkQlFWY3NSVUZEV0N4UlFVRlJMRVZCUTFJc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGRFRDeE5RVUZOTEVOQlExQXNRMEZCUXp0UlFVTkdMRTFCUVUwc1ZVRkJWU3hIUVVGSExHbENRVUZwUWl4RFFVTnNReXhKUVVGSkxFVkJRMG9zV1VGQldTeEZRVU5hTEZGQlFWRXNSVUZEVWl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVOTUxFMUJRVTBzUTBGRFVDeERRVUZETzFGQlJVWXNUVUZCVFN4SlFVRkpMRWRCUVVjc1JVRkJSU3hUUVVGVExFVkJRVVVzVlVGQlZTeEZRVUZGTEUxQlFVMHNSVUZCUlN4TFFVRkxMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFMUJRVTBzUlVGQlJTeERRVUZETzFGQlF6RkZMRTlCUVU4c1NVRkJTU3hEUVVGRE8wdEJRMkk3VTBGQlRUdFJRVU5NTEUxQlFVMHNTVUZCU1N4SFFVRkhMRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeEpRVUZKTEVWQlFVVXNRMEZCUXp0UlFVTjJReXhQUVVGUExFbEJRVWtzUTBGQlF6dExRVU5pTzBGQlEwZ3NRMEZCUXp0QlFVVkVPenM3T3pzN08wZEJUMGM3UVVGRFNDeFRRVUZUTERoQ1FVRTRRaXhEUVVOeVF5eEpRVUZaTEVWQlExb3NUMEZCYVVJc1JVRkRha0lzVFVGQlowSTdTVUZGYUVJc1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlJXUXNORVJCUVRSRU8wbEJRelZFTEVsQlFVa3NVMEZCVXl4SFFVRkhMRXRCUVVzc1EwRkJReXhWUVVGVkxFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVVONlJDeEpRVUZKTEZWQlFWVXNSMEZCUnl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRNVVFzVlVGQlZTeEpRVUZKTEZOQlFWTXNTMEZCU3l4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUXk5RExGVkJRVlVzUjBGQlJ5eFZRVUZWTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVONlF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4UFFVRlBMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03U1VGRGFFTXNUVUZCVFN4TFFVRkxMRWRCUVVjc1QwRkJUeXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzBsQlJXeERMREJGUVVFd1JUdEpRVU14UlN4NVEwRkJlVU03U1VGRGVrTXNTVUZCU1N4blFrRkJaMElzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEZWtJc1NVRkJTU3huUWtGQlowSXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkhla0lzWjBKQlFXZENMRWRCUVVjc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRKUVVNMVF5eG5Ra0ZCWjBJN1VVRkRaQ3hEUVVGRExHZENRVUZuUWl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlIzaEVMR2xGUVVGcFJUdEpRVU5xUlN4MVJVRkJkVVU3U1VGRGRrVXNNa1ZCUVRKRk8wbEJRek5GTEVsQlFVa3NTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVOa0xFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTm1MRTFCUVUwc1NVRkJTU3hIUVVGSExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJRM3BETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xRkJRM1pETEVsQlFVa3NUVUZCVFN4SFFVRkhMR2RDUVVGblFpeERRVUZETzFGQlJUVkNMRTFCUVUwc1NVRkJTU3huUWtGQlowSXNSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZGYUVRc1NVRkJTU3hOUVVGTkxFdEJRVXNzUTBGQlF5eEZRVUZGTzFsQlEyaENMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU4wUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVTdaMEpCUTJwQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVOQlFVTTdZVUZEV2p0cFFrRkJUVHRuUWtGRFRDeE5RVUZOTEVsQlFVa3NRMEZCUXl4RFFVRkRPMkZCUTJJN1UwRkRSanRoUVVGTkxFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNSVUZCUlR0WlFVTnlRaXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUTFvc1MwRkJTeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFRRVU5hTzJGQlFVMDdXVUZEVEN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlExb3NUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJRenRUUVVOaU8wdEJRMFk3U1VGRlJDd3JRMEZCSzBNN1NVRkRMME1zVFVGQlRTeFhRVUZYTEVkQlFVY3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEpRVU4yUXl4TlFVRk5MRmxCUVZrc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUlhwRExIZEZRVUYzUlR0SlFVTjRSU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlExWXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVOWUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTNCRExFbEJRVWtzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSVHRaUVVOcVFpeFhRVUZYTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEyaERMRXRCUVVzc1NVRkJTU3hEUVVGRExFTkJRVU03VTBGRFdqdGhRVUZOTzFsQlEwd3NXVUZCV1N4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNReXhOUVVGTkxFbEJRVWtzUTBGQlF5eERRVUZETzFOQlEySTdTMEZEUmp0SlFVVkVMRTlCUVU4N1VVRkRUQ3hYUVVGWE8xRkJRMWdzV1VGQldUdFJRVU5hTEZWQlFWVXNSVUZCUlN4blFrRkJaMEk3VVVGRE5VSXNUVUZCVFN4RlFVRkZMR2RDUVVGblFqdExRVU42UWl4RFFVRkRPMEZCUTBvc1EwRkJRenRCUVVWRUxGTkJRVk1zVjBGQlZ5eERRVUZETEVsQlFUaENMRVZCUVVVc1VVRkJaMEk3U1VGRGJrVXNUVUZCVFN4TlFVRk5MRWRCUVVjc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6bENMRTFCUVUwc1QwRkJUeXhIUVVGSExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVVm9ReXh0UkVGQmJVUTdTVUZEYmtRc1RVRkJUU3hYUVVGWExFZEJRVWNzUzBGQlN6dFRRVU4wUWl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRE8xTkJRMklzUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRmRFTXNUVUZCVFN4UFFVRlBMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0SlFVTndReXhOUVVGTkxGRkJRVkVzUjBGQlJ5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjZSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eExRVUZMTzFOQlEyeENMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU03VTBGRFpDeEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTJ4RUxHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hYUVVGWExFVkJRVVVzVDBGQlR5eEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzUkZMRTlCUVU4c1NVRkJTU3hSUVVGUkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEU5QlFVOHNSVUZCUlN4UlFVRlJMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRVU03UVVGREwwUXNRMEZCUXp0QlFVVkVMRk5CUVZNc1owSkJRV2RDTEVOQlEzWkNMRWxCUVRoQ0xFVkJRemxDTEZkQlFYRkNMRVZCUTNKQ0xFOUJRV2xDTEVWQlEycENMRkZCUVc5Q0xFVkJRM0JDTEU5QlFXMUNMRVZCUTI1Q0xFOUJRV1VzUlVGRFppeFBRVUZsTzBsQlJXWXNTVUZCU1N4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRk8xRkJRMllzVVVGQlVTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETzFGQlJXaERMRzFFUVVGdFJEdFJRVU51UkN3d1JFRkJNRVE3VVVGRE1VUXNUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVZFc1EwRkJReXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVVN4RFFVRkRMRU5CUVVNN1VVRkRia1VzVDBGQlR5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTmlMRTlCUVU4c1JVRkJSU3hQUVVGUExFVkJRVVVzVDBGQlR5eEZRVUZGTEVOQlFVTTdTMEZETjBJN1UwRkJUVHRSUVVOTUxGZEJRVmNzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWeXhEUVVGRE8xRkJRM2hETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlR5eERRVUZETzFGQlEyaERMRkZCUVZFc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRMjVETEUxQlFVMHNWVUZCVlN4SFFVRkhMRTlCUVU4c1EwRkJRenRSUVVVelFpeEpRVUZKTEVkQlFVY3NSMEZCUnl4blFrRkJaMElzUTBGRGVFSXNTVUZCU1N4RFFVRkRMRk5CUVZVc1JVRkRaaXhYUVVGWExFVkJRMWdzVDBGQlR5eEZRVU5RTEZGQlFWRXNSVUZEVWl4UFFVRlBMRVZCUTFBc1QwRkJUeXhIUVVGSExFTkJRVU1zUlVGRFdDeFBRVUZQTEVOQlExSXNRMEZCUXp0UlFVTkdMRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETzFGQlEzUkNMRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETzFGQlJYUkNMRkZCUVZFc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJSWFJETEVkQlFVY3NSMEZCUnl4blFrRkJaMElzUTBGRGNFSXNTVUZCU1N4RFFVRkRMRlZCUVZjc1JVRkRhRUlzVjBGQlZ5eEZRVU5ZTEU5QlFVOHNSVUZEVUN4UlFVRlJMRVZCUTFJc1QwRkJUeXhGUVVOUUxFOUJRVThzUjBGQlJ5eERRVUZETEVWQlExZ3NUMEZCVHl4RFFVTlNMRU5CUVVNN1VVRkRSaXhQUVVGUExFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NRMEZCUXl4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0TFFVTjJSRHRCUVVOSUxFTkJRVU03UVVGRlJDeFRRVUZUTEZGQlFWRXNRMEZCUXl4SlFVRTRRanRKUVVNNVF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVN1VVRkRaaXhQUVVGUExFTkJRVU1zUTBGQlF6dExRVU5XTzFOQlFVMDdVVUZEVEN4UFFVRlBMRU5CUVVNc1IwRkJSeXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWVXNRMEZCUXl4SFFVRkhMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zVlVGQlZ5eERRVUZETEVOQlFVTTdTMEZEYmtVN1FVRkRTQ3hEUVVGRE8wRkJSVVFzVTBGQlV5eFRRVUZUTEVOQlFVTXNTVUZCT0VJN1NVRkRMME1zU1VGQlNTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZPMUZCUTJZc1QwRkJUeXhEUVVGRExFTkJRVU03UzBGRFZqdFRRVUZOTzFGQlEwd3NUMEZCVHl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVlVzUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWeXhEUVVGRExFTkJRVU03UzBGRGFrVTdRVUZEU0N4RFFVRkRPMEZCUlVRN096czdPenM3TzBkQlVVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1lVRkJZU3hEUVVGRExGRkJRVzlDTzBsQlEyaEVMRWxCUVVrc1VVRkJVU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVWQlFVVTdVVUZEZGtJc1RVRkJUU3hOUVVGTkxFZEJRV1VzUlVGQlJTeERRVUZETzFGQlF6bENMRXRCUVVzc1NVRkJTU3hKUVVGSkxFbEJRVWtzVVVGQlVTeEZRVUZGTzFsQlEzcENMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVVN4RFFVRkRMRU5CUVVNN1UwRkRMMEk3VVVGRFJDeFBRVUZQTEUxQlFVMHNRMEZCUXp0TFFVTm1PMU5CUVUwN1VVRkRUQ3hQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1MwRkRaanRCUVVOSUxFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRk5CUVZNc1ZVRkJWU3hEUVVOcVFpeFZRVUZyUWl4RlFVTnNRaXhOUVVGakxFVkJRMlFzUzBGQllTeEZRVU5pTEUxQlFXZENPMGxCUldoQ0xFbEJRVWtzVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXp0SlFVVnNRaXhOUVVGTkxFbEJRVWtzVlVGQlZTeEhRVUZITEV0QlFVc3NRMEZCUXp0SlFVY3ZRaXhKUVVGSkxFMUJRVTBzUzBGQlN5eERRVUZETEVWQlFVVTdVVUZEYUVJc1RVRkJUU3hKUVVGSkxFZEJRVWNzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGVrTXNUMEZCVHl4SlFVRkpMRU5CUVVNN1MwRkRZanRUUVVGTkxFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNSVUZCUlR0UlFVTnlRaXhQUVVGUExFTkJRVU1zUTBGQlF6dExRVU5XTzFOQlFVMDdVVUZEVEN4UFFVRlBMRU5CUVVNc1EwRkJRenRMUVVOV08wRkJRMGdzUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHTkJRV01zUTBGRE5VSXNTMEZCWVN4RlFVTmlMRWxCUVdNc1JVRkRaQ3hOUVVGblFqdEpRVVZvUWl4SlFVRkpMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRFlpeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZPMUZCUTJwRExFMUJRVTBzU1VGQlNTeEhRVUZITEZWQlFWVXNRMEZEY2tJc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZEZEVJc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZEYkVJc1MwRkJTeXhGUVVOTUxFMUJRVTBzUTBGRFVDeERRVUZETzFGQlEwWXNTVUZCU1N4SlFVRkpMRXRCUVVzc1EwRkJReXhGUVVGRk8xbEJRMlFzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVMEZETDBJN1lVRkJUVHRaUVVOTUxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFOQlF5OUNPMHRCUTBZN1NVRkZSQ3hOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUXpGRExFOUJRVThzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVNM1FpeERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJHbGpaVzV6WlZ4dUlDcGNiaUFxSUVOdmNIbHlhV2RvZENBeU1ERTVJRWR2YjJkc1pTQk1URU11SUVGc2JDQlNhV2RvZEhNZ1VtVnpaWEoyWldRdVhHNGdLbHh1SUNvZ1RHbGpaVzV6WldRZ2RXNWtaWElnZEdobElFRndZV05vWlNCTWFXTmxibk5sTENCV1pYSnphVzl1SURJdU1DQW9kR2hsSUZ3aVRHbGpaVzV6WlZ3aUtUdGNiaUFxSUhsdmRTQnRZWGtnYm05MElIVnpaU0IwYUdseklHWnBiR1VnWlhoalpYQjBJR2x1SUdOdmJYQnNhV0Z1WTJVZ2QybDBhQ0IwYUdVZ1RHbGpaVzV6WlM1Y2JpQXFJRmx2ZFNCdFlYa2diMkowWVdsdUlHRWdZMjl3ZVNCdlppQjBhR1VnVEdsalpXNXpaU0JoZEZ4dUlDcGNiaUFxSUNBZ0lDQm9kSFJ3T2k4dmQzZDNMbUZ3WVdOb1pTNXZjbWN2YkdsalpXNXpaWE12VEVsRFJVNVRSUzB5TGpCY2JpQXFYRzRnS2lCVmJteGxjM01nY21WeGRXbHlaV1FnWW5rZ1lYQndiR2xqWVdKc1pTQnNZWGNnYjNJZ1lXZHlaV1ZrSUhSdklHbHVJSGR5YVhScGJtY3NJSE52Wm5SM1lYSmxYRzRnS2lCa2FYTjBjbWxpZFhSbFpDQjFibVJsY2lCMGFHVWdUR2xqWlc1elpTQnBjeUJrYVhOMGNtbGlkWFJsWkNCdmJpQmhiaUJjSWtGVElFbFRYQ0lnUWtGVFNWTXNYRzRnS2lCWFNWUklUMVZVSUZkQlVsSkJUbFJKUlZNZ1QxSWdRMDlPUkVsVVNVOU9VeUJQUmlCQlRsa2dTMGxPUkN3Z1pXbDBhR1Z5SUdWNGNISmxjM01nYjNJZ2FXMXdiR2xsWkM1Y2JpQXFJRk5sWlNCMGFHVWdUR2xqWlc1elpTQm1iM0lnZEdobElITndaV05wWm1saklHeGhibWQxWVdkbElHZHZkbVZ5Ym1sdVp5QndaWEp0YVhOemFXOXVjeUJoYm1SY2JpQXFJR3hwYldsMFlYUnBiMjV6SUhWdVpHVnlJSFJvWlNCTWFXTmxibk5sTGx4dUlDb2dQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNGdLaTljYmx4dUx5b3FYRzRnS2lCVWFHbHpJR2x6SUdFZ1NtRjJZVk5qY21sd2RDQnlaV2x0Y0d4bGJXVnVkR0YwYVc5dUlHOW1JRlZOUVZBZ0tHOXlhV2RwYm1Gc0lHeHBZMlZ1YzJVZ1ltVnNiM2NwTENCbWNtOXRYRzRnS2lCMGFHVWdjSGwwYUc5dUlHbHRjR3hsYldWdWRHRjBhVzl1SUdadmRXNWtJR0YwSUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5c2JXTnBibTVsY3k5MWJXRndMbHh1SUNwY2JpQXFJRUJoZFhSb2IzSWdZVzVrZVdOdlpXNWxia0JuYjI5bmJHVXVZMjl0SUNoQmJtUjVJRU52Wlc1bGJpbGNiaUFxTDF4dVhHNHZLaXBjYmlBcUlFQnNhV05sYm5ObFhHNGdLaUJDVTBRZ015MURiR0YxYzJVZ1RHbGpaVzV6WlZ4dUlDcGNiaUFxSUVOdmNIbHlhV2RvZENBb1l5a2dNakF4Tnl3Z1RHVnNZVzVrSUUxalNXNXVaWE5jYmlBcUlFRnNiQ0J5YVdkb2RITWdjbVZ6WlhKMlpXUXVYRzRnS2x4dUlDb2dVbVZrYVhOMGNtbGlkWFJwYjI0Z1lXNWtJSFZ6WlNCcGJpQnpiM1Z5WTJVZ1lXNWtJR0pwYm1GeWVTQm1iM0p0Y3l3Z2QybDBhQ0J2Y2lCM2FYUm9iM1YwWEc0Z0tpQnRiMlJwWm1sallYUnBiMjRzSUdGeVpTQndaWEp0YVhSMFpXUWdjSEp2ZG1sa1pXUWdkR2hoZENCMGFHVWdabTlzYkc5M2FXNW5JR052Ym1ScGRHbHZibk1nWVhKbElHMWxkRHBjYmlBcVhHNGdLaUFxSUZKbFpHbHpkSEpwWW5WMGFXOXVjeUJ2WmlCemIzVnlZMlVnWTI5a1pTQnRkWE4wSUhKbGRHRnBiaUIwYUdVZ1lXSnZkbVVnWTI5d2VYSnBaMmgwSUc1dmRHbGpaU3dnZEdocGMxeHVJQ29nSUNCc2FYTjBJRzltSUdOdmJtUnBkR2x2Ym5NZ1lXNWtJSFJvWlNCbWIyeHNiM2RwYm1jZ1pHbHpZMnhoYVcxbGNpNWNiaUFxWEc0Z0tpQXFJRkpsWkdsemRISnBZblYwYVc5dWN5QnBiaUJpYVc1aGNua2dabTl5YlNCdGRYTjBJSEpsY0hKdlpIVmpaU0IwYUdVZ1lXSnZkbVVnWTI5d2VYSnBaMmgwSUc1dmRHbGpaU3hjYmlBcUlDQWdkR2hwY3lCc2FYTjBJRzltSUdOdmJtUnBkR2x2Ym5NZ1lXNWtJSFJvWlNCbWIyeHNiM2RwYm1jZ1pHbHpZMnhoYVcxbGNpQnBiaUIwYUdVZ1pHOWpkVzFsYm5SaGRHbHZibHh1SUNvZ0lDQmhibVF2YjNJZ2IzUm9aWElnYldGMFpYSnBZV3h6SUhCeWIzWnBaR1ZrSUhkcGRHZ2dkR2hsSUdScGMzUnlhV0oxZEdsdmJpNWNiaUFxWEc0Z0tpQXFJRTVsYVhSb1pYSWdkR2hsSUc1aGJXVWdiMllnZEdobElHTnZjSGx5YVdkb2RDQm9iMnhrWlhJZ2JtOXlJSFJvWlNCdVlXMWxjeUJ2WmlCcGRITmNiaUFxSUNBZ1kyOXVkSEpwWW5WMGIzSnpJRzFoZVNCaVpTQjFjMlZrSUhSdklHVnVaRzl5YzJVZ2IzSWdjSEp2Ylc5MFpTQndjbTlrZFdOMGN5QmtaWEpwZG1Wa0lHWnliMjFjYmlBcUlDQWdkR2hwY3lCemIyWjBkMkZ5WlNCM2FYUm9iM1YwSUhOd1pXTnBabWxqSUhCeWFXOXlJSGR5YVhSMFpXNGdjR1Z5YldsemMybHZiaTVjYmlBcVhHNGdLaUJVU0VsVElGTlBSbFJYUVZKRklFbFRJRkJTVDFaSlJFVkVJRUpaSUZSSVJTQkRUMUJaVWtsSFNGUWdTRTlNUkVWU1V5QkJUa1FnUTA5T1ZGSkpRbFZVVDFKVElGd2lRVk1nU1ZOY0lseHVJQ29nUVU1RUlFRk9XU0JGV0ZCU1JWTlRJRTlTSUVsTlVFeEpSVVFnVjBGU1VrRk9WRWxGVXl3Z1NVNURURlZFU1U1SExDQkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOHNJRlJJUlZ4dUlDb2dTVTFRVEVsRlJDQlhRVkpTUVU1VVNVVlRJRTlHSUUxRlVrTklRVTVVUVVKSlRFbFVXU0JCVGtRZ1JrbFVUa1ZUVXlCR1QxSWdRU0JRUVZKVVNVTlZURUZTSUZCVlVsQlBVMFVnUVZKRlhHNGdLaUJFU1ZORFRFRkpUVVZFTGlCSlRpQk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRMDlRV1ZKSlIwaFVJRWhQVEVSRlVpQlBVaUJEVDA1VVVrbENWVlJQVWxNZ1FrVWdURWxCUWt4RlhHNGdLaUJHVDFJZ1FVNVpJRVJKVWtWRFZDd2dTVTVFU1ZKRlExUXNJRWxPUTBsRVJVNVVRVXdzSUZOUVJVTkpRVXdzSUVWWVJVMVFURUZTV1N3Z1QxSWdRMDlPVTBWUlZVVk9WRWxCVEZ4dUlDb2dSRUZOUVVkRlV5QW9TVTVEVEZWRVNVNUhMQ0JDVlZRZ1RrOVVJRXhKVFVsVVJVUWdWRThzSUZCU1QwTlZVa1ZOUlU1VUlFOUdJRk5WUWxOVVNWUlZWRVVnUjA5UFJGTWdUMUpjYmlBcUlGTkZVbFpKUTBWVE95Qk1UMU5USUU5R0lGVlRSU3dnUkVGVVFTd2dUMUlnVUZKUFJrbFVVenNnVDFJZ1FsVlRTVTVGVTFNZ1NVNVVSVkpTVlZCVVNVOU9LU0JJVDFkRlZrVlNYRzRnS2lCRFFWVlRSVVFnUVU1RUlFOU9JRUZPV1NCVVNFVlBVbGtnVDBZZ1RFbEJRa2xNU1ZSWkxDQlhTRVZVU0VWU0lFbE9JRU5QVGxSU1FVTlVMQ0JUVkZKSlExUWdURWxCUWtsTVNWUlpMRnh1SUNvZ1QxSWdWRTlTVkNBb1NVNURURlZFU1U1SElFNUZSMHhKUjBWT1EwVWdUMUlnVDFSSVJWSlhTVk5GS1NCQlVrbFRTVTVISUVsT0lFRk9XU0JYUVZrZ1QxVlVJRTlHSUZSSVJTQlZVMFZjYmlBcUlFOUdJRlJJU1ZNZ1UwOUdWRmRCVWtVc0lFVldSVTRnU1VZZ1FVUldTVk5GUkNCUFJpQlVTRVVnVUU5VFUwbENTVXhKVkZrZ1QwWWdVMVZEU0NCRVFVMUJSMFV1WEc0Z0tpOWNibHh1YVcxd2IzSjBJQ29nWVhNZ2RYUnBiSE1nWm5KdmJTQW5MaTkxZEdsc2N5YzdYRzVwYlhCdmNuUWdleUJTWVc1a2IyMUdiaXdnVm1WamRHOXlMQ0JXWldOMGIzSnpJSDBnWm5KdmJTQW5MaTkxYldGd0p6dGNibHh1THlvcVhHNGdLaUJVY21WbElHWjFibU4wYVc5dVlXeHBkSGtnWm05eUlHRndjSEp2ZUdsdFlYUnBibWNnYm1WaGNtVnpkQ0J1WldsbmFHSnZjbk5jYmlBcUwxeHVhVzUwWlhKbVlXTmxJRkpoYm1SdmJWQnliMnBsWTNScGIyNVVjbVZsVG05a1pTQjdYRzRnSUdselRHVmhaam9nWW05dmJHVmhianRjYmlBZ2FXNWthV05sY3o4NklHNTFiV0psY2x0ZE8xeHVJQ0JzWldaMFEyaHBiR1EvT2lCU1lXNWtiMjFRY205cVpXTjBhVzl1VkhKbFpVNXZaR1U3WEc0Z0lISnBaMmgwUTJocGJHUS9PaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVTdYRzRnSUdoNWNHVnljR3hoYm1VL09pQnVkVzFpWlhJN1hHNGdJRzltWm5ObGREODZJRzUxYldKbGNqdGNibjFjYmx4dVpYaHdiM0owSUdOc1lYTnpJRVpzWVhSVWNtVmxJSHRjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9YRzRnSUNBZ2NIVmliR2xqSUdoNWNHVnljR3hoYm1Wek9pQnVkVzFpWlhKYlhTeGNiaUFnSUNCd2RXSnNhV01nYjJabWMyVjBjem9nYm5WdFltVnlXMTBzWEc0Z0lDQWdjSFZpYkdsaklHTm9hV3hrY21WdU9pQnVkVzFpWlhKYlhWdGRMRnh1SUNBZ0lIQjFZbXhwWXlCcGJtUnBZMlZ6T2lCdWRXMWlaWEpiWFZ0ZFhHNGdJQ2tnZTMxY2JuMWNibHh1THlvcVhHNGdLaUJDZFdsc1pDQmhJSEpoYm1SdmJTQndjbTlxWldOMGFXOXVJR1p2Y21WemRDQjNhWFJvSUdCZ2JsUnlaV1Z6WUdBdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVd0bFJtOXlaWE4wS0Z4dUlDQmtZWFJoT2lCV1pXTjBiM0lzWEc0Z0lHNU9aV2xuYUdKdmNuTTZJRzUxYldKbGNpeGNiaUFnYmxSeVpXVnpPaUJ1ZFcxaVpYSXNYRzRnSUhKaGJtUnZiVG9nVW1GdVpHOXRSbTVjYmlrZ2UxeHVJQ0JqYjI1emRDQnNaV0ZtVTJsNlpTQTlJRTFoZEdndWJXRjRLREV3TENCdVRtVnBaMmhpYjNKektUdGNibHh1SUNCamIyNXpkQ0IwY21WbGN5QTlJSFYwYVd4elhHNGdJQ0FnTG5KaGJtZGxLRzVVY21WbGN5bGNiaUFnSUNBdWJXRndLQ2hmTENCcEtTQTlQaUJ0WVd0bFZISmxaU2hrWVhSaExDQnNaV0ZtVTJsNlpTd2dhU3dnY21GdVpHOXRLU2s3WEc0Z0lHTnZibk4wSUdadmNtVnpkQ0E5SUhSeVpXVnpMbTFoY0NoMGNtVmxJRDArSUdac1lYUjBaVzVVY21WbEtIUnlaV1VzSUd4bFlXWlRhWHBsS1NrN1hHNWNiaUFnY21WMGRYSnVJR1p2Y21WemREdGNibjFjYmx4dUx5b3FYRzRnS2lCRGIyNXpkSEoxWTNRZ1lTQnlZVzVrYjIwZ2NISnZhbVZqZEdsdmJpQjBjbVZsSUdKaGMyVmtJRzl1SUdCZ1pHRjBZV0JnSUhkcGRHZ2diR1ZoZG1WelhHNGdLaUJ2WmlCemFYcGxJR0YwSUcxdmMzUWdZR0JzWldGbVUybDZaV0JnWEc0Z0tpOWNibVoxYm1OMGFXOXVJRzFoYTJWVWNtVmxLRnh1SUNCa1lYUmhPaUJXWldOMGIzSXNYRzRnSUd4bFlXWlRhWHBsSUQwZ016QXNYRzRnSUc0NklHNTFiV0psY2l4Y2JpQWdjbUZ1Wkc5dE9pQlNZVzVrYjIxR2JseHVLVG9nVW1GdVpHOXRVSEp2YW1WamRHbHZibFJ5WldWT2IyUmxJSHRjYmlBZ1kyOXVjM1FnYVc1a2FXTmxjeUE5SUhWMGFXeHpMbkpoYm1kbEtHUmhkR0V1YkdWdVozUm9LVHRjYmlBZ1kyOXVjM1FnZEhKbFpTQTlJRzFoYTJWRmRXTnNhV1JsWVc1VWNtVmxLR1JoZEdFc0lHbHVaR2xqWlhNc0lHeGxZV1pUYVhwbExDQnVMQ0J5WVc1a2IyMHBPMXh1SUNCeVpYUjFjbTRnZEhKbFpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXRnJaVVYxWTJ4cFpHVmhibFJ5WldVb1hHNGdJR1JoZEdFNklGWmxZM1J2Y2l4Y2JpQWdhVzVrYVdObGN6b2diblZ0WW1WeVcxMHNYRzRnSUd4bFlXWlRhWHBsSUQwZ016QXNYRzRnSUhFNklHNTFiV0psY2l4Y2JpQWdjbUZ1Wkc5dE9pQlNZVzVrYjIxR2JseHVLVG9nVW1GdVpHOXRVSEp2YW1WamRHbHZibFJ5WldWT2IyUmxJSHRjYmlBZ2FXWWdLR2x1WkdsalpYTXViR1Z1WjNSb0lENGdiR1ZoWmxOcGVtVXBJSHRjYmlBZ0lDQmpiMjV6ZENCemNHeHBkRkpsYzNWc2RITWdQU0JsZFdOc2FXUmxZVzVTWVc1a2IyMVFjbTlxWldOMGFXOXVVM0JzYVhRb1pHRjBZU3dnYVc1a2FXTmxjeXdnY21GdVpHOXRLVHRjYmlBZ0lDQmpiMjV6ZENCN0lHbHVaR2xqWlhOTVpXWjBMQ0JwYm1ScFkyVnpVbWxuYUhRc0lHaDVjR1Z5Y0d4aGJtVXNJRzltWm5ObGRDQjlJRDBnYzNCc2FYUlNaWE4xYkhSek8xeHVYRzRnSUNBZ1kyOXVjM1FnYkdWbWRFTm9hV3hrSUQwZ2JXRnJaVVYxWTJ4cFpHVmhibFJ5WldVb1hHNGdJQ0FnSUNCa1lYUmhMRnh1SUNBZ0lDQWdhVzVrYVdObGMweGxablFzWEc0Z0lDQWdJQ0JzWldGbVUybDZaU3hjYmlBZ0lDQWdJSEVnS3lBeExGeHVJQ0FnSUNBZ2NtRnVaRzl0WEc0Z0lDQWdLVHRjYmlBZ0lDQmpiMjV6ZENCeWFXZG9kRU5vYVd4a0lEMGdiV0ZyWlVWMVkyeHBaR1ZoYmxSeVpXVW9YRzRnSUNBZ0lDQmtZWFJoTEZ4dUlDQWdJQ0FnYVc1a2FXTmxjMUpwWjJoMExGeHVJQ0FnSUNBZ2JHVmhabE5wZW1Vc1hHNGdJQ0FnSUNCeElDc2dNU3hjYmlBZ0lDQWdJSEpoYm1SdmJWeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0J1YjJSbElEMGdleUJzWldaMFEyaHBiR1FzSUhKcFoyaDBRMmhwYkdRc0lHbHpUR1ZoWmpvZ1ptRnNjMlVzSUdoNWNHVnljR3hoYm1Vc0lHOW1abk5sZENCOU8xeHVJQ0FnSUhKbGRIVnliaUJ1YjJSbE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHTnZibk4wSUc1dlpHVWdQU0I3SUdsdVpHbGpaWE1zSUdselRHVmhaam9nZEhKMVpTQjlPMXh1SUNBZ0lISmxkSFZ5YmlCdWIyUmxPMXh1SUNCOVhHNTlYRzVjYmk4cUtseHVJQ29nUjJsMlpXNGdZU0J6WlhRZ2IyWWdZR0JwYm1ScFkyVnpZR0FnWm05eUlHUmhkR0VnY0c5cGJuUnpJR1p5YjIwZ1lHQmtZWFJoWUdBc0lHTnlaV0YwWlZ4dUlDb2dZU0J5WVc1a2IyMGdhSGx3WlhKd2JHRnVaU0IwYnlCemNHeHBkQ0IwYUdVZ1pHRjBZU3dnY21WMGRYSnVhVzVuSUhSM2J5QmhjbkpoZVhNZ2FXNWthV05sYzF4dUlDb2dkR2hoZENCbVlXeHNJRzl1SUdWcGRHaGxjaUJ6YVdSbElHOW1JSFJvWlNCb2VYQmxjbkJzWVc1bExpQlVhR2x6SUdseklIUm9aU0JpWVhOcGN5Qm1iM0lnWVZ4dUlDb2djbUZ1Wkc5dElIQnliMnBsWTNScGIyNGdkSEpsWlN3Z2QyaHBZMmdnYzJsdGNHeDVJSFZ6WlhNZ2RHaHBjeUJ6Y0d4cGRIUnBibWNnY21WamRYSnphWFpsYkhrdVhHNGdLaUJVYUdseklIQmhjblJwWTNWc1lYSWdjM0JzYVhRZ2RYTmxjeUJsZFdOc2FXUmxZVzRnWkdsemRHRnVZMlVnZEc4Z1pHVjBaWEp0YVc1bElIUm9aU0JvZVhCbGNuQnNZVzVsWEc0Z0tpQmhibVFnZDJocFkyZ2djMmxrWlNCbFlXTm9JR1JoZEdFZ2MyRnRjR3hsSUdaaGJHeHpJRzl1TGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJsZFdOc2FXUmxZVzVTWVc1a2IyMVFjbTlxWldOMGFXOXVVM0JzYVhRb1hHNGdJR1JoZEdFNklGWmxZM1J2Y2l4Y2JpQWdhVzVrYVdObGN6b2diblZ0WW1WeVcxMHNYRzRnSUhKaGJtUnZiVG9nVW1GdVpHOXRSbTVjYmlrZ2UxeHVJQ0JqYjI1emRDQmthVzBnUFNBeE8xeHVYRzRnSUM4dklGTmxiR1ZqZENCMGQyOGdjbUZ1Wkc5dElIQnZhVzUwY3l3Z2MyVjBJSFJvWlNCb2VYQmxjbkJzWVc1bElHSmxkSGRsWlc0Z2RHaGxiVnh1SUNCc1pYUWdiR1ZtZEVsdVpHVjRJRDBnZFhScGJITXVkR0YxVW1GdVpFbHVkQ2hwYm1ScFkyVnpMbXhsYm1kMGFDd2djbUZ1Wkc5dEtUdGNiaUFnYkdWMElISnBaMmgwU1c1a1pYZ2dQU0IxZEdsc2N5NTBZWFZTWVc1a1NXNTBLR2x1WkdsalpYTXViR1Z1WjNSb0xDQnlZVzVrYjIwcE8xeHVJQ0J5YVdkb2RFbHVaR1Y0SUNzOUlHeGxablJKYm1SbGVDQTlQVDBnY21sbmFIUkpibVJsZUNBL0lERWdPaUF3TzF4dUlDQnlhV2RvZEVsdVpHVjRJRDBnY21sbmFIUkpibVJsZUNBbElHbHVaR2xqWlhNdWJHVnVaM1JvTzF4dUlDQmpiMjV6ZENCc1pXWjBJRDBnYVc1a2FXTmxjMXRzWldaMFNXNWtaWGhkTzF4dUlDQmpiMjV6ZENCeWFXZG9kQ0E5SUdsdVpHbGpaWE5iY21sbmFIUkpibVJsZUYwN1hHNWNiaUFnTHk4Z1EyOXRjSFYwWlNCMGFHVWdibTl5YldGc0lIWmxZM1J2Y2lCMGJ5QjBhR1VnYUhsd1pYSndiR0Z1WlNBb2RHaGxJSFpsWTNSdmNpQmlaWFIzWldWdUlIUm9aU0IwZDI5Y2JpQWdMeThnY0c5cGJuUnpLU0JoYm1RZ2RHaGxJRzltWm5ObGRDQm1jbTl0SUhSb1pTQnZjbWxuYVc1Y2JpQWdiR1YwSUdoNWNHVnljR3hoYm1WUFptWnpaWFFnUFNBd08xeHVJQ0JzWlhRZ2FIbHdaWEp3YkdGdVpWWmxZM1J2Y2lBOUlEQTdYRzVjYmlBZ1hHNGdJR2g1Y0dWeWNHeGhibVZXWldOMGIzSWdQU0JrWVhSaFcyeGxablJkSUMwZ1pHRjBZVnR5YVdkb2RGMDdYRzRnSUdoNWNHVnljR3hoYm1WUFptWnpaWFFnTFQxY2JpQWdJQ0FvYUhsd1pYSndiR0Z1WlZabFkzUnZjaUFxSUNoa1lYUmhXMnhsWm5SZElDc2daR0YwWVZ0eWFXZG9kRjBwS1NBdklESXVNRHRjYmlBZ1hHNWNiaUFnTHk4Z1JtOXlJR1ZoWTJnZ2NHOXBiblFnWTI5dGNIVjBaU0IwYUdVZ2JXRnlaMmx1SUNod2NtOXFaV04wSUdsdWRHOGdibTl5YldGc0lIWmxZM1J2Y2lsY2JpQWdMeThnU1dZZ2QyVWdZWEpsSUc5dUlHeHZkMlZ5SUhOcFpHVWdiMllnZEdobElHaDVjR1Z5Y0d4aGJtVWdjSFYwSUdsdUlHOXVaU0J3YVd4bExDQnZkR2hsY25kcGMyVmNiaUFnTHk4Z2NIVjBJR2wwSUdsdUlIUm9aU0J2ZEdobGNpQndhV3hsSUNocFppQjNaU0JvYVhRZ2FIbHdaWEp3YkdGdVpTQnZiaUIwYUdVZ2JtOXpaU3dnWm14cGNDQmhJR052YVc0cFhHNGdJR3hsZENCdVRHVm1kQ0E5SURBN1hHNGdJR3hsZENCdVVtbG5hSFFnUFNBd08xeHVJQ0JqYjI1emRDQnphV1JsSUQwZ2RYUnBiSE11ZW1WeWIzTW9hVzVrYVdObGN5NXNaVzVuZEdncE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdsdVpHbGpaWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCc1pYUWdiV0Z5WjJsdUlEMGdhSGx3WlhKd2JHRnVaVTltWm5ObGREdGNiaUFnSUNCY2JpQWdJQ0FnSUcxaGNtZHBiaUFyUFNCb2VYQmxjbkJzWVc1bFZtVmpkRzl5SUNvZ1pHRjBZVnRwYm1ScFkyVnpXMmxkWFR0Y2JpQWdJQ0JjYmlBZ0lDQnBaaUFvYldGeVoybHVJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnphV1JsVzJsZElEMGdkWFJwYkhNdWRHRjFVbUZ1WkVsdWRDZ3lMQ0J5WVc1a2IyMHBPMXh1SUNBZ0lDQWdhV1lnS0hOcFpHVmJhVjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYmt4bFpuUWdLejBnTVR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUc1U2FXZG9kQ0FyUFNBeE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JXRnlaMmx1SUQ0Z01Da2dlMXh1SUNBZ0lDQWdjMmxrWlZ0cFhTQTlJREE3WEc0Z0lDQWdJQ0J1VEdWbWRDQXJQU0F4TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnphV1JsVzJsZElEMGdNVHRjYmlBZ0lDQWdJRzVTYVdkb2RDQXJQU0F4TzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4dklFNXZkeUIwYUdGMElIZGxJR2hoZG1VZ2RHaGxJR052ZFc1MGN5d2dZV3hzYjJOaGRHVWdZWEp5WVhselhHNGdJR052Ym5OMElHbHVaR2xqWlhOTVpXWjBJRDBnZFhScGJITXVlbVZ5YjNNb2JreGxablFwTzF4dUlDQmpiMjV6ZENCcGJtUnBZMlZ6VW1sbmFIUWdQU0IxZEdsc2N5NTZaWEp2Y3lodVVtbG5hSFFwTzF4dVhHNGdJQzh2SUZCdmNIVnNZWFJsSUhSb1pTQmhjbkpoZVhNZ2QybDBhQ0JwYm1ScFkyVnpJR0ZqWTI5eVpHbHVaeUIwYnlCM2FHbGphQ0J6YVdSbElIUm9aWGtnWm1Wc2JDQnZibHh1SUNCdVRHVm1kQ0E5SURBN1hHNGdJRzVTYVdkb2RDQTlJREE3WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2djMmxrWlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lHbG1JQ2h6YVdSbFcybGRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnBibVJwWTJWelRHVm1kRnR1VEdWbWRGMGdQU0JwYm1ScFkyVnpXMmxkTzF4dUlDQWdJQ0FnYmt4bFpuUWdLejBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhVzVrYVdObGMxSnBaMmgwVzI1U2FXZG9kRjBnUFNCcGJtUnBZMlZ6VzJsZE8xeHVJQ0FnSUNBZ2JsSnBaMmgwSUNzOUlERTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIdGNiaUFnSUNCcGJtUnBZMlZ6VEdWbWRDeGNiaUFnSUNCcGJtUnBZMlZ6VW1sbmFIUXNYRzRnSUNBZ2FIbHdaWEp3YkdGdVpUb2dhSGx3WlhKd2JHRnVaVlpsWTNSdmNpeGNiaUFnSUNCdlptWnpaWFE2SUdoNWNHVnljR3hoYm1WUFptWnpaWFFzWEc0Z0lIMDdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnNZWFIwWlc1VWNtVmxLSFJ5WldVNklGSmhibVJ2YlZCeWIycGxZM1JwYjI1VWNtVmxUbTlrWlN3Z2JHVmhabE5wZW1VNklHNTFiV0psY2lrZ2UxeHVJQ0JqYjI1emRDQnVUbTlrWlhNZ1BTQnVkVzFPYjJSbGN5aDBjbVZsS1R0Y2JpQWdZMjl1YzNRZ2JreGxZWFpsY3lBOUlHNTFiVXhsWVhabGN5aDBjbVZsS1R0Y2JseHVJQ0F2THlCVVQwUlBPaUJXWlhKcFpua2dkR2hoZENCemNHRnljMlVnWTI5a1pTQnBjeUJ1YjNRZ2NtVnNaWFpoYm5RdUxpNWNiaUFnWTI5dWMzUWdhSGx3WlhKd2JHRnVaWE1nUFNCMWRHbHNjMXh1SUNBZ0lDNXlZVzVuWlNodVRtOWtaWE1wWEc0Z0lDQWdMbTFoY0Nnb0tTQTlQaUIwY21WbExtaDVjR1Z5Y0d4aGJtVWdQeUF4SURvZ01DazdYRzVjYmlBZ1kyOXVjM1FnYjJabWMyVjBjeUE5SUhWMGFXeHpMbnBsY205ektHNU9iMlJsY3lrN1hHNGdJR052Ym5OMElHTm9hV3hrY21WdUlEMGdkWFJwYkhNdWNtRnVaMlVvYms1dlpHVnpLUzV0WVhBb0tDa2dQVDRnV3kweExDQXRNVjBwTzF4dUlDQmpiMjV6ZENCcGJtUnBZMlZ6SUQwZ2RYUnBiSE5jYmlBZ0lDQXVjbUZ1WjJVb2JreGxZWFpsY3lsY2JpQWdJQ0F1YldGd0tDZ3BJRDArSUhWMGFXeHpMbkpoYm1kbEtHeGxZV1pUYVhwbEtTNXRZWEFvS0NrZ1BUNGdMVEVwS1R0Y2JpQWdjbVZqZFhKemFYWmxSbXhoZEhSbGJpaDBjbVZsTENCb2VYQmxjbkJzWVc1bGN5d2diMlptYzJWMGN5d2dZMmhwYkdSeVpXNHNJR2x1WkdsalpYTXNJREFzSURBcE8xeHVJQ0J5WlhSMWNtNGdibVYzSUVac1lYUlVjbVZsS0doNWNHVnljR3hoYm1WekxDQnZabVp6WlhSekxDQmphR2xzWkhKbGJpd2dhVzVrYVdObGN5azdYRzU5WEc1Y2JtWjFibU4wYVc5dUlISmxZM1Z5YzJsMlpVWnNZWFIwWlc0b1hHNGdJSFJ5WldVNklGSmhibVJ2YlZCeWIycGxZM1JwYjI1VWNtVmxUbTlrWlN4Y2JpQWdhSGx3WlhKd2JHRnVaWE02SUc1MWJXSmxjbHRkTEZ4dUlDQnZabVp6WlhSek9pQnVkVzFpWlhKYlhTeGNiaUFnWTJocGJHUnlaVzQ2SUc1MWJXSmxjbHRkVzEwc1hHNGdJR2x1WkdsalpYTTZJRzUxYldKbGNsdGRXMTBzWEc0Z0lHNXZaR1ZPZFcwNklHNTFiV0psY2l4Y2JpQWdiR1ZoWms1MWJUb2diblZ0WW1WeVhHNHBPaUI3SUc1dlpHVk9kVzA2SUc1MWJXSmxjanNnYkdWaFprNTFiVG9nYm5WdFltVnlJSDBnZTF4dUlDQnBaaUFvZEhKbFpTNXBjMHhsWVdZcElIdGNiaUFnSUNCamFHbHNaSEpsYmx0dWIyUmxUblZ0WFZzd1hTQTlJQzFzWldGbVRuVnRPMXh1WEc0Z0lDQWdMeThnVkU5RVR6b2dWSEpwY0d4bElHTm9aV05ySUhSb2FYTWdiM0JsY21GMGFXOXVJR052Y25KbGMzQnZibVJ6SUhSdlhHNGdJQ0FnTHk4Z2FXNWthV05sYzF0c1pXRm1UblZ0SURvZ2RISmxaUzVwYm1ScFkyVnpMbk5vWVhCbFd6QmRYU0E5SUhSeVpXVXVhVzVrYVdObGMxeHVJQ0FnSUdsdVpHbGpaWE5iYkdWaFprNTFiVjB1YzNCc2FXTmxLREFzSUhSeVpXVXVhVzVrYVdObGN5RXViR1Z1WjNSb0xDQXVMaTUwY21WbExtbHVaR2xqWlhNaEtUdGNiaUFnSUNCc1pXRm1UblZ0SUNzOUlERTdYRzRnSUNBZ2NtVjBkWEp1SUhzZ2JtOWtaVTUxYlN3Z2JHVmhaazUxYlNCOU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHaDVjR1Z5Y0d4aGJtVnpXMjV2WkdWT2RXMWRJRDBnZEhKbFpTNW9lWEJsY25Cc1lXNWxJVHRjYmlBZ0lDQnZabVp6WlhSelcyNXZaR1ZPZFcxZElEMGdkSEpsWlM1dlptWnpaWFFoTzF4dUlDQWdJR05vYVd4a2NtVnVXMjV2WkdWT2RXMWRXekJkSUQwZ2JtOWtaVTUxYlNBcklERTdYRzRnSUNBZ1kyOXVjM1FnYjJ4a1RtOWtaVTUxYlNBOUlHNXZaR1ZPZFcwN1hHNWNiaUFnSUNCc1pYUWdjbVZ6SUQwZ2NtVmpkWEp6YVhabFJteGhkSFJsYmloY2JpQWdJQ0FnSUhSeVpXVXViR1ZtZEVOb2FXeGtJU3hjYmlBZ0lDQWdJR2g1Y0dWeWNHeGhibVZ6TEZ4dUlDQWdJQ0FnYjJabWMyVjBjeXhjYmlBZ0lDQWdJR05vYVd4a2NtVnVMRnh1SUNBZ0lDQWdhVzVrYVdObGN5eGNiaUFnSUNBZ0lHNXZaR1ZPZFcwZ0t5QXhMRnh1SUNBZ0lDQWdiR1ZoWms1MWJWeHVJQ0FnSUNrN1hHNGdJQ0FnYm05a1pVNTFiU0E5SUhKbGN5NXViMlJsVG5WdE8xeHVJQ0FnSUd4bFlXWk9kVzBnUFNCeVpYTXViR1ZoWms1MWJUdGNibHh1SUNBZ0lHTm9hV3hrY21WdVcyOXNaRTV2WkdWT2RXMWRXekZkSUQwZ2JtOWtaVTUxYlNBcklERTdYRzVjYmlBZ0lDQnlaWE1nUFNCeVpXTjFjbk5wZG1WR2JHRjBkR1Z1S0Z4dUlDQWdJQ0FnZEhKbFpTNXlhV2RvZEVOb2FXeGtJU3hjYmlBZ0lDQWdJR2g1Y0dWeWNHeGhibVZ6TEZ4dUlDQWdJQ0FnYjJabWMyVjBjeXhjYmlBZ0lDQWdJR05vYVd4a2NtVnVMRnh1SUNBZ0lDQWdhVzVrYVdObGN5eGNiaUFnSUNBZ0lHNXZaR1ZPZFcwZ0t5QXhMRnh1SUNBZ0lDQWdiR1ZoWms1MWJWeHVJQ0FnSUNrN1hHNGdJQ0FnY21WMGRYSnVJSHNnYm05a1pVNTFiVG9nY21WekxtNXZaR1ZPZFcwc0lHeGxZV1pPZFcwNklISmxjeTVzWldGbVRuVnRJSDA3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2JuVnRUbTlrWlhNb2RISmxaVG9nVW1GdVpHOXRVSEp2YW1WamRHbHZibFJ5WldWT2IyUmxLVG9nYm5WdFltVnlJSHRjYmlBZ2FXWWdLSFJ5WldVdWFYTk1aV0ZtS1NCN1hHNGdJQ0FnY21WMGRYSnVJREU3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJREVnS3lCdWRXMU9iMlJsY3loMGNtVmxMbXhsWm5SRGFHbHNaQ0VwSUNzZ2JuVnRUbTlrWlhNb2RISmxaUzV5YVdkb2RFTm9hV3hrSVNrN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdiblZ0VEdWaGRtVnpLSFJ5WldVNklGSmhibVJ2YlZCeWIycGxZM1JwYjI1VWNtVmxUbTlrWlNrNklHNTFiV0psY2lCN1hHNGdJR2xtSUNoMGNtVmxMbWx6VEdWaFppa2dlMXh1SUNBZ0lISmxkSFZ5YmlBeE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMU1aV0YyWlhNb2RISmxaUzVzWldaMFEyaHBiR1FoS1NBcklHNTFiVXhsWVhabGN5aDBjbVZsTG5KcFoyaDBRMmhwYkdRaEtUdGNiaUFnZlZ4dWZWeHVYRzR2S2lwY2JpQXFJRWRsYm1WeVlYUmxJR0Z1SUdGeWNtRjVJRzltSUhObGRITWdiMllnWTJGdVpHbGtZWFJsSUc1bFlYSmxjM1FnYm1WcFoyaGliM0p6SUdKNVhHNGdLaUJqYjI1emRISjFZM1JwYm1jZ1lTQnlZVzVrYjIwZ2NISnZhbVZqZEdsdmJpQm1iM0psYzNRZ1lXNWtJSFJoYTJsdVp5QjBhR1VnYkdWaGRtVnpJRzltSUdGc2JDQjBhR1ZjYmlBcUlIUnlaV1Z6TGlCQmJua2daMmwyWlc0Z2RISmxaU0JvWVhNZ2JHVmhkbVZ6SUhSb1lYUWdZWEpsSUdFZ2MyVjBJRzltSUhCdmRHVnVkR2xoYkNCdVpXRnlaWE4wWEc0Z0tpQnVaV2xuYUdKdmNuTXVJRWRwZG1WdUlHVnViM1ZuYUNCMGNtVmxjeUIwYUdVZ2MyVjBJRzltSUdGc2JDQnpkV05vSUd4bFlYWmxjeUJuYVhabGN5QmhJR2R2YjJSY2JpQXFJR3hwYTJWc2FXaHZiMlFnYjJZZ1oyVjBkR2x1WnlCaElHZHZiMlFnYzJWMElHOW1JRzVsWVhKbGMzUWdibVZwWjJoaWIzSnpJR2x1SUdOdmJYQnZjMmwwWlM0Z1UybHVZMlZjYmlBcUlITjFZMmdnWVNCeVlXNWtiMjBnY0hKdmFtVmpkR2x2YmlCbWIzSmxjM1FnYVhNZ2FXNWxlSEJsYm5OcGRtVWdkRzhnWTI5dGNIVjBaU3dnZEdocGN5QmpZVzRnWW1VZ1lWeHVJQ29nZFhObFpuVnNJRzFsWVc1eklHOW1JSE5sWldScGJtY2diM1JvWlhJZ2JtVmhjbVZ6ZENCdVpXbG5hR0p2Y2lCaGJHZHZjbWwwYUcxekxseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYldGclpVeGxZV1pCY25KaGVTaHljRVp2Y21WemREb2dSbXhoZEZSeVpXVmJYU2s2SUc1MWJXSmxjbHRkVzEwZ2UxeHVJQ0JwWmlBb2NuQkdiM0psYzNRdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lHTnZibk4wSUc5MWRIQjFkRG9nYm5WdFltVnlXMTFiWFNBOUlGdGRPMXh1SUNBZ0lHWnZjaUFvYkdWMElIUnlaV1VnYjJZZ2NuQkdiM0psYzNRcElIdGNiaUFnSUNBZ0lHOTFkSEIxZEM1d2RYTm9LQzR1TG5SeVpXVXVhVzVrYVdObGN5RXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYjNWMGNIVjBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQmJXeTB4WFYwN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQlRaV3hsWTNSeklIUm9aU0J6YVdSbElHOW1JSFJvWlNCMGNtVmxJSFJ2SUhObFlYSmphQ0JrZFhKcGJtY2dabXhoZENCMGNtVmxJSE5sWVhKamFDNWNiaUFxTDF4dVpuVnVZM1JwYjI0Z2MyVnNaV04wVTJsa1pTaGNiaUFnYUhsd1pYSndiR0Z1WlRvZ2JuVnRZbVZ5TEZ4dUlDQnZabVp6WlhRNklHNTFiV0psY2l4Y2JpQWdjRzlwYm5RNklHNTFiV0psY2l4Y2JpQWdjbUZ1Wkc5dE9pQlNZVzVrYjIxR2JseHVLU0I3WEc0Z0lHeGxkQ0J0WVhKbmFXNGdQU0J2Wm1aelpYUTdYRzVjYmlBZ0lDQnRZWEpuYVc0Z0t6MGdhSGx3WlhKd2JHRnVaU0FxSUhCdmFXNTBPMXh1SUNCY2JseHVJQ0JwWmlBb2JXRnlaMmx1SUQwOVBTQXdLU0I3WEc0Z0lDQWdZMjl1YzNRZ2MybGtaU0E5SUhWMGFXeHpMblJoZFZKaGJtUkpiblFvTWl3Z2NtRnVaRzl0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdjMmxrWlR0Y2JpQWdmU0JsYkhObElHbG1JQ2h0WVhKbmFXNGdQaUF3S1NCN1hHNGdJQ0FnY21WMGRYSnVJREE3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJREU3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCVFpXRnlZMmhsY3lCaElHWnNZWFIwWlc1bFpDQnljQzEwY21WbElHWnZjaUJoSUhCdmFXNTBMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2MyVmhjbU5vUm14aGRGUnlaV1VvWEc0Z0lIQnZhVzUwT2lCdWRXMWlaWElzWEc0Z0lIUnlaV1U2SUVac1lYUlVjbVZsTEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBJSHRjYmlBZ2JHVjBJRzV2WkdVZ1BTQXdPMXh1SUNCM2FHbHNaU0FvZEhKbFpTNWphR2xzWkhKbGJsdHViMlJsWFZzd1hTQStJREFwSUh0Y2JpQWdJQ0JqYjI1emRDQnphV1JsSUQwZ2MyVnNaV04wVTJsa1pTaGNiaUFnSUNBZ0lIUnlaV1V1YUhsd1pYSndiR0Z1WlhOYmJtOWtaVjBzWEc0Z0lDQWdJQ0IwY21WbExtOW1abk5sZEhOYmJtOWtaVjBzWEc0Z0lDQWdJQ0J3YjJsdWRDeGNiaUFnSUNBZ0lISmhibVJ2YlZ4dUlDQWdJQ2s3WEc0Z0lDQWdhV1lnS0hOcFpHVWdQVDA5SURBcElIdGNiaUFnSUNBZ0lHNXZaR1VnUFNCMGNtVmxMbU5vYVd4a2NtVnVXMjV2WkdWZFd6QmRPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdWIyUmxJRDBnZEhKbFpTNWphR2xzWkhKbGJsdHViMlJsWFZzeFhUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQmpiMjV6ZENCcGJtUmxlQ0E5SUMweElDb2dkSEpsWlM1amFHbHNaSEpsYmx0dWIyUmxYVnN3WFR0Y2JpQWdjbVYwZFhKdUlIUnlaV1V1YVc1a2FXTmxjMXRwYm1SbGVGMDdYRzU5WEc0aVhYMD0iLCIvKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuLyoqXG4gKiBUaGlzIGlzIGEgSmF2YVNjcmlwdCByZWltcGxlbWVudGF0aW9uIG9mIFVNQVAgKG9yaWdpbmFsIGxpY2Vuc2UgYmVsb3cpLCBmcm9tXG4gKiB0aGUgcHl0aG9uIGltcGxlbWVudGF0aW9uIGZvdW5kIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9sbWNpbm5lcy91bWFwLlxuICpcbiAqIEBhdXRob3IgYW5keWNvZW5lbkBnb29nbGUuY29tIChBbmR5IENvZW5lbilcbiAqL1xuLyoqXG4gKiBAbGljZW5zZVxuICogQlNEIDMtQ2xhdXNlIExpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcsIExlbGFuZCBNY0lubmVzXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6XG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXNcbiAqICAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsXG4gKiAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb25cbiAqICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gKlxuICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzXG4gKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tXG4gKiAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCJcbiAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEVcbiAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRVxuICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUxcbiAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SXG4gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUlxuICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSxcbiAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXG4gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICovXG5pbXBvcnQgKiBhcyBoZWFwIGZyb20gJy4vaGVhcCc7XG5pbXBvcnQgKiBhcyBtYXRyaXggZnJvbSAnLi9tYXRyaXgnO1xuaW1wb3J0ICogYXMgbm5EZXNjZW50IGZyb20gJy4vbm5fZGVzY2VudCc7XG5pbXBvcnQgKiBhcyB0cmVlIGZyb20gJy4vdHJlZSc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBMTSBmcm9tICdtbC1sZXZlbmJlcmctbWFycXVhcmR0JztcbmNvbnN0IFNNT09USF9LX1RPTEVSQU5DRSA9IDFlLTU7XG5jb25zdCBNSU5fS19ESVNUX1NDQUxFID0gMWUtMztcbi8qKlxuICogVU1BUCBwcm9qZWN0aW9uIHN5c3RlbSwgYmFzZWQgb24gdGhlIHB5dGhvbiBpbXBsZW1lbnRhdGlvbiBmcm9tIE1jSW5uZXMsIEwsXG4gKiBIZWFseSwgSiwgVU1BUDogVW5pZm9ybSBNYW5pZm9sZCBBcHByb3hpbWF0aW9uIGFuZCBQcm9qZWN0aW9uIGZvciBEaW1lbnNpb25cbiAqIFJlZHVjdGlvbiAoaHR0cHM6Ly9naXRodWIuY29tL2xtY2lubmVzL3VtYXApLlxuICpcbiAqIFRoaXMgaW1wbGVtZW50YXRpb24gZGlmZmVycyBpbiBhIGZldyByZWdhcmRzOlxuICogYSkgVGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBlbWJlZGRpbmcgZm9yIG9wdGltaXphdGlvbiBpcyBub3QgY29tcHV0ZWQgdXNpbmdcbiAqICAgIGEgc3BlY3RyYWwgbWV0aG9kLCByYXRoZXIgaXQgaXMgaW5pdGlhbGl6ZWQgcmFuZG9tbHkuIFRoaXMgYXZvaWRzIHNvbWVcbiAqICAgIGNvbXB1dGF0aW9uYWxseSBpbnRlbnNpdmUgbWF0cml4IGVpZ2VuIGNvbXB1dGF0aW9ucyB0aGF0IGFyZW4ndCBlYXNpbHlcbiAqICAgIHBvcnRlZCB0byBKYXZhU2NyaXB0LlxuICogYikgQSBsb3Qgb2YgXCJleHRyYVwiIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gb21pdHRlZCBmcm9tIHRoaXMgaW1wbGVtZW50YXRpb24sXG4gKiAgICBtb3N0IG5vdGFibHkgYSBncmVhdCBkZWFsIG9mIGFsdGVybmF0ZSBkaXN0YW5jZSBmdW5jdGlvbnMuXG4gKlxuICogVGhpcyBpbXBsZW1lbnRhdGlvbiBwcm92aWRlcyB0aHJlZSBtZXRob2RzIG9mIHJlZHVjaW5nIGRpbWVuc2lvbmFsaXR5OlxuICogMSkgZml0OiBmaXQgdGhlIGRhdGEgc3luY2hyb25vdXNseVxuICogMikgZml0QXN5bmM6IGZpdCB0aGUgZGF0YSBhc3luY2hyb25vdXNseSwgd2l0aCBhIGNhbGxiYWNrIGZ1bmN0aW9uIHByb3ZpZGVkXG4gKiAgICAgIHRoYXQgaXMgaW52b2tlZCBvbiBlYWNoIG9wdGltaXphdGlvbiBzdGVwLlxuICogMykgaW5pdGlhbGl6ZUZpdCAvIHN0ZXA6IG1hbnVhbGx5IGluaXRpYWxpemUgdGhlIGFsZ29yaXRobSB0aGVuIGV4cGxpY3RseVxuICogICAgICBzdGVwIHRocm91Z2ggZWFjaCBlcG9jaCBvZiB0aGUgU0dEIG9wdGltaXphdGlvblxuICovXG5leHBvcnQgY2xhc3MgVU1BUCB7XG4gICAgbGVhcm5pbmdSYXRlID0gMS4wO1xuICAgIGxvY2FsQ29ubmVjdGl2aXR5ID0gMS4wO1xuICAgIG1pbkRpc3QgPSAwLjE7XG4gICAgbkNvbXBvbmVudHMgPSAyO1xuICAgIG5FcG9jaHMgPSAwO1xuICAgIG5OZWlnaGJvcnMgPSAxNTtcbiAgICBuZWdhdGl2ZVNhbXBsZVJhdGUgPSA1O1xuICAgIHJhbmRvbSA9IE1hdGgucmFuZG9tO1xuICAgIHJlcHVsc2lvblN0cmVuZ3RoID0gMS4wO1xuICAgIHNldE9wTWl4UmF0aW8gPSAxLjA7XG4gICAgc3ByZWFkID0gMS4wO1xuICAgIHRyYW5zZm9ybVF1ZXVlU2l6ZSA9IDQuMDtcbiAgICAvLyBTdXBlcnZpc2VkIHByb2plY3Rpb24gcGFyYW1zXG4gICAgdGFyZ2V0TWV0cmljID0gXCJjYXRlZ29yaWNhbFwiIC8qIFRhcmdldE1ldHJpYy5jYXRlZ29yaWNhbCAqLztcbiAgICB0YXJnZXRXZWlnaHQgPSAwLjU7XG4gICAgdGFyZ2V0Tk5laWdoYm9ycyA9IHRoaXMubk5laWdoYm9ycztcbiAgICBkaXN0YW5jZUZuID0gbnVtZXJpYztcbiAgICAvLyBLTk4gc3RhdGUgKGNhbiBiZSBwcmVjb21wdXRlZCBhbmQgc3VwcGxpZWQgdmlhIGluaXRpYWxpemVGaXQpXG4gICAga25uSW5kaWNlcztcbiAgICBrbm5EaXN0YW5jZXM7XG4gICAgLy8gSW50ZXJuYWwgZ3JhcGggY29ubmVjdGl2aXR5IHJlcHJlc2VudGF0aW9uXG4gICAgZ3JhcGg7XG4gICAgWDtcbiAgICBpc0luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcnBGb3Jlc3QgPSBbXTtcbiAgICBpbml0RnJvbVJhbmRvbTtcbiAgICBpbml0RnJvbVRyZWU7XG4gICAgc2VhcmNoO1xuICAgIHNlYXJjaEdyYXBoO1xuICAgIC8vIFN1cGVydmlzZWQgcHJvamVjdGlvbiBsYWJlbHMgLyB0YXJnZXRzXG4gICAgWTtcbiAgICAvLyBQcm9qZWN0ZWQgZW1iZWRkaW5nXG4gICAgZW1iZWRkaW5nID0gW107XG4gICAgb3B0aW1pemF0aW9uU3RhdGUgPSBuZXcgT3B0aW1pemF0aW9uU3RhdGUoKTtcbiAgICBnZXQgbmVpZ2hib3JzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uTmVpZ2hib3JzO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJhbXMgPSB7fSkge1xuICAgICAgICBjb25zdCBzZXRQYXJhbSA9IChrZXkpID0+IHtcbiAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgaWYgKHBhcmFtc1trZXldICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgdGhpc1trZXldID0gcGFyYW1zW2tleV07XG4gICAgICAgIH07XG4gICAgICAgIHNldFBhcmFtKCdkaXN0YW5jZUZuJyk7XG4gICAgICAgIHNldFBhcmFtKCdsZWFybmluZ1JhdGUnKTtcbiAgICAgICAgc2V0UGFyYW0oJ2xvY2FsQ29ubmVjdGl2aXR5Jyk7XG4gICAgICAgIHNldFBhcmFtKCdtaW5EaXN0Jyk7XG4gICAgICAgIHNldFBhcmFtKCduQ29tcG9uZW50cycpO1xuICAgICAgICBzZXRQYXJhbSgnbkVwb2NocycpO1xuICAgICAgICBzZXRQYXJhbSgnbk5laWdoYm9ycycpO1xuICAgICAgICBzZXRQYXJhbSgnbmVnYXRpdmVTYW1wbGVSYXRlJyk7XG4gICAgICAgIHNldFBhcmFtKCdyYW5kb20nKTtcbiAgICAgICAgc2V0UGFyYW0oJ3JlcHVsc2lvblN0cmVuZ3RoJyk7XG4gICAgICAgIHNldFBhcmFtKCdzZXRPcE1peFJhdGlvJyk7XG4gICAgICAgIHNldFBhcmFtKCdzcHJlYWQnKTtcbiAgICAgICAgc2V0UGFyYW0oJ3RyYW5zZm9ybVF1ZXVlU2l6ZScpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBGaXQgdGhlIGRhdGEgdG8gYSBwcm9qZWN0ZWQgZW1iZWRkaW5nIHNwYWNlIHN5bmNocm9ub3VzbHkuXG4gICAgICovXG4gICAgZml0KFgpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRml0KFgpO1xuICAgICAgICB0aGlzLm9wdGltaXplTGF5b3V0KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmVtYmVkZGluZztcbiAgICB9XG4gICAgLyoqXG4gICAgICogRml0IHRoZSBkYXRhIHRvIGEgcHJvamVjdGVkIGVtYmVkZGluZyBzcGFjZSBhc3luY2hyb25vdXNseSwgd2l0aCBhIGNhbGxiYWNrXG4gICAgICogZnVuY3Rpb24gaW52b2tlZCBvbiBldmVyeSBlcG9jaCBvZiBvcHRpbWl6YXRpb24uXG4gICAgICovXG4gICAgYXN5bmMgZml0QXN5bmMoWCwgY2FsbGJhY2sgPSAoKSA9PiB0cnVlKSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUZpdChYKTtcbiAgICAgICAgYXdhaXQgdGhpcy5vcHRpbWl6ZUxheW91dEFzeW5jKGNhbGxiYWNrKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1iZWRkaW5nO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBwYXJhbWV0ZXJzIG5lZWRlZCBmb3Igc3VwZXJ2aXNlZCBwcm9qZWN0aW9uLlxuICAgICAqL1xuICAgIHNldFN1cGVydmlzZWRQcm9qZWN0aW9uKFksIHBhcmFtcyA9IHt9KSB7XG4gICAgICAgIHRoaXMuWSA9IFk7XG4gICAgICAgIHRoaXMudGFyZ2V0TWV0cmljID0gcGFyYW1zLnRhcmdldE1ldHJpYyB8fCB0aGlzLnRhcmdldE1ldHJpYztcbiAgICAgICAgdGhpcy50YXJnZXRXZWlnaHQgPSBwYXJhbXMudGFyZ2V0V2VpZ2h0IHx8IHRoaXMudGFyZ2V0V2VpZ2h0O1xuICAgICAgICB0aGlzLnRhcmdldE5OZWlnaGJvcnMgPSBwYXJhbXMudGFyZ2V0Tk5laWdoYm9ycyB8fCB0aGlzLnRhcmdldE5OZWlnaGJvcnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemVzIHVtYXAgd2l0aCBwcmVjb21wdXRlZCBLTk4gaW5kaWNlcyBhbmQgZGlzdGFuY2VzLlxuICAgICAqL1xuICAgIHNldFByZWNvbXB1dGVkS05OKGtubkluZGljZXMsIGtubkRpc3RhbmNlcykge1xuICAgICAgICB0aGlzLmtubkluZGljZXMgPSBrbm5JbmRpY2VzO1xuICAgICAgICB0aGlzLmtubkRpc3RhbmNlcyA9IGtubkRpc3RhbmNlcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgZml0IGJ5IGNvbXB1dGluZyBLTk4gYW5kIGEgZnV6enkgc2ltcGxpY2lhbCBzZXQsIGFzIHdlbGwgYXNcbiAgICAgKiBpbml0aWFsaXppbmcgdGhlIHByb2plY3RlZCBlbWJlZGRpbmdzLiBTZXRzIHRoZSBvcHRpbWl6YXRpb24gc3RhdGUgYWhlYWRcbiAgICAgKiBvZiBvcHRpbWl6YXRpb24gc3RlcHMuIFJldHVybnMgdGhlIG51bWJlciBvZiBlcG9jaHMgdG8gYmUgdXNlZCBmb3IgdGhlXG4gICAgICogU0dEIG9wdGltaXphdGlvbi5cbiAgICAgKi9cbiAgICBpbml0aWFsaXplRml0KFgpIHtcbiAgICAgICAgaWYgKFgubGVuZ3RoIDw9IHRoaXMubk5laWdoYm9ycykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgZW5vdWdoIGRhdGEgcG9pbnRzICgke1gubGVuZ3RofSkgdG8gY3JlYXRlIG5OZWlnaGJvcnM6ICR7dGhpcy5uTmVpZ2hib3JzfS4gIEFkZCBtb3JlIGRhdGEgcG9pbnRzIG9yIGFkanVzdCB0aGUgY29uZmlndXJhdGlvbi5gKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHJlaW5pdGlhbGl6ZSBpZiB3ZSd2ZSBhbHJlYWR5IGluaXRpYWxpemVkIGZvciB0aGlzIGRhdGEuXG4gICAgICAgIGlmICh0aGlzLlggPT09IFggJiYgdGhpcy5pc0luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRORXBvY2hzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5YID0gWDtcbiAgICAgICAgaWYgKCF0aGlzLmtubkluZGljZXMgJiYgIXRoaXMua25uRGlzdGFuY2VzKSB7XG4gICAgICAgICAgICBjb25zdCBrbm5SZXN1bHRzID0gdGhpcy5uZWFyZXN0TmVpZ2hib3JzKFgpO1xuICAgICAgICAgICAgdGhpcy5rbm5JbmRpY2VzID0ga25uUmVzdWx0cy5rbm5JbmRpY2VzO1xuICAgICAgICAgICAgdGhpcy5rbm5EaXN0YW5jZXMgPSBrbm5SZXN1bHRzLmtubkRpc3RhbmNlcztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdyYXBoID0gdGhpcy5mdXp6eVNpbXBsaWNpYWxTZXQoWCwgdGhpcy5uTmVpZ2hib3JzLCB0aGlzLnNldE9wTWl4UmF0aW8pO1xuICAgICAgICAvLyBTZXQgdXAgdGhlIHNlYXJjaCBncmFwaCBmb3Igc3Vic2VxdWVudCB0cmFuc2Zvcm1hdGlvbi5cbiAgICAgICAgdGhpcy5tYWtlU2VhcmNoRm5zKCk7XG4gICAgICAgIHRoaXMuc2VhcmNoR3JhcGggPSB0aGlzLm1ha2VTZWFyY2hHcmFwaChYKTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgc3VwZXJ2aXNlZCBwcm9qZWN0aW9uLCB0aGVuIGFkanVzdCB0aGUgZ3JhcGguXG4gICAgICAgIHRoaXMucHJvY2Vzc0dyYXBoRm9yU3VwZXJ2aXNlZFByb2plY3Rpb24oKTtcbiAgICAgICAgY29uc3QgeyBoZWFkLCB0YWlsLCBlcG9jaHNQZXJTYW1wbGUsIH0gPSB0aGlzLmluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nKCk7XG4gICAgICAgIC8vIFNldCB0aGUgb3B0aW1pemF0aW9uIHJvdXRpbmUgc3RhdGVcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5oZWFkID0gaGVhZDtcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS50YWlsID0gdGFpbDtcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5lcG9jaHNQZXJTYW1wbGUgPSBlcG9jaHNQZXJTYW1wbGU7XG4gICAgICAgIC8vIE5vdywgaW5pdGlhbGl6ZSB0aGUgb3B0aW1pemF0aW9uIHN0ZXBzXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZU9wdGltaXphdGlvbigpO1xuICAgICAgICB0aGlzLnByZXBhcmVGb3JPcHRpbWl6YXRpb25Mb29wKCk7XG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE5FcG9jaHMoKTtcbiAgICB9XG4gICAgbWFrZVNlYXJjaEZucygpIHtcbiAgICAgICAgY29uc3QgeyBpbml0RnJvbVRyZWUsIGluaXRGcm9tUmFuZG9tIH0gPSBubkRlc2NlbnQubWFrZUluaXRpYWxpemF0aW9ucyh0aGlzLmRpc3RhbmNlRm4pO1xuICAgICAgICB0aGlzLmluaXRGcm9tVHJlZSA9IGluaXRGcm9tVHJlZTtcbiAgICAgICAgdGhpcy5pbml0RnJvbVJhbmRvbSA9IGluaXRGcm9tUmFuZG9tO1xuICAgICAgICB0aGlzLnNlYXJjaCA9IG5uRGVzY2VudC5tYWtlSW5pdGlhbGl6ZWROTlNlYXJjaCh0aGlzLmRpc3RhbmNlRm4pO1xuICAgIH1cbiAgICBtYWtlU2VhcmNoR3JhcGgoWCkge1xuICAgICAgICBjb25zdCBrbm5JbmRpY2VzID0gdGhpcy5rbm5JbmRpY2VzO1xuICAgICAgICBjb25zdCBrbm5EaXN0YW5jZXMgPSB0aGlzLmtubkRpc3RhbmNlcztcbiAgICAgICAgY29uc3QgZGltcyA9IFtYLmxlbmd0aCwgWC5sZW5ndGhdO1xuICAgICAgICBjb25zdCBzZWFyY2hHcmFwaCA9IG5ldyBtYXRyaXguU3BhcnNlTWF0cml4KFtdLCBbXSwgW10sIGRpbXMpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtubkluZGljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGtubiA9IGtubkluZGljZXNbaV07XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZXMgPSBrbm5EaXN0YW5jZXNbaV07XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGtubi5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5laWdoYm9yID0ga25uW2pdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZGlzdGFuY2VzW2pdO1xuICAgICAgICAgICAgICAgIGlmIChkaXN0YW5jZSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoR3JhcGguc2V0KGksIG5laWdoYm9yLCBkaXN0YW5jZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRyYW5zcG9zZSA9IG1hdHJpeC50cmFuc3Bvc2Uoc2VhcmNoR3JhcGgpO1xuICAgICAgICByZXR1cm4gbWF0cml4Lm1heGltdW0oc2VhcmNoR3JhcGgsIHRyYW5zcG9zZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgZGF0YSB0byB0aGUgZXhpc3RpbmcgZW1iZWRkaW5nIHNwYWNlLlxuICAgICAqL1xuICAgIHRyYW5zZm9ybSh0b1RyYW5zZm9ybSkge1xuICAgICAgICAvLyBVc2UgdGhlIHByZXZpb3VzIHJhd0RhdGFcbiAgICAgICAgY29uc3QgcmF3RGF0YSA9IHRoaXMuWDtcbiAgICAgICAgaWYgKHJhd0RhdGEgPT09IHVuZGVmaW5lZCB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBkYXRhIGhhcyBiZWVuIGZpdC4nKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbk5laWdoYm9ycyA9IE1hdGguZmxvb3IodGhpcy5uTmVpZ2hib3JzICogdGhpcy50cmFuc2Zvcm1RdWV1ZVNpemUpO1xuICAgICAgICBuTmVpZ2hib3JzID0gTWF0aC5taW4ocmF3RGF0YS5sZW5ndGgsIG5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCBpbml0ID0gbm5EZXNjZW50LmluaXRpYWxpemVTZWFyY2godGhpcy5ycEZvcmVzdCwgcmF3RGF0YSwgdG9UcmFuc2Zvcm0sIG5OZWlnaGJvcnMsIHRoaXMuaW5pdEZyb21SYW5kb20sIHRoaXMuaW5pdEZyb21UcmVlLCB0aGlzLnJhbmRvbSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2VhcmNoKHJhd0RhdGEsIHRoaXMuc2VhcmNoR3JhcGgsIGluaXQsIHRvVHJhbnNmb3JtKTtcbiAgICAgICAgbGV0IHsgaW5kaWNlcywgd2VpZ2h0czogZGlzdGFuY2VzIH0gPSBoZWFwLmRlaGVhcFNvcnQocmVzdWx0KTtcbiAgICAgICAgaW5kaWNlcyA9IGluZGljZXMubWFwKHggPT4geC5zbGljZSgwLCB0aGlzLm5OZWlnaGJvcnMpKTtcbiAgICAgICAgZGlzdGFuY2VzID0gZGlzdGFuY2VzLm1hcCh4ID0+IHguc2xpY2UoMCwgdGhpcy5uTmVpZ2hib3JzKSk7XG4gICAgICAgIGNvbnN0IGFkanVzdGVkTG9jYWxDb25uZWN0aXZpdHkgPSBNYXRoLm1heCgwLCB0aGlzLmxvY2FsQ29ubmVjdGl2aXR5IC0gMSk7XG4gICAgICAgIGNvbnN0IHsgc2lnbWFzLCByaG9zIH0gPSB0aGlzLnNtb290aEtOTkRpc3RhbmNlKGRpc3RhbmNlcywgdGhpcy5uTmVpZ2hib3JzLCBhZGp1c3RlZExvY2FsQ29ubmVjdGl2aXR5KTtcbiAgICAgICAgY29uc3QgeyByb3dzLCBjb2xzLCB2YWxzIH0gPSB0aGlzLmNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKGluZGljZXMsIGRpc3RhbmNlcywgc2lnbWFzLCByaG9zKTtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IFt0b1RyYW5zZm9ybS5sZW5ndGgsIHJhd0RhdGEubGVuZ3RoXTtcbiAgICAgICAgbGV0IGdyYXBoID0gbmV3IG1hdHJpeC5TcGFyc2VNYXRyaXgocm93cywgY29scywgdmFscywgc2l6ZSk7XG4gICAgICAgIC8vIFRoaXMgd2FzIGEgdmVyeSBzcGVjaWFsbHkgY29uc3RydWN0ZWQgZ3JhcGggd2l0aCBjb25zdGFudCBkZWdyZWUuXG4gICAgICAgIC8vIFRoYXQgbGV0cyB1cyBkbyBmYW5jeSB1bnBhY2tpbmcgYnkgcmVzaGFwaW5nIHRoZSBjc3IgbWF0cml4IGluZGljZXNcbiAgICAgICAgLy8gYW5kIGRhdGEuIERvaW5nIHNvIHJlbGllcyBvbiB0aGUgY29uc3RhbnQgZGVncmVlIGFzc3VtcHRpb24hXG4gICAgICAgIGNvbnN0IG5vcm1lZCA9IG1hdHJpeC5ub3JtYWxpemUoZ3JhcGgsIFwibDFcIiAvKiBtYXRyaXguTm9ybVR5cGUubDEgKi8pO1xuICAgICAgICBjb25zdCBjc3JNYXRyaXggPSBtYXRyaXguZ2V0Q1NSKG5vcm1lZCk7XG4gICAgICAgIGNvbnN0IG5Qb2ludHMgPSB0b1RyYW5zZm9ybS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGVJbmRpY2VzID0gdXRpbHMucmVzaGFwZTJkKGNzck1hdHJpeC5pbmRpY2VzLCBuUG9pbnRzLCB0aGlzLm5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCBlV2VpZ2h0cyA9IHV0aWxzLnJlc2hhcGUyZChjc3JNYXRyaXgudmFsdWVzLCBuUG9pbnRzLCB0aGlzLm5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCBlbWJlZGRpbmcgPSBpbml0VHJhbnNmb3JtKGVJbmRpY2VzLCBlV2VpZ2h0cywgdGhpcy5lbWJlZGRpbmcpO1xuICAgICAgICBjb25zdCBuRXBvY2hzID0gdGhpcy5uRXBvY2hzXG4gICAgICAgICAgICA/IHRoaXMubkVwb2NocyAvIDNcbiAgICAgICAgICAgIDogZ3JhcGgublJvd3MgPD0gMTAwMDBcbiAgICAgICAgICAgICAgICA/IDEwMFxuICAgICAgICAgICAgICAgIDogMzA7XG4gICAgICAgIGNvbnN0IGdyYXBoTWF4ID0gZ3JhcGhcbiAgICAgICAgICAgIC5nZXRWYWx1ZXMoKVxuICAgICAgICAgICAgLnJlZHVjZSgobWF4LCB2YWwpID0+ICh2YWwgPiBtYXggPyB2YWwgOiBtYXgpLCAwKTtcbiAgICAgICAgZ3JhcGggPSBncmFwaC5tYXAodmFsdWUgPT4gKHZhbHVlIDwgZ3JhcGhNYXggLyBuRXBvY2hzID8gMCA6IHZhbHVlKSk7XG4gICAgICAgIGdyYXBoID0gbWF0cml4LmVsaW1pbmF0ZVplcm9zKGdyYXBoKTtcbiAgICAgICAgY29uc3QgZXBvY2hzUGVyU2FtcGxlID0gdGhpcy5tYWtlRXBvY2hzUGVyU2FtcGxlKGdyYXBoLmdldFZhbHVlcygpLCBuRXBvY2hzKTtcbiAgICAgICAgY29uc3QgaGVhZCA9IGdyYXBoLmdldFJvd3MoKTtcbiAgICAgICAgY29uc3QgdGFpbCA9IGdyYXBoLmdldENvbHMoKTtcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBvcHRpbWl6YXRpb24gc2xpZ2h0bHkgZGlmZmVyZW50bHkgdGhhbiB0aGUgZml0IG1ldGhvZC5cbiAgICAgICAgdGhpcy5hc3NpZ25PcHRpbWl6YXRpb25TdGF0ZVBhcmFtZXRlcnMoe1xuICAgICAgICAgICAgaGVhZEVtYmVkZGluZzogZW1iZWRkaW5nLFxuICAgICAgICAgICAgdGFpbEVtYmVkZGluZzogdGhpcy5lbWJlZGRpbmcsXG4gICAgICAgICAgICBoZWFkLFxuICAgICAgICAgICAgdGFpbCxcbiAgICAgICAgICAgIGN1cnJlbnRFcG9jaDogMCxcbiAgICAgICAgICAgIG5FcG9jaHMsXG4gICAgICAgICAgICBuVmVydGljZXM6IGdyYXBoLmdldERpbXMoKVsxXSxcbiAgICAgICAgICAgIGVwb2Noc1BlclNhbXBsZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucHJlcGFyZUZvck9wdGltaXphdGlvbkxvb3AoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW1pemVMYXlvdXQoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHdlJ3JlIHVzaW5nIHN1cGVydmlzZWQgcHJvamVjdGlvbiwgdGhlbiBwcm9jZXNzIHRoZSBncmFwaFxuICAgICAqIGFjY29yZGluZ2x5LlxuICAgICAqL1xuICAgIHByb2Nlc3NHcmFwaEZvclN1cGVydmlzZWRQcm9qZWN0aW9uKCkge1xuICAgICAgICBjb25zdCB7IFksIFggfSA9IHRoaXM7XG4gICAgICAgIGlmIChZKSB7XG4gICAgICAgICAgICBpZiAoWS5sZW5ndGggIT09IFgubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdMZW5ndGggb2YgWCBhbmQgeSBtdXN0IGJlIGVxdWFsJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy50YXJnZXRNZXRyaWMgPT09IFwiY2F0ZWdvcmljYWxcIiAvKiBUYXJnZXRNZXRyaWMuY2F0ZWdvcmljYWwgKi8pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsdCA9IHRoaXMudGFyZ2V0V2VpZ2h0IDwgMS4wO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZhckRpc3QgPSBsdCA/IDIuNSAqICgxLjAgLyAoMS4wIC0gdGhpcy50YXJnZXRXZWlnaHQpKSA6IDEuMGUxMjtcbiAgICAgICAgICAgICAgICB0aGlzLmdyYXBoID0gdGhpcy5jYXRlZ29yaWNhbFNpbXBsaWNpYWxTZXRJbnRlcnNlY3Rpb24odGhpcy5ncmFwaCwgWSwgZmFyRGlzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUT0RPIChhbmR5Y29lbmVuQCk6IGFkZCBub24tY2F0ZWdvcmljYWwgc3VwZXJ2aXNlZCBlbWJlZGRpbmdzLlxuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1hbnVhbGx5IHN0ZXAgdGhyb3VnaCB0aGUgb3B0aW1pemF0aW9uIHByb2Nlc3Mgb25lIGVwb2NoIGF0IGEgdGltZS5cbiAgICAgKi9cbiAgICBzdGVwKCkge1xuICAgICAgICBjb25zdCB7IGN1cnJlbnRFcG9jaCB9ID0gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZTtcbiAgICAgICAgaWYgKGN1cnJlbnRFcG9jaCA8IHRoaXMuZ2V0TkVwb2NocygpKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGltaXplTGF5b3V0U3RlcChjdXJyZW50RXBvY2gpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY29tcHV0ZWQgcHJvamVjdGVkIGVtYmVkZGluZy5cbiAgICAgKi9cbiAgICBnZXRFbWJlZGRpbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVtYmVkZGluZztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tcHV0ZSB0aGUgYGBuTmVpZ2hib3JzYGAgbmVhcmVzdCBwb2ludHMgZm9yIGVhY2ggZGF0YSBwb2ludCBpbiBgYFhgYFxuICAgICAqIFRoaXMgbWF5IGJlIGV4YWN0LCBidXQgbW9yZSBsaWtlbHkgaXMgYXBwcm94aW1hdGVkIHZpYSBuZWFyZXN0IG5laWdoYm9yXG4gICAgICogZGVzY2VudC5cbiAgICAgKi9cbiAgICBuZWFyZXN0TmVpZ2hib3JzKFgpIHtcbiAgICAgICAgY29uc3QgeyBkaXN0YW5jZUZuLCBuTmVpZ2hib3JzIH0gPSB0aGlzO1xuICAgICAgICBjb25zdCBsb2cyID0gKG4pID0+IE1hdGgubG9nKG4pIC8gTWF0aC5sb2coMik7XG4gICAgICAgIGNvbnN0IG1ldHJpY05ORGVzY2VudCA9IG5uRGVzY2VudC5tYWtlTk5EZXNjZW50KGRpc3RhbmNlRm4sIHRoaXMucmFuZG9tKTtcbiAgICAgICAgLy8gSGFuZGxlIHB5dGhvbjMgcm91bmRpbmcgZG93biBmcm9tIDAuNSBkaXNjcnBhbmN5XG4gICAgICAgIGNvbnN0IHJvdW5kID0gKG4pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuID09PSAwLjUgPyAwIDogTWF0aC5yb3VuZChuKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgblRyZWVzID0gNSArIE1hdGguZmxvb3Iocm91bmQoWC5sZW5ndGggKiogMC41IC8gMjAuMCkpO1xuICAgICAgICBjb25zdCBuSXRlcnMgPSBNYXRoLm1heCg1LCBNYXRoLmZsb29yKE1hdGgucm91bmQobG9nMihYLmxlbmd0aCkpKSk7XG4gICAgICAgIHRoaXMucnBGb3Jlc3QgPSB0cmVlLm1ha2VGb3Jlc3QoWCwgbk5laWdoYm9ycywgblRyZWVzLCB0aGlzLnJhbmRvbSk7XG4gICAgICAgIGNvbnN0IGxlYWZBcnJheSA9IHRyZWUubWFrZUxlYWZBcnJheSh0aGlzLnJwRm9yZXN0KTtcbiAgICAgICAgY29uc3QgeyBpbmRpY2VzLCB3ZWlnaHRzIH0gPSBtZXRyaWNOTkRlc2NlbnQoWCwgbGVhZkFycmF5LCBuTmVpZ2hib3JzLCBuSXRlcnMpO1xuICAgICAgICByZXR1cm4geyBrbm5JbmRpY2VzOiBpbmRpY2VzLCBrbm5EaXN0YW5jZXM6IHdlaWdodHMgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2l2ZW4gYSBzZXQgb2YgZGF0YSBYLCBhIG5laWdoYm9yaG9vZCBzaXplLCBhbmQgYSBtZWFzdXJlIG9mIGRpc3RhbmNlXG4gICAgICogY29tcHV0ZSB0aGUgZnV6enkgc2ltcGxpY2lhbCBzZXQgKGhlcmUgcmVwcmVzZW50ZWQgYXMgYSBmdXp6eSBncmFwaCBpblxuICAgICAqIHRoZSBmb3JtIG9mIGEgc3BhcnNlIG1hdHJpeCkgYXNzb2NpYXRlZCB0byB0aGUgZGF0YS4gVGhpcyBpcyBkb25lIGJ5XG4gICAgICogbG9jYWxseSBhcHByb3hpbWF0aW5nIGdlb2Rlc2ljIGRpc3RhbmNlIGF0IGVhY2ggcG9pbnQsIGNyZWF0aW5nIGEgZnV6enlcbiAgICAgKiBzaW1wbGljaWFsIHNldCBmb3IgZWFjaCBzdWNoIHBvaW50LCBhbmQgdGhlbiBjb21iaW5pbmcgYWxsIHRoZSBsb2NhbFxuICAgICAqIGZ1enp5IHNpbXBsaWNpYWwgc2V0cyBpbnRvIGEgZ2xvYmFsIG9uZSB2aWEgYSBmdXp6eSB1bmlvbi5cbiAgICAgKi9cbiAgICBmdXp6eVNpbXBsaWNpYWxTZXQoWCwgbk5laWdoYm9ycywgc2V0T3BNaXhSYXRpbyA9IDEuMCkge1xuICAgICAgICBjb25zdCB7IGtubkluZGljZXMgPSBbXSwga25uRGlzdGFuY2VzID0gW10sIGxvY2FsQ29ubmVjdGl2aXR5IH0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7IHNpZ21hcywgcmhvcyB9ID0gdGhpcy5zbW9vdGhLTk5EaXN0YW5jZShrbm5EaXN0YW5jZXMsIG5OZWlnaGJvcnMsIGxvY2FsQ29ubmVjdGl2aXR5KTtcbiAgICAgICAgY29uc3QgeyByb3dzLCBjb2xzLCB2YWxzIH0gPSB0aGlzLmNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKGtubkluZGljZXMsIGtubkRpc3RhbmNlcywgc2lnbWFzLCByaG9zKTtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IFtYLmxlbmd0aCwgWC5sZW5ndGhdO1xuICAgICAgICBjb25zdCBzcGFyc2VNYXRyaXggPSBuZXcgbWF0cml4LlNwYXJzZU1hdHJpeChyb3dzLCBjb2xzLCB2YWxzLCBzaXplKTtcbiAgICAgICAgY29uc3QgdHJhbnNwb3NlID0gbWF0cml4LnRyYW5zcG9zZShzcGFyc2VNYXRyaXgpO1xuICAgICAgICBjb25zdCBwcm9kTWF0cml4ID0gbWF0cml4LnBhaXJ3aXNlTXVsdGlwbHkoc3BhcnNlTWF0cml4LCB0cmFuc3Bvc2UpO1xuICAgICAgICBjb25zdCBhID0gbWF0cml4LnN1YnRyYWN0KG1hdHJpeC5hZGQoc3BhcnNlTWF0cml4LCB0cmFuc3Bvc2UpLCBwcm9kTWF0cml4KTtcbiAgICAgICAgY29uc3QgYiA9IG1hdHJpeC5tdWx0aXBseVNjYWxhcihhLCBzZXRPcE1peFJhdGlvKTtcbiAgICAgICAgY29uc3QgYyA9IG1hdHJpeC5tdWx0aXBseVNjYWxhcihwcm9kTWF0cml4LCAxLjAgLSBzZXRPcE1peFJhdGlvKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbWF0cml4LmFkZChiLCBjKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tYmluZSBhIGZ1enp5IHNpbXBsaWNpYWwgc2V0IHdpdGggYW5vdGhlciBmdXp6eSBzaW1wbGljaWFsIHNldFxuICAgICAqIGdlbmVyYXRlZCBmcm9tIGNhdGVnb3JpY2FsIGRhdGEgdXNpbmcgY2F0ZWdvcmljYWwgZGlzdGFuY2VzLiBUaGUgdGFyZ2V0XG4gICAgICogZGF0YSBpcyBhc3N1bWVkIHRvIGJlIGNhdGVnb3JpY2FsIGxhYmVsIGRhdGEgKGEgdmVjdG9yIG9mIGxhYmVscyksXG4gICAgICogYW5kIHRoaXMgd2lsbCB1cGRhdGUgdGhlIGZ1enp5IHNpbXBsaWNpYWwgc2V0IHRvIHJlc3BlY3QgdGhhdCBsYWJlbCBkYXRhLlxuICAgICAqL1xuICAgIGNhdGVnb3JpY2FsU2ltcGxpY2lhbFNldEludGVyc2VjdGlvbihzaW1wbGljaWFsU2V0LCB0YXJnZXQsIGZhckRpc3QsIHVua25vd25EaXN0ID0gMS4wKSB7XG4gICAgICAgIGxldCBpbnRlcnNlY3Rpb24gPSBmYXN0SW50ZXJzZWN0aW9uKHNpbXBsaWNpYWxTZXQsIHRhcmdldCwgdW5rbm93bkRpc3QsIGZhckRpc3QpO1xuICAgICAgICBpbnRlcnNlY3Rpb24gPSBtYXRyaXguZWxpbWluYXRlWmVyb3MoaW50ZXJzZWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIHJlc2V0TG9jYWxDb25uZWN0aXZpdHkoaW50ZXJzZWN0aW9uKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tcHV0ZSBhIGNvbnRpbnVvdXMgdmVyc2lvbiBvZiB0aGUgZGlzdGFuY2UgdG8gdGhlIGt0aCBuZWFyZXN0XG4gICAgICogbmVpZ2hib3IuIFRoYXQgaXMsIHRoaXMgaXMgc2ltaWxhciB0byBrbm4tZGlzdGFuY2UgYnV0IGFsbG93cyBjb250aW51b3VzXG4gICAgICogayB2YWx1ZXMgcmF0aGVyIHRoYW4gcmVxdWlyaW5nIGFuIGludGVncmFsIGsuIEluIGVzc2NlbmNlIHdlIGFyZSBzaW1wbHlcbiAgICAgKiBjb21wdXRpbmcgdGhlIGRpc3RhbmNlIHN1Y2ggdGhhdCB0aGUgY2FyZGluYWxpdHkgb2YgZnV6enkgc2V0IHdlIGdlbmVyYXRlXG4gICAgICogaXMgay5cbiAgICAgKi9cbiAgICBzbW9vdGhLTk5EaXN0YW5jZShkaXN0YW5jZXMsIGssIGxvY2FsQ29ubmVjdGl2aXR5ID0gMS4wLCBuSXRlciA9IDY0LCBiYW5kd2lkdGggPSAxLjApIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gKE1hdGgubG9nKGspIC8gTWF0aC5sb2coMikpICogYmFuZHdpZHRoO1xuICAgICAgICBjb25zdCByaG8gPSB1dGlscy56ZXJvcyhkaXN0YW5jZXMubGVuZ3RoKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuemVyb3MoZGlzdGFuY2VzLmxlbmd0aCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlzdGFuY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgbG8gPSAwLjA7XG4gICAgICAgICAgICBsZXQgaGkgPSBJbmZpbml0eTtcbiAgICAgICAgICAgIGxldCBtaWQgPSAxLjA7XG4gICAgICAgICAgICAvLyBUT0RPOiBUaGlzIGlzIHZlcnkgaW5lZmZpY2llbnQsIGJ1dCB3aWxsIGRvIGZvciBub3cuIEZJWE1FXG4gICAgICAgICAgICBjb25zdCBpdGhEaXN0YW5jZXMgPSBkaXN0YW5jZXNbaV07XG4gICAgICAgICAgICBjb25zdCBub25aZXJvRGlzdHMgPSBpdGhEaXN0YW5jZXMuZmlsdGVyKGQgPT4gZCA+IDAuMCk7XG4gICAgICAgICAgICBpZiAobm9uWmVyb0Rpc3RzLmxlbmd0aCA+PSBsb2NhbENvbm5lY3Rpdml0eSkge1xuICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IE1hdGguZmxvb3IobG9jYWxDb25uZWN0aXZpdHkpO1xuICAgICAgICAgICAgICAgIGxldCBpbnRlcnBvbGF0aW9uID0gbG9jYWxDb25uZWN0aXZpdHkgLSBpbmRleDtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJob1tpXSA9IG5vblplcm9EaXN0c1tpbmRleCAtIDFdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW50ZXJwb2xhdGlvbiA+IFNNT09USF9LX1RPTEVSQU5DRSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmhvW2ldICs9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwb2xhdGlvbiAqIChub25aZXJvRGlzdHNbaW5kZXhdIC0gbm9uWmVyb0Rpc3RzW2luZGV4IC0gMV0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByaG9baV0gPSBpbnRlcnBvbGF0aW9uICogbm9uWmVyb0Rpc3RzWzBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKG5vblplcm9EaXN0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmhvW2ldID0gdXRpbHMubWF4KG5vblplcm9EaXN0cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGxldCBuID0gMDsgbiA8IG5JdGVyOyBuKyspIHtcbiAgICAgICAgICAgICAgICBsZXQgcHN1bSA9IDAuMDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMTsgaiA8IGRpc3RhbmNlc1tpXS5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkID0gZGlzdGFuY2VzW2ldW2pdIC0gcmhvW2ldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBzdW0gKz0gTWF0aC5leHAoLShkIC8gbWlkKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwc3VtICs9IDEuMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMocHN1bSAtIHRhcmdldCkgPCBTTU9PVEhfS19UT0xFUkFOQ0UpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwc3VtID4gdGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIGhpID0gbWlkO1xuICAgICAgICAgICAgICAgICAgICBtaWQgPSAobG8gKyBoaSkgLyAyLjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsbyA9IG1pZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhpID09PSBJbmZpbml0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWlkICo9IDI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaWQgPSAobG8gKyBoaSkgLyAyLjA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXN1bHRbaV0gPSBtaWQ7XG4gICAgICAgICAgICAvLyBUT0RPOiBUaGlzIGlzIHZlcnkgaW5lZmZpY2llbnQsIGJ1dCB3aWxsIGRvIGZvciBub3cuIEZJWE1FXG4gICAgICAgICAgICBpZiAocmhvW2ldID4gMC4wKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVhbkl0aERpc3RhbmNlcyA9IHV0aWxzLm1lYW4oaXRoRGlzdGFuY2VzKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0W2ldIDwgTUlOX0tfRElTVF9TQ0FMRSAqIG1lYW5JdGhEaXN0YW5jZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2ldID0gTUlOX0tfRElTVF9TQ0FMRSAqIG1lYW5JdGhEaXN0YW5jZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVhbkRpc3RhbmNlcyA9IHV0aWxzLm1lYW4oZGlzdGFuY2VzLm1hcCh1dGlscy5tZWFuKSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtpXSA8IE1JTl9LX0RJU1RfU0NBTEUgKiBtZWFuRGlzdGFuY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtpXSA9IE1JTl9LX0RJU1RfU0NBTEUgKiBtZWFuRGlzdGFuY2VzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBzaWdtYXM6IHJlc3VsdCwgcmhvczogcmhvIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdCB0aGUgbWVtYmVyc2hpcCBzdHJlbmd0aCBkYXRhIGZvciB0aGUgMS1za2VsZXRvbiBvZiBlYWNoIGxvY2FsXG4gICAgICogZnV6enkgc2ltcGxpY2lhbCBzZXQgLS0gdGhpcyBpcyBmb3JtZWQgYXMgYSBzcGFyc2UgbWF0cml4IHdoZXJlIGVhY2ggcm93IGlzXG4gICAgICogYSBsb2NhbCBmdXp6eSBzaW1wbGljaWFsIHNldCwgd2l0aCBhIG1lbWJlcnNoaXAgc3RyZW5ndGggZm9yIHRoZVxuICAgICAqIDEtc2ltcGxleCB0byBlYWNoIG90aGVyIGRhdGEgcG9pbnQuXG4gICAgICovXG4gICAgY29tcHV0ZU1lbWJlcnNoaXBTdHJlbmd0aHMoa25uSW5kaWNlcywga25uRGlzdGFuY2VzLCBzaWdtYXMsIHJob3MpIHtcbiAgICAgICAgY29uc3QgblNhbXBsZXMgPSBrbm5JbmRpY2VzLmxlbmd0aDtcbiAgICAgICAgY29uc3Qgbk5laWdoYm9ycyA9IGtubkluZGljZXNbMF0ubGVuZ3RoO1xuICAgICAgICBjb25zdCByb3dzID0gdXRpbHMuemVyb3MoblNhbXBsZXMgKiBuTmVpZ2hib3JzKTtcbiAgICAgICAgY29uc3QgY29scyA9IHV0aWxzLnplcm9zKG5TYW1wbGVzICogbk5laWdoYm9ycyk7XG4gICAgICAgIGNvbnN0IHZhbHMgPSB1dGlscy56ZXJvcyhuU2FtcGxlcyAqIG5OZWlnaGJvcnMpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5TYW1wbGVzOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgbk5laWdoYm9yczsgaisrKSB7XG4gICAgICAgICAgICAgICAgbGV0IHZhbCA9IDA7XG4gICAgICAgICAgICAgICAgaWYgKGtubkluZGljZXNbaV1bal0gPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBXZSBkaWRuJ3QgZ2V0IHRoZSBmdWxsIGtubiBmb3IgaVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoa25uSW5kaWNlc1tpXVtqXSA9PT0gaSkge1xuICAgICAgICAgICAgICAgICAgICB2YWwgPSAwLjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGtubkRpc3RhbmNlc1tpXVtqXSAtIHJob3NbaV0gPD0gMC4wKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbCA9IDEuMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbCA9IE1hdGguZXhwKC0oKGtubkRpc3RhbmNlc1tpXVtqXSAtIHJob3NbaV0pIC8gc2lnbWFzW2ldKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJvd3NbaSAqIG5OZWlnaGJvcnMgKyBqXSA9IGk7XG4gICAgICAgICAgICAgICAgY29sc1tpICogbk5laWdoYm9ycyArIGpdID0ga25uSW5kaWNlc1tpXVtqXTtcbiAgICAgICAgICAgICAgICB2YWxzW2kgKiBuTmVpZ2hib3JzICsgal0gPSB2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgcm93cywgY29scywgdmFscyB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplIGEgZnV6enkgc2ltcGxpY2lhbCBzZXQgZW1iZWRkaW5nLCB1c2luZyBhIHNwZWNpZmllZFxuICAgICAqIGluaXRpYWxpc2F0aW9uIG1ldGhvZCBhbmQgdGhlbiBtaW5pbWl6aW5nIHRoZSBmdXp6eSBzZXQgY3Jvc3MgZW50cm9weVxuICAgICAqIGJldHdlZW4gdGhlIDEtc2tlbGV0b25zIG9mIHRoZSBoaWdoIGFuZCBsb3cgZGltZW5zaW9uYWwgZnV6enkgc2ltcGxpY2lhbFxuICAgICAqIHNldHMuXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZVNpbXBsaWNpYWxTZXRFbWJlZGRpbmcoKSB7XG4gICAgICAgIGNvbnN0IG5FcG9jaHMgPSB0aGlzLmdldE5FcG9jaHMoKTtcbiAgICAgICAgY29uc3QgeyBuQ29tcG9uZW50cyB9ID0gdGhpcztcbiAgICAgICAgY29uc3QgZ3JhcGhWYWx1ZXMgPSB0aGlzLmdyYXBoLmdldFZhbHVlcygpO1xuICAgICAgICBsZXQgZ3JhcGhNYXggPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyYXBoVmFsdWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdyYXBoVmFsdWVzW2ldO1xuICAgICAgICAgICAgaWYgKGdyYXBoTWF4IDwgZ3JhcGhWYWx1ZXNbaV0pIHtcbiAgICAgICAgICAgICAgICBncmFwaE1heCA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGdyYXBoID0gdGhpcy5ncmFwaC5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlIDwgZ3JhcGhNYXggLyBuRXBvY2hzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBXZSdyZSBub3QgY29tcHV0aW5nIHRoZSBzcGVjdHJhbCBpbml0aWFsaXphdGlvbiBpbiB0aGlzIGltcGxlbWVudGF0aW9uXG4gICAgICAgIC8vIHVudGlsIHdlIGRldGVybWluZSBhIGJldHRlciBlaWdlbnZhbHVlL2VpZ2VudmVjdG9yIGNvbXB1dGF0aW9uXG4gICAgICAgIC8vIGFwcHJvYWNoXG4gICAgICAgIHRoaXMuZW1iZWRkaW5nID0gdXRpbHMuemVyb3MoZ3JhcGgublJvd3MpLm1hcCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdXRpbHMuemVyb3MobkNvbXBvbmVudHMpLm1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHV0aWxzLnRhdVJhbmQodGhpcy5yYW5kb20pICogMjAgKyAtMTA7IC8vIFJhbmRvbSBmcm9tIC0xMCB0byAxMFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBHZXQgZ3JhcGggZGF0YSBpbiBvcmRlcmVkIHdheS4uLlxuICAgICAgICBjb25zdCB3ZWlnaHRzID0gW107XG4gICAgICAgIGNvbnN0IGhlYWQgPSBbXTtcbiAgICAgICAgY29uc3QgdGFpbCA9IFtdO1xuICAgICAgICBjb25zdCByb3dDb2xWYWx1ZXMgPSBncmFwaC5nZXRBbGwoKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dDb2xWYWx1ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGVudHJ5ID0gcm93Q29sVmFsdWVzW2ldO1xuICAgICAgICAgICAgaWYgKGVudHJ5LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgd2VpZ2h0cy5wdXNoKGVudHJ5LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB0YWlsLnB1c2goZW50cnkucm93KTtcbiAgICAgICAgICAgICAgICBoZWFkLnB1c2goZW50cnkuY29sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlcG9jaHNQZXJTYW1wbGUgPSB0aGlzLm1ha2VFcG9jaHNQZXJTYW1wbGUod2VpZ2h0cywgbkVwb2Nocyk7XG4gICAgICAgIHJldHVybiB7IGhlYWQsIHRhaWwsIGVwb2Noc1BlclNhbXBsZSB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHaXZlbiBhIHNldCBvZiB3ZWlnaHRzIGFuZCBudW1iZXIgb2YgZXBvY2hzIGdlbmVyYXRlIHRoZSBudW1iZXIgb2ZcbiAgICAgKiBlcG9jaHMgcGVyIHNhbXBsZSBmb3IgZWFjaCB3ZWlnaHQuXG4gICAgICovXG4gICAgbWFrZUVwb2Noc1BlclNhbXBsZSh3ZWlnaHRzLCBuRXBvY2hzKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmZpbGxlZCh3ZWlnaHRzLmxlbmd0aCwgLTEuMCk7XG4gICAgICAgIGNvbnN0IG1heCA9IHV0aWxzLm1heCh3ZWlnaHRzKTtcbiAgICAgICAgY29uc3QgblNhbXBsZXMgPSB3ZWlnaHRzLm1hcCh3ID0+ICh3IC8gbWF4KSAqIG5FcG9jaHMpO1xuICAgICAgICBuU2FtcGxlcy5mb3JFYWNoKChuLCBpKSA9PiB7XG4gICAgICAgICAgICBpZiAobiA+IDApXG4gICAgICAgICAgICAgICAgcmVzdWx0W2ldID0gbkVwb2NocyAvIG5TYW1wbGVzW2ldO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQXNzaWducyBvcHRpbWl6YXRpb24gc3RhdGUgcGFyYW1ldGVycyBmcm9tIGEgcGFydGlhbCBvcHRpbWl6YXRpb24gc3RhdGUuXG4gICAgICovXG4gICAgYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzKHN0YXRlKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5vcHRpbWl6YXRpb25TdGF0ZSwgc3RhdGUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgZmV3IG9wdGltaXphdGlvbiBzdGF0ZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIG5lY2Vzc2FyeSBiZWZvcmUgZW50ZXJpbmdcbiAgICAgKiB0aGUgb3B0aW1pemF0aW9uIHN0ZXAgbG9vcC5cbiAgICAgKi9cbiAgICBwcmVwYXJlRm9yT3B0aW1pemF0aW9uTG9vcCgpIHtcbiAgICAgICAgLy8gSHlwZXJwYXJhbWV0ZXJzXG4gICAgICAgIGNvbnN0IHsgcmVwdWxzaW9uU3RyZW5ndGgsIGxlYXJuaW5nUmF0ZSwgbmVnYXRpdmVTYW1wbGVSYXRlIH0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7IGVwb2Noc1BlclNhbXBsZSwgaGVhZEVtYmVkZGluZywgdGFpbEVtYmVkZGluZywgfSA9IHRoaXMub3B0aW1pemF0aW9uU3RhdGU7XG4gICAgICAgIGNvbnN0IGRpbSA9IGhlYWRFbWJlZGRpbmdbMF0ubGVuZ3RoO1xuICAgICAgICBjb25zdCBtb3ZlT3RoZXIgPSBoZWFkRW1iZWRkaW5nLmxlbmd0aCA9PT0gdGFpbEVtYmVkZGluZy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlID0gZXBvY2hzUGVyU2FtcGxlLm1hcChlID0+IGUgLyBuZWdhdGl2ZVNhbXBsZVJhdGUpO1xuICAgICAgICBjb25zdCBlcG9jaE9mTmV4dE5lZ2F0aXZlU2FtcGxlID0gWy4uLmVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlXTtcbiAgICAgICAgY29uc3QgZXBvY2hPZk5leHRTYW1wbGUgPSBbLi4uZXBvY2hzUGVyU2FtcGxlXTtcbiAgICAgICAgdGhpcy5hc3NpZ25PcHRpbWl6YXRpb25TdGF0ZVBhcmFtZXRlcnMoe1xuICAgICAgICAgICAgZXBvY2hPZk5leHRTYW1wbGUsXG4gICAgICAgICAgICBlcG9jaE9mTmV4dE5lZ2F0aXZlU2FtcGxlLFxuICAgICAgICAgICAgZXBvY2hzUGVyTmVnYXRpdmVTYW1wbGUsXG4gICAgICAgICAgICBtb3ZlT3RoZXIsXG4gICAgICAgICAgICBpbml0aWFsQWxwaGE6IGxlYXJuaW5nUmF0ZSxcbiAgICAgICAgICAgIGFscGhhOiBsZWFybmluZ1JhdGUsXG4gICAgICAgICAgICBnYW1tYTogcmVwdWxzaW9uU3RyZW5ndGgsXG4gICAgICAgICAgICBkaW0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBvcHRpbWl6YXRpb24gc3RhdGUgZm9yIHN0ZXB3aXNlIG9wdGltaXphdGlvbi5cbiAgICAgKi9cbiAgICBpbml0aWFsaXplT3B0aW1pemF0aW9uKCkge1xuICAgICAgICAvLyBBbGdvcml0aG0gc3RhdGVcbiAgICAgICAgY29uc3QgaGVhZEVtYmVkZGluZyA9IHRoaXMuZW1iZWRkaW5nO1xuICAgICAgICBjb25zdCB0YWlsRW1iZWRkaW5nID0gdGhpcy5lbWJlZGRpbmc7XG4gICAgICAgIC8vIEluaXRpYWxpemVkIGluIGluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nKClcbiAgICAgICAgY29uc3QgeyBoZWFkLCB0YWlsLCBlcG9jaHNQZXJTYW1wbGUgfSA9IHRoaXMub3B0aW1pemF0aW9uU3RhdGU7XG4gICAgICAgIGNvbnN0IG5FcG9jaHMgPSB0aGlzLmdldE5FcG9jaHMoKTtcbiAgICAgICAgY29uc3QgblZlcnRpY2VzID0gdGhpcy5ncmFwaC5uQ29scztcbiAgICAgICAgY29uc3QgeyBhLCBiIH0gPSBmaW5kQUJQYXJhbXModGhpcy5zcHJlYWQsIHRoaXMubWluRGlzdCk7XG4gICAgICAgIHRoaXMuYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzKHtcbiAgICAgICAgICAgIGhlYWRFbWJlZGRpbmcsXG4gICAgICAgICAgICB0YWlsRW1iZWRkaW5nLFxuICAgICAgICAgICAgaGVhZCxcbiAgICAgICAgICAgIHRhaWwsXG4gICAgICAgICAgICBlcG9jaHNQZXJTYW1wbGUsXG4gICAgICAgICAgICBhLFxuICAgICAgICAgICAgYixcbiAgICAgICAgICAgIG5FcG9jaHMsXG4gICAgICAgICAgICBuVmVydGljZXMsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbXByb3ZlIGFuIGVtYmVkZGluZyB1c2luZyBzdG9jaGFzdGljIGdyYWRpZW50IGRlc2NlbnQgdG8gbWluaW1pemUgdGhlXG4gICAgICogZnV6enkgc2V0IGNyb3NzIGVudHJvcHkgYmV0d2VlbiB0aGUgMS1za2VsZXRvbnMgb2YgdGhlIGhpZ2ggZGltZW5zaW9uYWxcbiAgICAgKiBhbmQgbG93IGRpbWVuc2lvbmFsIGZ1enp5IHNpbXBsaWNpYWwgc2V0cy4gSW4gcHJhY3RpY2UgdGhpcyBpcyBkb25lIGJ5XG4gICAgICogc2FtcGxpbmcgZWRnZXMgYmFzZWQgb24gdGhlaXIgbWVtYmVyc2hpcCBzdHJlbmd0aCAod2l0aCB0aGUgKDEtcCkgdGVybXNcbiAgICAgKiBjb21pbmcgZnJvbSBuZWdhdGl2ZSBzYW1wbGluZyBzaW1pbGFyIHRvIHdvcmQydmVjKS5cbiAgICAgKi9cbiAgICBvcHRpbWl6ZUxheW91dFN0ZXAobikge1xuICAgICAgICBjb25zdCB7IG9wdGltaXphdGlvblN0YXRlIH0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7IGhlYWQsIHRhaWwsIGhlYWRFbWJlZGRpbmcsIHRhaWxFbWJlZGRpbmcsIGVwb2Noc1BlclNhbXBsZSwgZXBvY2hPZk5leHRTYW1wbGUsIGVwb2NoT2ZOZXh0TmVnYXRpdmVTYW1wbGUsIGVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlLCBtb3ZlT3RoZXIsIGluaXRpYWxBbHBoYSwgYWxwaGEsIGdhbW1hLCBhLCBiLCBkaW0sIG5FcG9jaHMsIG5WZXJ0aWNlcywgfSA9IG9wdGltaXphdGlvblN0YXRlO1xuICAgICAgICBjb25zdCBjbGlwVmFsdWUgPSA0LjA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZXBvY2hzUGVyU2FtcGxlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZXBvY2hPZk5leHRTYW1wbGVbaV0gPiBuKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBqID0gaGVhZFtpXTtcbiAgICAgICAgICAgIGNvbnN0IGsgPSB0YWlsW2ldO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudCA9IGhlYWRFbWJlZGRpbmdbal07XG4gICAgICAgICAgICBjb25zdCBvdGhlciA9IHRhaWxFbWJlZGRpbmdba107XG4gICAgICAgICAgICBjb25zdCBkaXN0U3F1YXJlZCA9IHJEaXN0KGN1cnJlbnQsIG90aGVyKTtcbiAgICAgICAgICAgIGxldCBncmFkQ29lZmYgPSAwO1xuICAgICAgICAgICAgaWYgKGRpc3RTcXVhcmVkID4gMCkge1xuICAgICAgICAgICAgICAgIGdyYWRDb2VmZiA9IC0yLjAgKiBhICogYiAqIE1hdGgucG93KGRpc3RTcXVhcmVkLCBiIC0gMS4wKTtcbiAgICAgICAgICAgICAgICBncmFkQ29lZmYgLz0gYSAqIE1hdGgucG93KGRpc3RTcXVhcmVkLCBiKSArIDEuMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAobGV0IGQgPSAwOyBkIDwgZGltOyBkKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBncmFkRCA9IGNsaXAoZ3JhZENvZWZmICogKGN1cnJlbnRbZF0gLSBvdGhlcltkXSksIGNsaXBWYWx1ZSk7XG4gICAgICAgICAgICAgICAgY3VycmVudFtkXSArPSBncmFkRCAqIGFscGhhO1xuICAgICAgICAgICAgICAgIGlmIChtb3ZlT3RoZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgb3RoZXJbZF0gKz0gLWdyYWREICogYWxwaGE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXBvY2hPZk5leHRTYW1wbGVbaV0gKz0gZXBvY2hzUGVyU2FtcGxlW2ldO1xuICAgICAgICAgICAgY29uc3Qgbk5lZ1NhbXBsZXMgPSBNYXRoLmZsb29yKChuIC0gZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZVtpXSkgLyBlcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZVtpXSk7XG4gICAgICAgICAgICBmb3IgKGxldCBwID0gMDsgcCA8IG5OZWdTYW1wbGVzOyBwKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBrID0gdXRpbHMudGF1UmFuZEludChuVmVydGljZXMsIHRoaXMucmFuZG9tKTtcbiAgICAgICAgICAgICAgICBjb25zdCBvdGhlciA9IHRhaWxFbWJlZGRpbmdba107XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzdFNxdWFyZWQgPSByRGlzdChjdXJyZW50LCBvdGhlcik7XG4gICAgICAgICAgICAgICAgbGV0IGdyYWRDb2VmZiA9IDAuMDtcbiAgICAgICAgICAgICAgICBpZiAoZGlzdFNxdWFyZWQgPiAwLjApIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JhZENvZWZmID0gMi4wICogZ2FtbWEgKiBiO1xuICAgICAgICAgICAgICAgICAgICBncmFkQ29lZmYgLz1cbiAgICAgICAgICAgICAgICAgICAgICAgICgwLjAwMSArIGRpc3RTcXVhcmVkKSAqIChhICogTWF0aC5wb3coZGlzdFNxdWFyZWQsIGIpICsgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGogPT09IGspIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvciAobGV0IGQgPSAwOyBkIDwgZGltOyBkKyspIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGdyYWREID0gNC4wO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZ3JhZENvZWZmID4gMC4wKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmFkRCA9IGNsaXAoZ3JhZENvZWZmICogKGN1cnJlbnRbZF0gLSBvdGhlcltkXSksIGNsaXBWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFtkXSArPSBncmFkRCAqIGFscGhhO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVwb2NoT2ZOZXh0TmVnYXRpdmVTYW1wbGVbaV0gKz0gbk5lZ1NhbXBsZXMgKiBlcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZVtpXTtcbiAgICAgICAgfVxuICAgICAgICBvcHRpbWl6YXRpb25TdGF0ZS5hbHBoYSA9IGluaXRpYWxBbHBoYSAqICgxLjAgLSBuIC8gbkVwb2Nocyk7XG4gICAgICAgIG9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaCArPSAxO1xuICAgICAgICByZXR1cm4gaGVhZEVtYmVkZGluZztcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW1wcm92ZSBhbiBlbWJlZGRpbmcgdXNpbmcgc3RvY2hhc3RpYyBncmFkaWVudCBkZXNjZW50IHRvIG1pbmltaXplIHRoZVxuICAgICAqIGZ1enp5IHNldCBjcm9zcyBlbnRyb3B5IGJldHdlZW4gdGhlIDEtc2tlbGV0b25zIG9mIHRoZSBoaWdoIGRpbWVuc2lvbmFsXG4gICAgICogYW5kIGxvdyBkaW1lbnNpb25hbCBmdXp6eSBzaW1wbGljaWFsIHNldHMuIEluIHByYWN0aWNlIHRoaXMgaXMgZG9uZSBieVxuICAgICAqIHNhbXBsaW5nIGVkZ2VzIGJhc2VkIG9uIHRoZWlyIG1lbWJlcnNoaXAgc3RyZW5ndGggKHdpdGggdGhlICgxLXApIHRlcm1zXG4gICAgICogY29taW5nIGZyb20gbmVnYXRpdmUgc2FtcGxpbmcgc2ltaWxhciB0byB3b3JkMnZlYykuXG4gICAgICovXG4gICAgb3B0aW1pemVMYXlvdXRBc3luYyhlcG9jaENhbGxiYWNrID0gKCkgPT4gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RlcCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IG5FcG9jaHMsIGN1cnJlbnRFcG9jaCB9ID0gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWJlZGRpbmcgPSB0aGlzLm9wdGltaXplTGF5b3V0U3RlcChjdXJyZW50RXBvY2gpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcG9jaENvbXBsZXRlZCA9IHRoaXMub3B0aW1pemF0aW9uU3RhdGUuY3VycmVudEVwb2NoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRTdG9wID0gZXBvY2hDYWxsYmFjayhlcG9jaENvbXBsZXRlZCkgPT09IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0ZpbmlzaGVkID0gZXBvY2hDb21wbGV0ZWQgPT09IG5FcG9jaHM7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc2hvdWxkU3RvcCAmJiAhaXNGaW5pc2hlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBzdGVwKCksIDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoaXNGaW5pc2hlZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBzdGVwKCksIDApO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW1wcm92ZSBhbiBlbWJlZGRpbmcgdXNpbmcgc3RvY2hhc3RpYyBncmFkaWVudCBkZXNjZW50IHRvIG1pbmltaXplIHRoZVxuICAgICAqIGZ1enp5IHNldCBjcm9zcyBlbnRyb3B5IGJldHdlZW4gdGhlIDEtc2tlbGV0b25zIG9mIHRoZSBoaWdoIGRpbWVuc2lvbmFsXG4gICAgICogYW5kIGxvdyBkaW1lbnNpb25hbCBmdXp6eSBzaW1wbGljaWFsIHNldHMuIEluIHByYWN0aWNlIHRoaXMgaXMgZG9uZSBieVxuICAgICAqIHNhbXBsaW5nIGVkZ2VzIGJhc2VkIG9uIHRoZWlyIG1lbWJlcnNoaXAgc3RyZW5ndGggKHdpdGggdGhlICgxLXApIHRlcm1zXG4gICAgICogY29taW5nIGZyb20gbmVnYXRpdmUgc2FtcGxpbmcgc2ltaWxhciB0byB3b3JkMnZlYykuXG4gICAgICovXG4gICAgb3B0aW1pemVMYXlvdXQoZXBvY2hDYWxsYmFjayA9ICgpID0+IHRydWUpIHtcbiAgICAgICAgbGV0IGlzRmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgbGV0IGVtYmVkZGluZyA9IFtdO1xuICAgICAgICB3aGlsZSAoIWlzRmluaXNoZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgbkVwb2NocywgY3VycmVudEVwb2NoIH0gPSB0aGlzLm9wdGltaXphdGlvblN0YXRlO1xuICAgICAgICAgICAgZW1iZWRkaW5nID0gdGhpcy5vcHRpbWl6ZUxheW91dFN0ZXAoY3VycmVudEVwb2NoKTtcbiAgICAgICAgICAgIGNvbnN0IGVwb2NoQ29tcGxldGVkID0gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5jdXJyZW50RXBvY2g7XG4gICAgICAgICAgICBjb25zdCBzaG91bGRTdG9wID0gZXBvY2hDYWxsYmFjayhlcG9jaENvbXBsZXRlZCkgPT09IGZhbHNlO1xuICAgICAgICAgICAgaXNGaW5pc2hlZCA9IGVwb2NoQ29tcGxldGVkID09PSBuRXBvY2hzIHx8IHNob3VsZFN0b3A7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVtYmVkZGluZztcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbnVtYmVyIG9mIGVwb2NocyBmb3Igb3B0aW1pemluZyB0aGUgcHJvamVjdGlvbi5cbiAgICAgKiBOT1RFOiBUaGlzIGhldXJpc3RpYyBkaWZmZXJzIGZyb20gdGhlIHB5dGhvbiB2ZXJzaW9uXG4gICAgICovXG4gICAgZ2V0TkVwb2NocygpIHtcbiAgICAgICAgY29uc3QgZ3JhcGggPSB0aGlzLmdyYXBoO1xuICAgICAgICBpZiAodGhpcy5uRXBvY2hzID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubkVwb2NocztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdyYXBoKSB7XG4gICAgICAgICAgICByZXR1cm4gMjAwO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IGdyYXBoLm5Sb3dzO1xuICAgICAgICBpZiAobGVuZ3RoIDw9IDI1MDApIHtcbiAgICAgICAgICAgIHJldHVybiA1MDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobGVuZ3RoIDw9IDUwMDApIHtcbiAgICAgICAgICAgIHJldHVybiA0MDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobGVuZ3RoIDw9IDc1MDApIHtcbiAgICAgICAgICAgIHJldHVybiAzMDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMjAwO1xuICAgICAgICB9XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGV1Y2xpZGVhbih4LCB5KSB7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB4Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJlc3VsdCArPSAoeFtpXSAtIHlbaV0pICoqIDI7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnNxcnQocmVzdWx0KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBudW1lcmljKHgsIHkpIHtcbiAgICBjb25zdCByZXN1bHQgPSBNYXRoLmFicyh4IC0geSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb3NpbmUoeCwgeSkge1xuICAgIGxldCByZXN1bHQgPSAwLjA7XG4gICAgbGV0IG5vcm1YID0gMC4wO1xuICAgIGxldCBub3JtWSA9IDAuMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHgubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcmVzdWx0ICs9IHhbaV0gKiB5W2ldO1xuICAgICAgICBub3JtWCArPSB4W2ldICoqIDI7XG4gICAgICAgIG5vcm1ZICs9IHlbaV0gKiogMjtcbiAgICB9XG4gICAgaWYgKG5vcm1YID09PSAwICYmIG5vcm1ZID09PSAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICBlbHNlIGlmIChub3JtWCA9PT0gMCB8fCBub3JtWSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMS4wO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDEuMCAtIHJlc3VsdCAvIE1hdGguc3FydChub3JtWCAqIG5vcm1ZKTtcbiAgICB9XG59XG4vKipcbiAqIEFuIGludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIG9wdGltaXphdGlvbiBzdGF0ZSB0cmFja2VkIGJldHdlZW4gc3RlcHMgb2ZcbiAqIHRoZSBTR0Qgb3B0aW1pemF0aW9uXG4gKi9cbmNsYXNzIE9wdGltaXphdGlvblN0YXRlIHtcbiAgICBjdXJyZW50RXBvY2ggPSAwO1xuICAgIC8vIERhdGEgdHJhY2tlZCBkdXJpbmcgb3B0aW1pemF0aW9uIHN0ZXBzLlxuICAgIGhlYWRFbWJlZGRpbmcgPSBbXTtcbiAgICB0YWlsRW1iZWRkaW5nID0gW107XG4gICAgaGVhZCA9IFtdO1xuICAgIHRhaWwgPSBbXTtcbiAgICBlcG9jaHNQZXJTYW1wbGUgPSBbXTtcbiAgICBlcG9jaE9mTmV4dFNhbXBsZSA9IFtdO1xuICAgIGVwb2NoT2ZOZXh0TmVnYXRpdmVTYW1wbGUgPSBbXTtcbiAgICBlcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZSA9IFtdO1xuICAgIG1vdmVPdGhlciA9IHRydWU7XG4gICAgaW5pdGlhbEFscGhhID0gMS4wO1xuICAgIGFscGhhID0gMS4wO1xuICAgIGdhbW1hID0gMS4wO1xuICAgIGEgPSAxLjU3Njk0MzQ2MDMxMTMwNzc7XG4gICAgYiA9IDAuODk1MDYwODc3OTEwOTczMztcbiAgICBkaW0gPSAyO1xuICAgIG5FcG9jaHMgPSA1MDA7XG4gICAgblZlcnRpY2VzID0gMDtcbn1cbi8qKlxuICogU3RhbmRhcmQgY2xhbXBpbmcgb2YgYSB2YWx1ZSBpbnRvIGEgZml4ZWQgcmFuZ2VcbiAqL1xuZnVuY3Rpb24gY2xpcCh4LCBjbGlwVmFsdWUpIHtcbiAgICBpZiAoeCA+IGNsaXBWYWx1ZSlcbiAgICAgICAgcmV0dXJuIGNsaXBWYWx1ZTtcbiAgICBlbHNlIGlmICh4IDwgLWNsaXBWYWx1ZSlcbiAgICAgICAgcmV0dXJuIC1jbGlwVmFsdWU7XG4gICAgZWxzZVxuICAgICAgICByZXR1cm4geDtcbn1cbi8qKlxuICogUmVkdWNlZCBFdWNsaWRlYW4gZGlzdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIHJEaXN0KHgsIHkpIHtcbiAgICBsZXQgcmVzdWx0ID0gMC4wO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgeC5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHQgKz0gTWF0aC5wb3coeFtpXSAtIHlbaV0sIDIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLyoqXG4gKiBGaXQgYSwgYiBwYXJhbXMgZm9yIHRoZSBkaWZmZXJlbnRpYWJsZSBjdXJ2ZSB1c2VkIGluIGxvd2VyXG4gKiBkaW1lbnNpb25hbCBmdXp6eSBzaW1wbGljaWFsIGNvbXBsZXggY29uc3RydWN0aW9uLiBXZSB3YW50IHRoZVxuICogc21vb3RoIGN1cnZlIChmcm9tIGEgcHJlLWRlZmluZWQgZmFtaWx5IHdpdGggc2ltcGxlIGdyYWRpZW50KSB0aGF0XG4gKiBiZXN0IG1hdGNoZXMgYW4gb2Zmc2V0IGV4cG9uZW50aWFsIGRlY2F5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZEFCUGFyYW1zKHNwcmVhZCwgbWluRGlzdCkge1xuICAgIGNvbnN0IGN1cnZlID0gKFthLCBiXSkgPT4gKHgpID0+IHtcbiAgICAgICAgcmV0dXJuIDEuMCAvICgxLjAgKyBhICogeCAqKiAoMiAqIGIpKTtcbiAgICB9O1xuICAgIGNvbnN0IHh2ID0gdXRpbHNcbiAgICAgICAgLmxpbmVhcigwLCBzcHJlYWQgKiAzLCAzMDApXG4gICAgICAgIC5tYXAodmFsID0+ICh2YWwgPCBtaW5EaXN0ID8gMS4wIDogdmFsKSk7XG4gICAgY29uc3QgeXYgPSB1dGlscy56ZXJvcyh4di5sZW5ndGgpLm1hcCgodmFsLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBndGUgPSB4dltpbmRleF0gPj0gbWluRGlzdDtcbiAgICAgICAgcmV0dXJuIGd0ZSA/IE1hdGguZXhwKC0oeHZbaW5kZXhdIC0gbWluRGlzdCkgLyBzcHJlYWQpIDogdmFsO1xuICAgIH0pO1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZXMgPSBbMC41LCAwLjVdO1xuICAgIGNvbnN0IGRhdGEgPSB7IHg6IHh2LCB5OiB5diB9O1xuICAgIC8vIERlZmF1bHQgb3B0aW9ucyBmb3IgdGhlIGFsZ29yaXRobSAoZnJvbSBnaXRodWIgZXhhbXBsZSlcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICBkYW1waW5nOiAxLjUsXG4gICAgICAgIGluaXRpYWxWYWx1ZXMsXG4gICAgICAgIGdyYWRpZW50RGlmZmVyZW5jZTogMTBlLTIsXG4gICAgICAgIG1heEl0ZXJhdGlvbnM6IDEwMCxcbiAgICAgICAgZXJyb3JUb2xlcmFuY2U6IDEwZS0zLFxuICAgIH07XG4gICAgY29uc3QgeyBwYXJhbWV0ZXJWYWx1ZXMgfSA9IExNKGRhdGEsIGN1cnZlLCBvcHRpb25zKTtcbiAgICBjb25zdCBbYSwgYl0gPSBwYXJhbWV0ZXJWYWx1ZXM7XG4gICAgcmV0dXJuIHsgYSwgYiB9O1xufVxuLyoqXG4gKiBVbmRlciB0aGUgYXNzdW1wdGlvbiBvZiBjYXRlZ29yaWNhbCBkaXN0YW5jZSBmb3IgdGhlIGludGVyc2VjdGluZ1xuICogc2ltcGxpY2lhbCBzZXQgcGVyZm9ybSBhIGZhc3QgaW50ZXJzZWN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmFzdEludGVyc2VjdGlvbihncmFwaCwgdGFyZ2V0LCB1bmtub3duRGlzdCA9IDEuMCwgZmFyRGlzdCA9IDUuMCkge1xuICAgIHJldHVybiBncmFwaC5tYXAoKHZhbHVlLCByb3csIGNvbCkgPT4ge1xuICAgICAgICBpZiAodGFyZ2V0W3Jvd10gPT09IC0xIHx8IHRhcmdldFtjb2xdID09PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogTWF0aC5leHAoLXVua25vd25EaXN0KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0YXJnZXRbcm93XSAhPT0gdGFyZ2V0W2NvbF0pIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSAqIE1hdGguZXhwKC1mYXJEaXN0KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuLyoqXG4gKiBSZXNldCB0aGUgbG9jYWwgY29ubmVjdGl2aXR5IHJlcXVpcmVtZW50IC0tIGVhY2ggZGF0YSBzYW1wbGUgc2hvdWxkXG4gKiBoYXZlIGNvbXBsZXRlIGNvbmZpZGVuY2UgaW4gYXQgbGVhc3Qgb25lIDEtc2ltcGxleCBpbiB0aGUgc2ltcGxpY2lhbCBzZXQuXG4gKiBXZSBjYW4gZW5mb3JjZSB0aGlzIGJ5IGxvY2FsbHkgcmVzY2FsaW5nIGNvbmZpZGVuY2VzLCBhbmQgdGhlbiByZW1lcmdpbmcgdGhlXG4gKiBkaWZmZXJlbnQgbG9jYWwgc2ltcGxpY2lhbCBzZXRzIHRvZ2V0aGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRMb2NhbENvbm5lY3Rpdml0eShzaW1wbGljaWFsU2V0KSB7XG4gICAgc2ltcGxpY2lhbFNldCA9IG1hdHJpeC5ub3JtYWxpemUoc2ltcGxpY2lhbFNldCwgXCJtYXhcIiAvKiBtYXRyaXguTm9ybVR5cGUubWF4ICovKTtcbiAgICBjb25zdCB0cmFuc3Bvc2UgPSBtYXRyaXgudHJhbnNwb3NlKHNpbXBsaWNpYWxTZXQpO1xuICAgIGNvbnN0IHByb2RNYXRyaXggPSBtYXRyaXgucGFpcndpc2VNdWx0aXBseSh0cmFuc3Bvc2UsIHNpbXBsaWNpYWxTZXQpO1xuICAgIHNpbXBsaWNpYWxTZXQgPSBtYXRyaXguYWRkKHNpbXBsaWNpYWxTZXQsIG1hdHJpeC5zdWJ0cmFjdCh0cmFuc3Bvc2UsIHByb2RNYXRyaXgpKTtcbiAgICByZXR1cm4gbWF0cml4LmVsaW1pbmF0ZVplcm9zKHNpbXBsaWNpYWxTZXQpO1xufVxuLyoqXG4gKiBHaXZlbiBpbmRpY2VzIGFuZCB3ZWlnaHRzIGFuZCBhbiBvcmlnaW5hbCBlbWJlZGRpbmdzXG4gKiBpbml0aWFsaXplIHRoZSBwb3NpdGlvbnMgb2YgbmV3IHBvaW50cyByZWxhdGl2ZSB0byB0aGVcbiAqIGluZGljZXMgYW5kIHdlaWdodHMgKG9mIHRoZWlyIG5laWdoYm9ycyBpbiB0aGUgc291cmNlIGRhdGEpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdFRyYW5zZm9ybShpbmRpY2VzLCB3ZWlnaHRzLCBlbWJlZGRpbmcpIHtcbiAgICBjb25zdCByZXN1bHQgPSB1dGlsc1xuICAgICAgICAuemVyb3MoaW5kaWNlcy5sZW5ndGgpXG4gICAgICAgIC5tYXAoeiA9PiB1dGlscy56ZXJvcyhlbWJlZGRpbmdbMF0ubGVuZ3RoKSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRpY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgaW5kaWNlc1swXS5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCBlbWJlZGRpbmdbMF0ubGVuZ3RoOyBkKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhID0gaW5kaWNlc1tpXVtqXTtcbiAgICAgICAgICAgICAgICByZXN1bHRbaV1bZF0gKz0gd2VpZ2h0c1tpXVtqXSAqIGVtYmVkZGluZ1thXVtkXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZFcxaGNDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5WdFlYQXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN096czdPenM3T3pzN096czdPenM3TzBkQmFVSkhPMEZCUlVnN096czdPMGRCUzBjN1FVRkZTRHM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p0SFFTdENSenRCUVVWSUxFOUJRVThzUzBGQlN5eEpRVUZKTEUxQlFVMHNVVUZCVVN4RFFVRkRPMEZCUXk5Q0xFOUJRVThzUzBGQlN5eE5RVUZOTEUxQlFVMHNWVUZCVlN4RFFVRkRPMEZCUTI1RExFOUJRVThzUzBGQlN5eFRRVUZUTEUxQlFVMHNZMEZCWXl4RFFVRkRPMEZCUXpGRExFOUJRVThzUzBGQlN5eEpRVUZKTEUxQlFVMHNVVUZCVVN4RFFVRkRPMEZCUXk5Q0xFOUJRVThzUzBGQlN5eExRVUZMTEUxQlFVMHNVMEZCVXl4RFFVRkRPMEZCUTJwRExFOUJRVThzUlVGQlJTeE5RVUZOTEhkQ1FVRjNRaXhEUVVGRE8wRkJZWGhETEUxQlFVMHNhMEpCUVd0Q0xFZEJRVWNzU1VGQlNTeERRVUZETzBGQlEyaERMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NTVUZCU1N4RFFVRkRPMEZCYlVnNVFqczdPenM3T3pzN096czdPenM3T3pzN096dEhRVzFDUnp0QlFVTklMRTFCUVUwc1QwRkJUeXhKUVVGSk8wbEJRMUFzV1VGQldTeEhRVUZITEVkQlFVY3NRMEZCUXp0SlFVTnVRaXhwUWtGQmFVSXNSMEZCUnl4SFFVRkhMRU5CUVVNN1NVRkRlRUlzVDBGQlR5eEhRVUZITEVkQlFVY3NRMEZCUXp0SlFVTmtMRmRCUVZjc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGFFSXNUMEZCVHl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVOYUxGVkJRVlVzUjBGQlJ5eEZRVUZGTEVOQlFVTTdTVUZEYUVJc2EwSkJRV3RDTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTNaQ0xFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUTNKQ0xHbENRVUZwUWl4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVONFFpeGhRVUZoTEVkQlFVY3NSMEZCUnl4RFFVRkRPMGxCUTNCQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZEWWl4clFrRkJhMElzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZGYWtNc0swSkJRU3RDTzBsQlEzWkNMRmxCUVZrc1owUkJRVFJDTzBsQlEzaERMRmxCUVZrc1IwRkJSeXhIUVVGSExFTkJRVU03U1VGRGJrSXNaMEpCUVdkQ0xFZEJRVWNzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXp0SlFVVnVReXhWUVVGVkxFZEJRV1VzVDBGQlR5eERRVUZETzBsQlJYcERMR2RGUVVGblJUdEpRVU40UkN4VlFVRlZMRU5CUVdNN1NVRkRlRUlzV1VGQldTeERRVUZqTzBsQlJXeERMRFpEUVVFMlF6dEpRVU55UXl4TFFVRkxMRU5CUVhWQ08wbEJRelZDTEVOQlFVTXNRMEZCVlR0SlFVTllMR0ZCUVdFc1IwRkJSeXhMUVVGTExFTkJRVU03U1VGRGRFSXNVVUZCVVN4SFFVRnZRaXhGUVVGRkxFTkJRVU03U1VGREwwSXNZMEZCWXl4RFFVRTRRanRKUVVNMVF5eFpRVUZaTEVOQlFUUkNPMGxCUTNoRExFMUJRVTBzUTBGQmMwSTdTVUZETlVJc1YwRkJWeXhEUVVGMVFqdEpRVVV4UXl4NVEwRkJlVU03U1VGRGFrTXNRMEZCUXl4RFFVRlpPMGxCUlhKQ0xITkNRVUZ6UWp0SlFVTmtMRk5CUVZNc1IwRkJaU3hGUVVGRkxFTkJRVU03U1VGRE0wSXNhVUpCUVdsQ0xFZEJRVWNzU1VGQlNTeHBRa0ZCYVVJc1JVRkJSU3hEUVVGRE8wbEJSM0JFTEVsQlFVa3NVMEZCVXp0UlFVTllMRTlCUVU4c1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF6dEpRVU42UWl4RFFVRkRPMGxCUTBRc1dVRkJXU3hUUVVGNVFpeEZRVUZGTzFGQlEzSkRMRTFCUVUwc1VVRkJVU3hIUVVGSExFTkJRVU1zUjBGQmVVSXNSVUZCUlN4RlFVRkZPMWxCUXpkRExGbEJRVms3V1VGRFdpeEpRVUZKTEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhUUVVGVE8yZENRVUZGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEZWtRc1EwRkJReXhEUVVGRE8xRkJSVVlzVVVGQlVTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMUZCUTNaQ0xGRkJRVkVzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXp0UlFVTjZRaXhSUVVGUkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1EwRkJRenRSUVVNNVFpeFJRVUZSTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1VVRkRjRUlzVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRPMUZCUTNoQ0xGRkJRVkVzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0UlFVTndRaXhSUVVGUkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdVVUZEZGtJc1VVRkJVU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNN1VVRkRMMElzVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUTI1Q0xGRkJRVkVzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhEUVVGRE8xRkJRemxDTEZGQlFWRXNRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJRenRSUVVNeFFpeFJRVUZSTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1VVRkRia0lzVVVGQlVTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFTkJRVU03U1VGRGFrTXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzUjBGQlJ5eERRVUZETEVOQlFWTTdVVUZEV0N4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzUkNMRWxCUVVrc1EwRkJReXhqUVVGakxFVkJRVVVzUTBGQlF6dFJRVVYwUWl4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU03U1VGRGVFSXNRMEZCUXp0SlFVVkVPenM3VDBGSFJ6dEpRVU5JTEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUTFvc1EwRkJVeXhGUVVOVUxGZEJRVzlFTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrN1VVRkZPVVFzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVWMFFpeE5RVUZOTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVTjZReXhQUVVGUExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTTdTVUZEZUVJc1EwRkJRenRKUVVWRU96dFBRVVZITzBsQlEwZ3NkVUpCUVhWQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEZOQlFTdENMRVZCUVVVN1VVRkRjRVVzU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRXQ3hKUVVGSkxFTkJRVU1zV1VGQldTeEhRVUZITEUxQlFVMHNRMEZCUXl4WlFVRlpMRWxCUVVrc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF6dFJRVU0zUkN4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFMUJRVTBzUTBGQlF5eFpRVUZaTEVsQlFVa3NTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJRenRSUVVNM1JDeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFZEJRVWNzVFVGQlRTeERRVUZETEdkQ1FVRm5RaXhKUVVGSkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJRenRKUVVNelJTeERRVUZETzBsQlJVUTdPMDlCUlVjN1NVRkRTQ3hwUWtGQmFVSXNRMEZCUXl4VlFVRnpRaXhGUVVGRkxGbEJRWGRDTzFGQlEyaEZMRWxCUVVrc1EwRkJReXhWUVVGVkxFZEJRVWNzVlVGQlZTeERRVUZETzFGQlF6ZENMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzV1VGQldTeERRVUZETzBsQlEyNURMRU5CUVVNN1NVRkZSRHM3T3pzN1QwRkxSenRKUVVOSUxHRkJRV0VzUTBGQlF5eERRVUZUTzFGQlEzSkNMRWxCUVVrc1EwRkJReXhEUVVGRExFMUJRVTBzU1VGQlNTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RlFVRkZPMWxCUXk5Q0xFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNNa0pCUVRKQ0xFTkJRVU1zUTBGQlF5eE5RVUZOTERKQ1FVRXlRaXhKUVVGSkxFTkJRVU1zVlVGQlZTeHpSRUZCYzBRc1EwRkJReXhEUVVGRE8xTkJRM1JLTzFGQlJVUXNORVZCUVRSRk8xRkJRelZGTEVsQlFVa3NTVUZCU1N4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEdGQlFXRXNSVUZCUlR0WlFVTjBReXhQUVVGUExFbEJRVWtzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0VFFVTXhRanRSUVVWRUxFbEJRVWtzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUlZnc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFZRVUZWTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRk8xbEJRekZETEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVNMVF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4SFFVRkhMRlZCUVZVc1EwRkJReXhWUVVGVkxFTkJRVU03V1VGRGVFTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhWUVVGVkxFTkJRVU1zV1VGQldTeERRVUZETzFOQlF6ZERPMUZCUlVRc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRMnhETEVOQlFVTXNSVUZEUkN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVObUxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlEyNUNMRU5CUVVNN1VVRkZSaXg1UkVGQmVVUTdVVUZEZWtRc1NVRkJTU3hEUVVGRExHRkJRV0VzUlVGQlJTeERRVUZETzFGQlEzSkNMRWxCUVVrc1EwRkJReXhYUVVGWExFZEJRVWNzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVVelF5eDVSRUZCZVVRN1VVRkRla1FzU1VGQlNTeERRVUZETEcxRFFVRnRReXhGUVVGRkxFTkJRVU03VVVGRk0wTXNUVUZCVFN4RlFVTktMRWxCUVVrc1JVRkRTaXhKUVVGSkxFVkJRMG9zWlVGQlpTeEhRVU5vUWl4SFFVRkhMRWxCUVVrc1EwRkJReXhuUTBGQlowTXNSVUZCUlN4RFFVRkRPMUZCUlRWRExIRkRRVUZ4UXp0UlFVTnlReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU51UXl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVOdVF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zWlVGQlpTeEhRVUZITEdWQlFXVXNRMEZCUXp0UlFVVjZSQ3g1UTBGQmVVTTdVVUZEZWtNc1NVRkJTU3hEUVVGRExITkNRVUZ6UWl4RlFVRkZMRU5CUVVNN1VVRkRPVUlzU1VGQlNTeERRVUZETERCQ1FVRXdRaXhGUVVGRkxFTkJRVU03VVVGRGJFTXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRk1VSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03U1VGRE0wSXNRMEZCUXp0SlFVVlBMR0ZCUVdFN1VVRkRia0lzVFVGQlRTeEZRVUZGTEZsQlFWa3NSVUZCUlN4alFVRmpMRVZCUVVVc1IwRkJSeXhUUVVGVExFTkJRVU1zYlVKQlFXMUNMRU5CUTNCRkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlEyaENMRU5CUVVNN1VVRkRSaXhKUVVGSkxFTkJRVU1zV1VGQldTeEhRVUZITEZsQlFWa3NRMEZCUXp0UlFVTnFReXhKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEdOQlFXTXNRMEZCUXp0UlFVTnlReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEZOQlFWTXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1NVRkRia1VzUTBGQlF6dEpRVVZQTEdWQlFXVXNRMEZCUXl4RFFVRlRPMUZCUXk5Q0xFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4VlFVRlhMRU5CUVVNN1VVRkRjRU1zVFVGQlRTeFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRmxCUVdFc1EwRkJRenRSUVVONFF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUTJ4RExFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NUVUZCVFN4RFFVRkRMRmxCUVZrc1EwRkJReXhGUVVGRkxFVkJRVVVzUlVGQlJTeEZRVUZGTEVWQlFVVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVNNVJDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVlVGQlZTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVNeFF5eE5RVUZOTEVkQlFVY3NSMEZCUnl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE1VSXNUVUZCVFN4VFFVRlRMRWRCUVVjc1dVRkJXU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEyeERMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzJkQ1FVTnVReXhOUVVGTkxGRkJRVkVzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM2hDTEUxQlFVMHNVVUZCVVN4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZET1VJc1NVRkJTU3hSUVVGUkxFZEJRVWNzUTBGQlF5eEZRVUZGTzI5Q1FVTm9RaXhYUVVGWExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4UlFVRlJMRVZCUVVVc1VVRkJVU3hEUVVGRExFTkJRVU03YVVKQlEzaERPMkZCUTBZN1UwRkRSanRSUVVWRUxFMUJRVTBzVTBGQlV5eEhRVUZITEUxQlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU03VVVGRGFFUXNUMEZCVHl4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRExGZEJRVmNzUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXp0SlFVTm9SQ3hEUVVGRE8wbEJSVVE3TzA5QlJVYzdTVUZEU0N4VFFVRlRMRU5CUVVNc1YwRkJiVUk3VVVGRE0wSXNNa0pCUVRKQ08xRkJRek5DTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGRrSXNTVUZCU1N4UFFVRlBMRXRCUVVzc1UwRkJVeXhKUVVGSkxFOUJRVThzUTBGQlF5eE5RVUZOTEV0QlFVc3NRMEZCUXl4RlFVRkZPMWxCUTJwRUxFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF6dFRRVU14UXp0UlFVVkVMRWxCUVVrc1ZVRkJWU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1EwRkJRenRSUVVOMlJTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zVFVGQlRTeEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRPMUZCUTJ4RUxFMUJRVTBzU1VGQlNTeEhRVUZITEZOQlFWTXNRMEZCUXl4blFrRkJaMElzUTBGRGNrTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1JVRkRZaXhQUVVGUExFVkJRMUFzVjBGQlZ5eEZRVU5ZTEZWQlFWVXNSVUZEVml4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVOdVFpeEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVTnFRaXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVU5hTEVOQlFVTTdVVUZGUml4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEU5QlFVOHNSVUZCUlN4SlFVRkpMRU5CUVVNc1YwRkJWeXhGUVVGRkxFbEJRVWtzUlVGQlJTeFhRVUZYTEVOQlFVTXNRMEZCUXp0UlFVVjZSU3hKUVVGSkxFVkJRVVVzVDBGQlR5eEZRVUZGTEU5QlFVOHNSVUZCUlN4VFFVRlRMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUlRsRUxFOUJRVThzUjBGQlJ5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZUVRc1UwRkJVeXhIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVUxUkN4TlFVRk5MSGxDUVVGNVFpeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU14UlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGRE4wTXNVMEZCVXl4RlFVTlVMRWxCUVVrc1EwRkJReXhWUVVGVkxFVkJRMllzZVVKQlFYbENMRU5CUXpGQ0xFTkJRVU03VVVGRlJpeE5RVUZOTEVWQlFVVXNTVUZCU1N4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRekZFTEU5QlFVOHNSVUZEVUN4VFFVRlRMRVZCUTFRc1RVRkJUU3hGUVVOT0xFbEJRVWtzUTBGRFRDeERRVUZETzFGQlJVWXNUVUZCVFN4SlFVRkpMRWRCUVVjc1EwRkJReXhYUVVGWExFTkJRVU1zVFVGQlRTeEZRVUZGTEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOc1JDeEpRVUZKTEV0QlFVc3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRk5VUXNiMFZCUVc5Rk8xRkJRM0JGTEhORlFVRnpSVHRSUVVOMFJTd3JSRUZCSzBRN1VVRkZMMFFzVFVGQlRTeE5RVUZOTEVkQlFVY3NUVUZCVFN4RFFVRkRMRk5CUVZNc1EwRkJReXhMUVVGTExHZERRVUZ4UWl4RFFVRkRPMUZCUlRORUxFMUJRVTBzVTBGQlV5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGVFTXNUVUZCVFN4UFFVRlBMRWRCUVVjc1YwRkJWeXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVVZ1UXl4TlFVRk5MRkZCUVZFc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVU01UWl4VFFVRlRMRU5CUVVNc1QwRkJUeXhGUVVOcVFpeFBRVUZQTEVWQlExQXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkRhRUlzUTBGQlF6dFJRVVZHTEUxQlFVMHNVVUZCVVN4SFFVRkhMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRemxDTEZOQlFWTXNRMEZCUXl4TlFVRk5MRVZCUTJoQ0xFOUJRVThzUlVGRFVDeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVTm9RaXhEUVVGRE8xRkJSVVlzVFVGQlRTeFRRVUZUTEVkQlFVY3NZVUZCWVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hSUVVGUkxFVkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUlhCRkxFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4UFFVRlBPMWxCUXpGQ0xFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRU5CUVVNN1dVRkRiRUlzUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxMRWxCUVVrc1MwRkJTenRuUWtGRGRFSXNRMEZCUXl4RFFVRkRMRWRCUVVjN1owSkJRMHdzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXp0UlFVVlFMRTFCUVUwc1VVRkJVU3hIUVVGSExFdEJRVXM3WVVGRGJrSXNVMEZCVXl4RlFVRkZPMkZCUTFnc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNCRUxFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eExRVUZMTEVkQlFVY3NVVUZCVVN4SFFVRkhMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM0pGTEV0QlFVc3NSMEZCUnl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFGQlJYSkRMRTFCUVUwc1pVRkJaU3hIUVVGSExFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkRPVU1zUzBGQlN5eERRVUZETEZOQlFWTXNSVUZCUlN4RlFVTnFRaXhQUVVGUExFTkJRMUlzUTBGQlF6dFJRVU5HTEUxQlFVMHNTVUZCU1N4SFFVRkhMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dFJRVU0zUWl4TlFVRk5MRWxCUVVrc1IwRkJSeXhMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdVVUZGTjBJc2IwVkJRVzlGTzFGQlEzQkZMRWxCUVVrc1EwRkJReXhwUTBGQmFVTXNRMEZCUXp0WlFVTnlReXhoUVVGaExFVkJRVVVzVTBGQlV6dFpRVU40UWl4aFFVRmhMRVZCUVVVc1NVRkJTU3hEUVVGRExGTkJRVk03V1VGRE4wSXNTVUZCU1R0WlFVTktMRWxCUVVrN1dVRkRTaXhaUVVGWkxFVkJRVVVzUTBGQlF6dFpRVU5tTEU5QlFVODdXVUZEVUN4VFFVRlRMRVZCUVVVc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTTNRaXhsUVVGbE8xTkJRMmhDTEVOQlFVTXNRMEZCUXp0UlFVTklMRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNSVUZCUlN4RFFVRkRPMUZCUld4RExFOUJRVThzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRPMGxCUXk5Q0xFTkJRVU03U1VGRlJEczdPMDlCUjBjN1NVRkRTeXh0UTBGQmJVTTdVVUZEZWtNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkRkRUlzU1VGQlNTeERRVUZETEVWQlFVVTdXVUZEVEN4SlFVRkpMRU5CUVVNc1EwRkJReXhOUVVGTkxFdEJRVXNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlR0blFrRkRla0lzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4cFEwRkJhVU1zUTBGQlF5eERRVUZETzJGQlEzQkVPMWxCUlVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zV1VGQldTeHBSRUZCTmtJc1JVRkJSVHRuUWtGRGJFUXNUVUZCVFN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eEhRVUZITEVOQlFVTTdaMEpCUTI1RExFMUJRVTBzVDBGQlR5eEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNN1owSkJRM1JGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExHOURRVUZ2UXl4RFFVTndSQ3hKUVVGSkxFTkJRVU1zUzBGQlN5eEZRVU5XTEVOQlFVTXNSVUZEUkN4UFFVRlBMRU5CUTFJc1EwRkJRenRoUVVOSU8xbEJRMFFzYVVWQlFXbEZPMU5CUTJ4Rk8wbEJRMGdzUTBGQlF6dEpRVVZFT3p0UFFVVkhPMGxCUTBnc1NVRkJTVHRSUVVOR0xFMUJRVTBzUlVGQlJTeFpRVUZaTEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTTdVVUZGYUVRc1NVRkJTU3haUVVGWkxFZEJRVWNzU1VGQlNTeERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZPMWxCUTNCRExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dFRRVU4yUXp0UlFVTkVMRTlCUVU4c1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRmxCUVZrc1EwRkJRenRKUVVNM1F5eERRVUZETzBsQlJVUTdPMDlCUlVjN1NVRkRTQ3haUVVGWk8xRkJRMVlzVDBGQlR5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRPMGxCUTNoQ0xFTkJRVU03U1VGRlJEczdPenRQUVVsSE8wbEJRMHNzWjBKQlFXZENMRU5CUVVNc1EwRkJVenRSUVVOb1F5eE5RVUZOTEVWQlFVVXNWVUZCVlN4RlFVRkZMRlZCUVZVc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU40UXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVk1zUlVGQlJTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM1JFTEUxQlFVMHNaVUZCWlN4SFFVRkhMRk5CUVZNc1EwRkJReXhoUVVGaExFTkJRVU1zVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVWNlJTeHRSRUZCYlVRN1VVRkRia1FzVFVGQlRTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRlRMRVZCUVVVc1JVRkJSVHRaUVVNeFFpeFBRVUZQTEVOQlFVTXNTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4yUXl4RFFVRkRMRU5CUVVNN1VVRkZSaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNTVUZCU1N4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU0zUkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVnVSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhGUVVGRkxGVkJRVlVzUlVGQlJTeE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJSWEJGTEUxQlFVMHNVMEZCVXl4SFFVRkhMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUTNCRUxFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1pVRkJaU3hEUVVNeFF5eERRVUZETEVWQlEwUXNVMEZCVXl4RlFVTlVMRlZCUVZVc1JVRkRWaXhOUVVGTkxFTkJRMUFzUTBGQlF6dFJRVU5HTEU5QlFVOHNSVUZCUlN4VlFVRlZMRVZCUVVVc1QwRkJUeXhGUVVGRkxGbEJRVmtzUlVGQlJTeFBRVUZQTEVWQlFVVXNRMEZCUXp0SlFVTjRSQ3hEUVVGRE8wbEJSVVE3T3pzN096czdUMEZQUnp0SlFVTkxMR3RDUVVGclFpeERRVU40UWl4RFFVRlRMRVZCUTFRc1ZVRkJhMElzUlVGRGJFSXNZVUZCWVN4SFFVRkhMRWRCUVVjN1VVRkZia0lzVFVGQlRTeEZRVUZGTEZWQlFWVXNSMEZCUnl4RlFVRkZMRVZCUVVVc1dVRkJXU3hIUVVGSExFVkJRVVVzUlVGQlJTeHBRa0ZCYVVJc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVVYyUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGRE4wTXNXVUZCV1N4RlFVTmFMRlZCUVZVc1JVRkRWaXhwUWtGQmFVSXNRMEZEYkVJc1EwRkJRenRSUVVWR0xFMUJRVTBzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMRWxCUVVrc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5d3dRa0ZCTUVJc1EwRkRNVVFzVlVGQlZTeEZRVU5XTEZsQlFWa3NSVUZEV2l4TlFVRk5MRVZCUTA0c1NVRkJTU3hEUVVOTUxFTkJRVU03VVVGRlJpeE5RVUZOTEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUTJ4RExFMUJRVTBzV1VGQldTeEhRVUZITEVsQlFVa3NUVUZCVFN4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVWeVJTeE5RVUZOTEZOQlFWTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1UwRkJVeXhEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlEycEVMRTFCUVUwc1ZVRkJWU3hIUVVGSExFMUJRVTBzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhaUVVGWkxFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVTTdVVUZGY0VVc1RVRkJUU3hEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExGbEJRVmtzUlVGQlJTeFRRVUZUTEVOQlFVTXNSVUZCUlN4VlFVRlZMRU5CUVVNc1EwRkJRenRSUVVNelJTeE5RVUZOTEVOQlFVTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU1zUlVGQlJTeGhRVUZoTEVOQlFVTXNRMEZCUXp0UlFVTnNSQ3hOUVVGTkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRlZCUVZVc1JVRkJSU3hIUVVGSExFZEJRVWNzWVVGQllTeERRVUZETEVOQlFVTTdVVUZEYWtVc1RVRkJUU3hOUVVGTkxFZEJRVWNzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRmFFTXNUMEZCVHl4TlFVRk5MRU5CUVVNN1NVRkRhRUlzUTBGQlF6dEpRVVZFT3pzN096dFBRVXRITzBsQlEwc3NiME5CUVc5RExFTkJRekZETEdGQlFXdERMRVZCUTJ4RExFMUJRV2RDTEVWQlEyaENMRTlCUVdVc1JVRkRaaXhYUVVGWExFZEJRVWNzUjBGQlJ6dFJRVVZxUWl4SlFVRkpMRmxCUVZrc1IwRkJSeXhuUWtGQlowSXNRMEZEYWtNc1lVRkJZU3hGUVVOaUxFMUJRVTBzUlVGRFRpeFhRVUZYTEVWQlExZ3NUMEZCVHl4RFFVTlNMRU5CUVVNN1VVRkRSaXhaUVVGWkxFZEJRVWNzVFVGQlRTeERRVUZETEdOQlFXTXNRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRSUVVOdVJDeFBRVUZQTEhOQ1FVRnpRaXhEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzBsQlF6bERMRU5CUVVNN1NVRkZSRHM3T3pzN08wOUJUVWM3U1VGRFN5eHBRa0ZCYVVJc1EwRkRka0lzVTBGQmEwSXNSVUZEYkVJc1EwRkJVeXhGUVVOVUxHbENRVUZwUWl4SFFVRkhMRWRCUVVjc1JVRkRka0lzUzBGQlN5eEhRVUZITEVWQlFVVXNSVUZEVml4VFFVRlRMRWRCUVVjc1IwRkJSenRSUVVWbUxFMUJRVTBzVFVGQlRTeEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETzFGQlEzWkVMRTFCUVUwc1IwRkJSeXhIUVVGSExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJRekZETEUxQlFVMHNUVUZCVFN4SFFVRkhMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUlRkRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUTNwRExFbEJRVWtzUlVGQlJTeEhRVUZITEVkQlFVY3NRMEZCUXp0WlFVTmlMRWxCUVVrc1JVRkJSU3hIUVVGSExGRkJRVkVzUTBGQlF6dFpRVU5zUWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU03V1VGRlpDdzJSRUZCTmtRN1dVRkROMFFzVFVGQlRTeFpRVUZaTEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMnhETEUxQlFVMHNXVUZCV1N4SFFVRkhMRmxCUVZrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRmRrUXNTVUZCU1N4WlFVRlpMRU5CUVVNc1RVRkJUU3hKUVVGSkxHbENRVUZwUWl4RlFVRkZPMmRDUVVNMVF5eEpRVUZKTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHbENRVUZwUWl4RFFVRkRMRU5CUVVNN1owSkJRekZETEVsQlFVa3NZVUZCWVN4SFFVRkhMR2xDUVVGcFFpeEhRVUZITEV0QlFVc3NRMEZCUXp0blFrRkRPVU1zU1VGQlNTeExRVUZMTEVkQlFVY3NRMEZCUXl4RlFVRkZPMjlDUVVOaUxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4WlFVRlpMRU5CUVVNc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzI5Q1FVTnFReXhKUVVGSkxHRkJRV0VzUjBGQlJ5eHJRa0ZCYTBJc1JVRkJSVHQzUWtGRGRFTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenMwUWtGRFNpeGhRVUZoTEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzV1VGQldTeERRVUZETEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8zRkNRVU51UlR0cFFrRkRSanR4UWtGQlRUdHZRa0ZEVEN4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzWVVGQllTeEhRVUZITEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRwUWtGRE1VTTdZVUZEUmp0cFFrRkJUU3hKUVVGSkxGbEJRVmtzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVRkZPMmRDUVVOc1F5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0aFFVTnNRenRaUVVWRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhMUVVGTExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUXpsQ0xFbEJRVWtzU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXp0blFrRkRaaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHR2UWtGRE5VTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dHZRa0ZEYmtNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTzNkQ1FVTlVMRWxCUVVrc1NVRkJTU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dHhRa0ZET1VJN2VVSkJRVTA3ZDBKQlEwd3NTVUZCU1N4SlFVRkpMRWRCUVVjc1EwRkJRenR4UWtGRFlqdHBRa0ZEUmp0blFrRkZSQ3hKUVVGSkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4SFFVRkhMRTFCUVUwc1EwRkJReXhIUVVGSExHdENRVUZyUWl4RlFVRkZPMjlDUVVOb1JDeE5RVUZOTzJsQ1FVTlFPMmRDUVVWRUxFbEJRVWtzU1VGQlNTeEhRVUZITEUxQlFVMHNSVUZCUlR0dlFrRkRha0lzUlVGQlJTeEhRVUZITEVkQlFVY3NRMEZCUXp0dlFrRkRWQ3hIUVVGSExFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRE8ybENRVU4yUWp0eFFrRkJUVHR2UWtGRFRDeEZRVUZGTEVkQlFVY3NSMEZCUnl4RFFVRkRPMjlDUVVOVUxFbEJRVWtzUlVGQlJTeExRVUZMTEZGQlFWRXNSVUZCUlR0M1FrRkRia0lzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXp0eFFrRkRWanQ1UWtGQlRUdDNRa0ZEVEN4SFFVRkhMRWRCUVVjc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRPM0ZDUVVOMlFqdHBRa0ZEUmp0aFFVTkdPMWxCUlVRc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXp0WlFVVm9RaXcyUkVGQk5rUTdXVUZETjBRc1NVRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RlFVRkZPMmRDUVVOb1FpeE5RVUZOTEdkQ1FVRm5RaXhIUVVGSExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1owSkJRMnhFTEVsQlFVa3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExHZENRVUZuUWl4SFFVRkhMR2RDUVVGblFpeEZRVUZGTzI5Q1FVTnVSQ3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NaMEpCUVdkQ0xFZEJRVWNzWjBKQlFXZENMRU5CUVVNN2FVSkJRMnBFTzJGQlEwWTdhVUpCUVUwN1owSkJRMHdzVFVGQlRTeGhRVUZoTEVkQlFVY3NTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVU0xUkN4SlFVRkpMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eG5Ra0ZCWjBJc1IwRkJSeXhoUVVGaExFVkJRVVU3YjBKQlEyaEVMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eG5Ra0ZCWjBJc1IwRkJSeXhoUVVGaExFTkJRVU03YVVKQlF6bERPMkZCUTBZN1UwRkRSanRSUVVWRUxFOUJRVThzUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGQlF6dEpRVU4yUXl4RFFVRkRPMGxCUlVRN096czdPMDlCUzBjN1NVRkRTeXd3UWtGQk1FSXNRMEZEYUVNc1ZVRkJiVUlzUlVGRGJrSXNXVUZCY1VJc1JVRkRja0lzVFVGQlowSXNSVUZEYUVJc1NVRkJZenRSUVVWa0xFMUJRVTBzVVVGQlVTeEhRVUZITEZWQlFWVXNRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkRia01zVFVGQlRTeFZRVUZWTEVkQlFVY3NWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVVY0UXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEZGQlFWRXNSMEZCUnl4VlFVRlZMRU5CUVVNc1EwRkJRenRSUVVOb1JDeE5RVUZOTEVsQlFVa3NSMEZCUnl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzUjBGQlJ5eFZRVUZWTEVOQlFVTXNRMEZCUXp0UlFVTm9SQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRkZCUVZFc1IwRkJSeXhWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVVZvUkN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NVVUZCVVN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRMnBETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFZRVUZWTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1owSkJRMjVETEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRFdpeEpRVUZKTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNSVUZCUlR0dlFrRkRNMElzVTBGQlV5eERRVUZETEcxRFFVRnRRenRwUWtGRE9VTTdaMEpCUTBRc1NVRkJTU3hWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRk8yOUNRVU14UWl4SFFVRkhMRWRCUVVjc1IwRkJSeXhEUVVGRE8ybENRVU5ZTzNGQ1FVRk5MRWxCUVVrc1dVRkJXU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEhRVUZITEVWQlFVVTdiMEpCUXpsRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTTdhVUpCUTFnN2NVSkJRVTA3YjBKQlEwd3NSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN2FVSkJReTlFTzJkQ1FVVkVMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzVlVGQlZTeEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRE4wSXNTVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhWUVVGVkxFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTTFReXhKUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZITEZWQlFWVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU03WVVGRGFFTTdVMEZEUmp0UlFVVkVMRTlCUVU4c1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4RFFVRkRPMGxCUXpsQ0xFTkJRVU03U1VGRlJEczdPenM3VDBGTFJ6dEpRVU5MTEdkRFFVRm5RenRSUVVOMFF5eE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03VVVGRmJFTXNUVUZCVFN4RlFVRkZMRmRCUVZjc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU0zUWl4TlFVRk5MRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMUZCUXpORExFbEJRVWtzVVVGQlVTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTnFRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1YwRkJWeXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0WlFVTXpReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eFhRVUZYTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkROMElzU1VGQlNTeFJRVUZSTEVkQlFVY3NWMEZCVnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRk8yZENRVU0zUWl4UlFVRlJMRWRCUVVjc1MwRkJTeXhEUVVGRE8yRkJRMnhDTzFOQlEwWTdVVUZGUkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSVHRaUVVOdVF5eEpRVUZKTEV0QlFVc3NSMEZCUnl4UlFVRlJMRWRCUVVjc1QwRkJUeXhGUVVGRk8yZENRVU01UWl4UFFVRlBMRU5CUVVNc1EwRkJRenRoUVVOV08ybENRVUZOTzJkQ1FVTk1MRTlCUVU4c1MwRkJTeXhEUVVGRE8yRkJRMlE3VVVGRFNDeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVklMSGxGUVVGNVJUdFJRVU42UlN4cFJVRkJhVVU3VVVGRGFrVXNWMEZCVnp0UlFVTllMRWxCUVVrc1EwRkJReXhUUVVGVExFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlR0WlFVTnFSQ3hQUVVGUExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJUdG5Ra0ZEZGtNc1QwRkJUeXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4M1FrRkJkMEk3V1VGRGVFVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRUQ3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVZJTEcxRFFVRnRRenRSUVVOdVF5eE5RVUZOTEU5QlFVOHNSMEZCWVN4RlFVRkZMRU5CUVVNN1VVRkROMElzVFVGQlRTeEpRVUZKTEVkQlFXRXNSVUZCUlN4RFFVRkRPMUZCUXpGQ0xFMUJRVTBzU1VGQlNTeEhRVUZoTEVWQlFVVXNRMEZCUXp0UlFVTXhRaXhOUVVGTkxGbEJRVmtzUjBGQlJ5eExRVUZMTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1VVRkRjRU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExGbEJRVmtzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkROVU1zVFVGQlRTeExRVUZMTEVkQlFVY3NXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRemxDTEVsQlFVa3NTMEZCU3l4RFFVRkRMRXRCUVVzc1JVRkJSVHRuUWtGRFppeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dG5Ra0ZETVVJc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1owSkJRM0pDTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzJGQlEzUkNPMU5CUTBZN1VVRkRSQ3hOUVVGTkxHVkJRV1VzUjBGQlJ5eEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zVDBGQlR5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUlc1RkxFOUJRVThzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMR1ZCUVdVc1JVRkJSU3hEUVVGRE8wbEJRM3BETEVOQlFVTTdTVUZGUkRzN08wOUJSMGM3U1VGRFN5eHRRa0ZCYlVJc1EwRkJReXhQUVVGcFFpeEZRVUZGTEU5QlFXVTdVVUZETlVRc1RVRkJUU3hOUVVGTkxFZEJRVWNzUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEYkVRc1RVRkJUU3hIUVVGSExFZEJRVWNzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVNdlFpeE5RVUZOTEZGQlFWRXNSMEZCUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEVOQlFVTTdVVUZEZGtRc1VVRkJVU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVONFFpeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRPMmRDUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4UFFVRlBMRWRCUVVjc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF5OURMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMGdzVDBGQlR5eE5RVUZOTEVOQlFVTTdTVUZEYUVJc1EwRkJRenRKUVVWRU96dFBRVVZITzBsQlEwc3NhVU5CUVdsRExFTkJRVU1zUzBGQmFVTTdVVUZEZWtVc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdTVUZETDBNc1EwRkJRenRKUVVWRU96czdUMEZIUnp0SlFVTkxMREJDUVVFd1FqdFJRVU5vUXl4clFrRkJhMEk3VVVGRGJFSXNUVUZCVFN4RlFVRkZMR2xDUVVGcFFpeEZRVUZGTEZsQlFWa3NSVUZCUlN4clFrRkJhMElzUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXp0UlFVVnlSU3hOUVVGTkxFVkJRMG9zWlVGQlpTeEZRVU5tTEdGQlFXRXNSVUZEWWl4aFFVRmhMRWRCUTJRc1IwRkJSeXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNN1VVRkZNMElzVFVGQlRTeEhRVUZITEVkQlFVY3NZVUZCWVN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU53UXl4TlFVRk5MRk5CUVZNc1IwRkJSeXhoUVVGaExFTkJRVU1zVFVGQlRTeExRVUZMTEdGQlFXRXNRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkZhRVVzVFVGQlRTeDFRa0ZCZFVJc1IwRkJSeXhsUVVGbExFTkJRVU1zUjBGQlJ5eERRVU5xUkN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUjBGQlJ5eHJRa0ZCYTBJc1EwRkROVUlzUTBGQlF6dFJRVU5HTEUxQlFVMHNlVUpCUVhsQ0xFZEJRVWNzUTBGQlF5eEhRVUZITEhWQ1FVRjFRaXhEUVVGRExFTkJRVU03VVVGREwwUXNUVUZCVFN4cFFrRkJhVUlzUjBGQlJ5eERRVUZETEVkQlFVY3NaVUZCWlN4RFFVRkRMRU5CUVVNN1VVRkZMME1zU1VGQlNTeERRVUZETEdsRFFVRnBReXhEUVVGRE8xbEJRM0pETEdsQ1FVRnBRanRaUVVOcVFpeDVRa0ZCZVVJN1dVRkRla0lzZFVKQlFYVkNPMWxCUTNaQ0xGTkJRVk03V1VGRFZDeFpRVUZaTEVWQlFVVXNXVUZCV1R0WlFVTXhRaXhMUVVGTExFVkJRVVVzV1VGQldUdFpRVU51UWl4TFFVRkxMRVZCUVVVc2FVSkJRV2xDTzFsQlEzaENMRWRCUVVjN1UwRkRTaXhEUVVGRExFTkJRVU03U1VGRFRDeERRVUZETzBsQlJVUTdPMDlCUlVjN1NVRkRTeXh6UWtGQmMwSTdVVUZETlVJc2EwSkJRV3RDTzFGQlEyeENMRTFCUVUwc1lVRkJZU3hIUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTTdVVUZEY2tNc1RVRkJUU3hoUVVGaExFZEJRVWNzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXp0UlFVVnlReXh2UkVGQmIwUTdVVUZEY0VRc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVVXNaVUZCWlN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRPMUZCUlM5RUxFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkJRenRSUVVOc1F5eE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF6dFJRVVZ1UXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEhRVUZITEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVVjZSQ3hKUVVGSkxFTkJRVU1zYVVOQlFXbERMRU5CUVVNN1dVRkRja01zWVVGQllUdFpRVU5pTEdGQlFXRTdXVUZEWWl4SlFVRkpPMWxCUTBvc1NVRkJTVHRaUVVOS0xHVkJRV1U3V1VGRFppeERRVUZETzFsQlEwUXNRMEZCUXp0WlFVTkVMRTlCUVU4N1dVRkRVQ3hUUVVGVE8xTkJRMVlzUTBGQlF5eERRVUZETzBsQlEwd3NRMEZCUXp0SlFVVkVPenM3T3pzN1QwRk5SenRKUVVOTExHdENRVUZyUWl4RFFVRkRMRU5CUVZNN1VVRkRiRU1zVFVGQlRTeEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxFZEJRVWNzU1VGQlNTeERRVUZETzFGQlEyNURMRTFCUVUwc1JVRkRTaXhKUVVGSkxFVkJRMG9zU1VGQlNTeEZRVU5LTEdGQlFXRXNSVUZEWWl4aFFVRmhMRVZCUTJJc1pVRkJaU3hGUVVObUxHbENRVUZwUWl4RlFVTnFRaXg1UWtGQmVVSXNSVUZEZWtJc2RVSkJRWFZDTEVWQlEzWkNMRk5CUVZNc1JVRkRWQ3haUVVGWkxFVkJRMW9zUzBGQlN5eEZRVU5NTEV0QlFVc3NSVUZEVEN4RFFVRkRMRVZCUTBRc1EwRkJReXhGUVVORUxFZEJRVWNzUlVGRFNDeFBRVUZQTEVWQlExQXNVMEZCVXl4SFFVTldMRWRCUVVjc2FVSkJRV2xDTEVOQlFVTTdVVUZGZEVJc1RVRkJUU3hUUVVGVExFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlJYUkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4bFFVRmxMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlF5OURMRWxCUVVrc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRk8yZENRVU0xUWl4VFFVRlRPMkZCUTFZN1dVRkZSQ3hOUVVGTkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRiRUlzVFVGQlRTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJSV3hDTEUxQlFVMHNUMEZCVHl4SFFVRkhMR0ZCUVdFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5xUXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhoUVVGaExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZGTDBJc1RVRkJUU3hYUVVGWExFZEJRVWNzUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVVeFF5eEpRVUZKTEZOQlFWTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRiRUlzU1VGQlNTeFhRVUZYTEVkQlFVY3NRMEZCUXl4RlFVRkZPMmRDUVVOdVFpeFRRVUZUTEVkQlFVY3NRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdaMEpCUXpGRUxGTkJRVk1zU1VGQlNTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRPMkZCUTJwRU8xbEJSVVFzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkROVUlzVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRk5CUVZNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXp0blFrRkRia1VzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU03WjBKQlF6VkNMRWxCUVVrc1UwRkJVeXhGUVVGRk8yOUNRVU5pTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdhVUpCUXpWQ08yRkJRMFk3V1VGRlJDeHBRa0ZCYVVJc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeGxRVUZsTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkZNME1zVFVGQlRTeFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkROVUlzUTBGQlF5eERRVUZETEVkQlFVY3NlVUpCUVhsQ0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4MVFrRkJkVUlzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZEYUVVc1EwRkJRenRaUVVWR0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhYUVVGWExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUTNCRExFMUJRVTBzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0blFrRkRia1FzVFVGQlRTeExRVUZMTEVkQlFVY3NZVUZCWVN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVVV2UWl4TlFVRk5MRmRCUVZjc1IwRkJSeXhMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMmRDUVVVeFF5eEpRVUZKTEZOQlFWTXNSMEZCUnl4SFFVRkhMRU5CUVVNN1owSkJRM0JDTEVsQlFVa3NWMEZCVnl4SFFVRkhMRWRCUVVjc1JVRkJSVHR2UWtGRGNrSXNVMEZCVXl4SFFVRkhMRWRCUVVjc1IwRkJSeXhMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETzI5Q1FVTTFRaXhUUVVGVE8zZENRVU5RTEVOQlFVTXNTMEZCU3l4SFFVRkhMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMmxDUVVNNVJEdHhRa0ZCVFN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVU3YjBKQlEyeENMRk5CUVZNN2FVSkJRMVk3WjBKQlJVUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHR2UWtGRE5VSXNTVUZCU1N4TFFVRkxMRWRCUVVjc1IwRkJSeXhEUVVGRE8yOUNRVU5vUWl4SlFVRkpMRk5CUVZNc1IwRkJSeXhIUVVGSExFVkJRVVU3ZDBKQlEyNUNMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRk5CUVZNc1EwRkJReXhEUVVGRE8zRkNRVU01UkR0dlFrRkRSQ3hQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRwUWtGRE4wSTdZVUZEUmp0WlFVTkVMSGxDUVVGNVFpeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRmRCUVZjc1IwRkJSeXgxUWtGQmRVSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRUUVVNeFJUdFJRVU5FTEdsQ1FVRnBRaXhEUVVGRExFdEJRVXNzUjBGQlJ5eFpRVUZaTEVkQlFVY3NRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhIUVVGSExFOUJRVThzUTBGQlF5eERRVUZETzFGQlJUZEVMR2xDUVVGcFFpeERRVUZETEZsQlFWa3NTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRjRU1zVDBGQlR5eGhRVUZoTEVOQlFVTTdTVUZEZGtJc1EwRkJRenRKUVVWRU96czdPenM3VDBGTlJ6dEpRVU5MTEcxQ1FVRnRRaXhEUVVONlFpeG5Ra0ZCZVVRc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNUdFJRVVZ1UlN4UFFVRlBMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RlFVRkZPMWxCUTNKRExFMUJRVTBzU1VGQlNTeEhRVUZITEV0QlFVc3NTVUZCU1N4RlFVRkZPMmRDUVVOMFFpeEpRVUZKTzI5Q1FVTkdMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzV1VGQldTeEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETzI5Q1FVTjZSQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0dlFrRkRka1FzVFVGQlRTeGpRVUZqTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEZsQlFWa3NRMEZCUXp0dlFrRkRNMFFzVFVGQlRTeFZRVUZWTEVkQlFVY3NZVUZCWVN4RFFVRkRMR05CUVdNc1EwRkJReXhMUVVGTExFdEJRVXNzUTBGQlF6dHZRa0ZETTBRc1RVRkJUU3hWUVVGVkxFZEJRVWNzWTBGQll5eExRVUZMTEU5QlFVOHNRMEZCUXp0dlFrRkRPVU1zU1VGQlNTeERRVUZETEZWQlFWVXNTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSVHQzUWtGRE9VSXNWVUZCVlN4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPM0ZDUVVNM1FqdDVRa0ZCVFR0M1FrRkRUQ3hQUVVGUExFOUJRVThzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0eFFrRkROVUk3YVVKQlEwWTdaMEpCUVVNc1QwRkJUeXhIUVVGSExFVkJRVVU3YjBKQlExb3NUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8ybENRVU5pTzFsQlEwZ3NRMEZCUXl4RFFVRkRPMWxCUTBZc1ZVRkJWU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRemxDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTB3c1EwRkJRenRKUVVWRU96czdPenM3VDBGTlJ6dEpRVU5MTEdOQlFXTXNRMEZEY0VJc1owSkJRWGxFTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrN1VVRkZia1VzU1VGQlNTeFZRVUZWTEVkQlFVY3NTMEZCU3l4RFFVRkRPMUZCUTNaQ0xFbEJRVWtzVTBGQlV5eEhRVUZaTEVWQlFVVXNRMEZCUXp0UlFVTTFRaXhQUVVGUExFTkJRVU1zVlVGQlZTeEZRVUZGTzFsQlEyeENMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzV1VGQldTeEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETzFsQlEzcEVMRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03V1VGRGJFUXNUVUZCVFN4alFVRmpMRWRCUVVjc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRmxCUVZrc1EwRkJRenRaUVVNelJDeE5RVUZOTEZWQlFWVXNSMEZCUnl4aFFVRmhMRU5CUVVNc1kwRkJZeXhEUVVGRExFdEJRVXNzUzBGQlN5eERRVUZETzFsQlF6TkVMRlZCUVZVc1IwRkJSeXhqUVVGakxFdEJRVXNzVDBGQlR5eEpRVUZKTEZWQlFWVXNRMEZCUXp0VFFVTjJSRHRSUVVORUxFOUJRVThzVTBGQlV5eERRVUZETzBsQlEyNUNMRU5CUVVNN1NVRkZSRHM3TzA5QlIwYzdTVUZEU1N4VlFVRlZPMUZCUTJZc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXp0UlFVVjZRaXhKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVkQlFVY3NRMEZCUXl4RlFVRkZPMWxCUTNCQ0xFOUJRVThzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXp0VFFVTnlRanRSUVVWRUxFbEJRVWtzUTBGQlF5eExRVUZMTEVWQlFVVTdXVUZEVml4UFFVRlBMRWRCUVVjc1EwRkJRenRUUVVOYU8xRkJSVVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJRenRSUVVNelFpeEpRVUZKTEUxQlFVMHNTVUZCU1N4SlFVRkpMRVZCUVVVN1dVRkRiRUlzVDBGQlR5eEhRVUZITEVOQlFVTTdVMEZEV2p0aFFVRk5MRWxCUVVrc1RVRkJUU3hKUVVGSkxFbEJRVWtzUlVGQlJUdFpRVU42UWl4UFFVRlBMRWRCUVVjc1EwRkJRenRUUVVOYU8yRkJRVTBzU1VGQlNTeE5RVUZOTEVsQlFVa3NTVUZCU1N4RlFVRkZPMWxCUTNwQ0xFOUJRVThzUjBGQlJ5eERRVUZETzFOQlExbzdZVUZCVFR0WlFVTk1MRTlCUVU4c1IwRkJSeXhEUVVGRE8xTkJRMW83U1VGRFNDeERRVUZETzBOQlEwWTdRVUZGUkN4TlFVRk5MRlZCUVZVc1UwRkJVeXhEUVVGRExFTkJRVk1zUlVGQlJTeERRVUZUTzBsQlF6VkRMRWxCUVVrc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU5tTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xRkJRMnBETEUxQlFVMHNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03UzBGRE9VSTdTVUZEUkN4UFFVRlBMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdRVUZETTBJc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeFBRVUZQTEVOQlFVTXNRMEZCVXl4RlFVRkZMRU5CUVZNN1NVRkRNVU1zVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZETDBJc1QwRkJUeXhOUVVGTkxFTkJRVU03UVVGRGFFSXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hOUVVGTkxFTkJRVU1zUTBGQlV5eEZRVUZGTEVOQlFWTTdTVUZEZWtNc1NVRkJTU3hOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlEycENMRWxCUVVrc1MwRkJTeXhIUVVGSExFZEJRVWNzUTBGQlF6dEpRVU5vUWl4SlFVRkpMRXRCUVVzc1IwRkJSeXhIUVVGSExFTkJRVU03U1VGRmFFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGFrTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRkRUlzUzBGQlN5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRGJrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTMEZEY0VJN1NVRkZSQ3hKUVVGSkxFdEJRVXNzUzBGQlN5eERRVUZETEVsQlFVa3NTMEZCU3l4TFFVRkxMRU5CUVVNc1JVRkJSVHRSUVVNNVFpeFBRVUZQTEVOQlFVTXNRMEZCUXp0TFFVTldPMU5CUVUwc1NVRkJTU3hMUVVGTExFdEJRVXNzUTBGQlF5eEpRVUZKTEV0QlFVc3NTMEZCU3l4RFFVRkRMRVZCUVVVN1VVRkRja01zVDBGQlR5eEhRVUZITEVOQlFVTTdTMEZEV2p0VFFVRk5PMUZCUTB3c1QwRkJUeXhIUVVGSExFZEJRVWNzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF5eERRVUZETzB0QlEyaEVPMEZCUTBnc1EwRkJRenRCUVVWRU96czdSMEZIUnp0QlFVTklMRTFCUVUwc2FVSkJRV2xDTzBsQlEzSkNMRmxCUVZrc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRmFrSXNNRU5CUVRCRE8wbEJRekZETEdGQlFXRXNSMEZCWlN4RlFVRkZMRU5CUVVNN1NVRkRMMElzWVVGQllTeEhRVUZsTEVWQlFVVXNRMEZCUXp0SlFVTXZRaXhKUVVGSkxFZEJRV0VzUlVGQlJTeERRVUZETzBsQlEzQkNMRWxCUVVrc1IwRkJZU3hGUVVGRkxFTkJRVU03U1VGRGNFSXNaVUZCWlN4SFFVRmhMRVZCUVVVc1EwRkJRenRKUVVNdlFpeHBRa0ZCYVVJc1IwRkJZU3hGUVVGRkxFTkJRVU03U1VGRGFrTXNlVUpCUVhsQ0xFZEJRV0VzUlVGQlJTeERRVUZETzBsQlEzcERMSFZDUVVGMVFpeEhRVUZoTEVWQlFVVXNRMEZCUXp0SlFVTjJReXhUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETzBsQlEycENMRmxCUVZrc1IwRkJSeXhIUVVGSExFTkJRVU03U1VGRGJrSXNTMEZCU3l4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVOYUxFdEJRVXNzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZEV2l4RFFVRkRMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTTdTVUZEZGtJc1EwRkJReXhIUVVGSExHdENRVUZyUWl4RFFVRkRPMGxCUTNaQ0xFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEVWl4UFFVRlBMRWRCUVVjc1IwRkJSeXhEUVVGRE8wbEJRMlFzVTBGQlV5eEhRVUZITEVOQlFVTXNRMEZCUXp0RFFVTm1PMEZCUlVRN08wZEJSVWM3UVVGRFNDeFRRVUZUTEVsQlFVa3NRMEZCUXl4RFFVRlRMRVZCUVVVc1UwRkJhVUk3U1VGRGVFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1UwRkJVenRSUVVGRkxFOUJRVThzVTBGQlV5eERRVUZETzFOQlF5OUNMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zVTBGQlV6dFJRVUZGTEU5QlFVOHNRMEZCUXl4VFFVRlRMRU5CUVVNN08xRkJRM1JETEU5QlFVOHNRMEZCUXl4RFFVRkRPMEZCUTJoQ0xFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRk5CUVZNc1MwRkJTeXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzSkRMRWxCUVVrc1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF6dEpRVU5xUWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFJRVU5xUXl4TlFVRk5MRWxCUVVrc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMHRCUTNCRE8wbEJRMFFzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96czdPenRIUVV0SE8wRkJRMGdzVFVGQlRTeFZRVUZWTEZsQlFWa3NRMEZCUXl4TlFVRmpMRVZCUVVVc1QwRkJaVHRKUVVNeFJDeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlZ5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVZNc1JVRkJSU3hGUVVGRk8xRkJRMmhFTEU5QlFVOHNSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU40UXl4RFFVRkRMRU5CUVVNN1NVRkZSaXhOUVVGTkxFVkJRVVVzUjBGQlJ5eExRVUZMTzFOQlEySXNUVUZCVFN4RFFVRkRMRU5CUVVNc1JVRkJSU3hOUVVGTkxFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXp0VFFVTXhRaXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVVV6UXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RlFVRkZMRVZCUVVVN1VVRkRia1FzVFVGQlRTeEhRVUZITEVkQlFVY3NSVUZCUlN4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFOUJRVThzUTBGQlF6dFJRVU5xUXl4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTTdTVUZETDBRc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRlNDeE5RVUZOTEdGQlFXRXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU5xUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRE8wbEJSVGxDTERCRVFVRXdSRHRKUVVNeFJDeE5RVUZOTEU5QlFVOHNSMEZCUnp0UlFVTmtMRTlCUVU4c1JVRkJSU3hIUVVGSE8xRkJRMW9zWVVGQllUdFJRVU5pTEd0Q1FVRnJRaXhGUVVGRkxFdEJRVXM3VVVGRGVrSXNZVUZCWVN4RlFVRkZMRWRCUVVjN1VVRkRiRUlzWTBGQll5eEZRVUZGTEV0QlFVczdTMEZEZEVJc1EwRkJRenRKUVVWR0xFMUJRVTBzUlVGQlJTeGxRVUZsTEVWQlFVVXNSMEZCUnl4RlFVRkZMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXp0SlFVTnlSQ3hOUVVGTkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4SFFVRkhMR1ZCUVRKQ0xFTkJRVU03U1VGRE0wTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF6dEJRVU5zUWl4RFFVRkRPMEZCUlVRN096dEhRVWRITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR2RDUVVGblFpeERRVU01UWl4TFFVRXdRaXhGUVVNeFFpeE5RVUZuUWl4RlFVTm9RaXhYUVVGWExFZEJRVWNzUjBGQlJ5eEZRVU5xUWl4UFFVRlBMRWRCUVVjc1IwRkJSenRKUVVWaUxFOUJRVThzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVWQlFVVTdVVUZEYmtNc1NVRkJTU3hOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RlFVRkZPMWxCUXpWRExFOUJRVThzUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dFRRVU4yUXp0aFFVRk5MRWxCUVVrc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSVHRaUVVOMFF5eFBRVUZQTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdVMEZEYmtNN1lVRkJUVHRaUVVOTUxFOUJRVThzUzBGQlN5eERRVUZETzFOQlEyUTdTVUZEU0N4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOTUxFTkJRVU03UVVGRlJEczdPenM3UjBGTFJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4elFrRkJjMElzUTBGQlF5eGhRVUZyUXp0SlFVTjJSU3hoUVVGaExFZEJRVWNzVFVGQlRTeERRVUZETEZOQlFWTXNRMEZCUXl4aFFVRmhMR3REUVVGelFpeERRVUZETzBsQlEzSkZMRTFCUVUwc1UwRkJVeXhIUVVGSExFMUJRVTBzUTBGQlF5eFRRVUZUTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNN1NVRkRiRVFzVFVGQlRTeFZRVUZWTEVkQlFVY3NUVUZCVFN4RFFVRkRMR2RDUVVGblFpeERRVUZETEZOQlFWTXNSVUZCUlN4aFFVRmhMRU5CUVVNc1EwRkJRenRKUVVOeVJTeGhRVUZoTEVkQlFVY3NUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkRlRUlzWVVGQllTeEZRVU5pTEUxQlFVMHNRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhGUVVGRkxGVkJRVlVzUTBGQlF5eERRVU4yUXl4RFFVRkRPMGxCUTBZc1QwRkJUeXhOUVVGTkxFTkJRVU1zWTBGQll5eERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRPMEZCUXpsRExFTkJRVU03UVVGRlJEczdPenRIUVVsSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdGQlFXRXNRMEZETTBJc1QwRkJiVUlzUlVGRGJrSXNUMEZCYlVJc1JVRkRia0lzVTBGQmEwSTdTVUZGYkVJc1RVRkJUU3hOUVVGTkxFZEJRVWNzUzBGQlN6dFRRVU5xUWl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF6dFRRVU55UWl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlRsRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTNaRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRekZETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzJkQ1FVTTFReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlEzaENMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJGQlEycEVPMU5CUTBZN1MwRkRSanRKUVVORUxFOUJRVThzVFVGQlRTeERRVUZETzBGQlEyaENMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnNhV05sYm5ObFhHNGdLbHh1SUNvZ1EyOXdlWEpwWjJoMElESXdNVGtnUjI5dloyeGxJRXhNUXk0Z1FXeHNJRkpwWjJoMGN5QlNaWE5sY25abFpDNWNiaUFxWEc0Z0tpQk1hV05sYm5ObFpDQjFibVJsY2lCMGFHVWdRWEJoWTJobElFeHBZMlZ1YzJVc0lGWmxjbk5wYjI0Z01pNHdJQ2gwYUdVZ1hDSk1hV05sYm5ObFhDSXBPMXh1SUNvZ2VXOTFJRzFoZVNCdWIzUWdkWE5sSUhSb2FYTWdabWxzWlNCbGVHTmxjSFFnYVc0Z1kyOXRjR3hwWVc1alpTQjNhWFJvSUhSb1pTQk1hV05sYm5ObExseHVJQ29nV1c5MUlHMWhlU0J2WW5SaGFXNGdZU0JqYjNCNUlHOW1JSFJvWlNCTWFXTmxibk5sSUdGMFhHNGdLbHh1SUNvZ0lDQWdJR2gwZEhBNkx5OTNkM2N1WVhCaFkyaGxMbTl5Wnk5c2FXTmxibk5sY3k5TVNVTkZUbE5GTFRJdU1GeHVJQ3BjYmlBcUlGVnViR1Z6Y3lCeVpYRjFhWEpsWkNCaWVTQmhjSEJzYVdOaFlteGxJR3hoZHlCdmNpQmhaM0psWldRZ2RHOGdhVzRnZDNKcGRHbHVaeXdnYzI5bWRIZGhjbVZjYmlBcUlHUnBjM1J5YVdKMWRHVmtJSFZ1WkdWeUlIUm9aU0JNYVdObGJuTmxJR2x6SUdScGMzUnlhV0oxZEdWa0lHOXVJR0Z1SUZ3aVFWTWdTVk5jSWlCQ1FWTkpVeXhjYmlBcUlGZEpWRWhQVlZRZ1YwRlNVa0ZPVkVsRlV5QlBVaUJEVDA1RVNWUkpUMDVUSUU5R0lFRk9XU0JMU1U1RUxDQmxhWFJvWlhJZ1pYaHdjbVZ6Y3lCdmNpQnBiWEJzYVdWa0xseHVJQ29nVTJWbElIUm9aU0JNYVdObGJuTmxJR1p2Y2lCMGFHVWdjM0JsWTJsbWFXTWdiR0Z1WjNWaFoyVWdaMjkyWlhKdWFXNW5JSEJsY20xcGMzTnBiMjV6SUdGdVpGeHVJQ29nYkdsdGFYUmhkR2x2Ym5NZ2RXNWtaWElnZEdobElFeHBZMlZ1YzJVdVhHNGdLaUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNiaUFxTDF4dVhHNHZLaXBjYmlBcUlGUm9hWE1nYVhNZ1lTQktZWFpoVTJOeWFYQjBJSEpsYVcxd2JHVnRaVzUwWVhScGIyNGdiMllnVlUxQlVDQW9iM0pwWjJsdVlXd2diR2xqWlc1elpTQmlaV3h2ZHlrc0lHWnliMjFjYmlBcUlIUm9aU0J3ZVhSb2IyNGdhVzF3YkdWdFpXNTBZWFJwYjI0Z1ptOTFibVFnWVhRZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyeHRZMmx1Ym1WekwzVnRZWEF1WEc0Z0tseHVJQ29nUUdGMWRHaHZjaUJoYm1SNVkyOWxibVZ1UUdkdmIyZHNaUzVqYjIwZ0tFRnVaSGtnUTI5bGJtVnVLVnh1SUNvdlhHNWNiaThxS2x4dUlDb2dRR3hwWTJWdWMyVmNiaUFxSUVKVFJDQXpMVU5zWVhWelpTQk1hV05sYm5ObFhHNGdLbHh1SUNvZ1EyOXdlWEpwWjJoMElDaGpLU0F5TURFM0xDQk1aV3hoYm1RZ1RXTkpibTVsYzF4dUlDb2dRV3hzSUhKcFoyaDBjeUJ5WlhObGNuWmxaQzVjYmlBcVhHNGdLaUJTWldScGMzUnlhV0oxZEdsdmJpQmhibVFnZFhObElHbHVJSE52ZFhKalpTQmhibVFnWW1sdVlYSjVJR1p2Y20xekxDQjNhWFJvSUc5eUlIZHBkR2h2ZFhSY2JpQXFJRzF2WkdsbWFXTmhkR2x2Yml3Z1lYSmxJSEJsY20xcGRIUmxaQ0J3Y205MmFXUmxaQ0IwYUdGMElIUm9aU0JtYjJ4c2IzZHBibWNnWTI5dVpHbDBhVzl1Y3lCaGNtVWdiV1YwT2x4dUlDcGNiaUFxSUNvZ1VtVmthWE4wY21saWRYUnBiMjV6SUc5bUlITnZkWEpqWlNCamIyUmxJRzExYzNRZ2NtVjBZV2x1SUhSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sTENCMGFHbHpYRzRnS2lBZ0lHeHBjM1FnYjJZZ1kyOXVaR2wwYVc5dWN5QmhibVFnZEdobElHWnZiR3h2ZDJsdVp5QmthWE5qYkdGcGJXVnlMbHh1SUNwY2JpQXFJQ29nVW1Wa2FYTjBjbWxpZFhScGIyNXpJR2x1SUdKcGJtRnllU0JtYjNKdElHMTFjM1FnY21Wd2NtOWtkV05sSUhSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sTEZ4dUlDb2dJQ0IwYUdseklHeHBjM1FnYjJZZ1kyOXVaR2wwYVc5dWN5QmhibVFnZEdobElHWnZiR3h2ZDJsdVp5QmthWE5qYkdGcGJXVnlJR2x1SUhSb1pTQmtiMk4xYldWdWRHRjBhVzl1WEc0Z0tpQWdJR0Z1WkM5dmNpQnZkR2hsY2lCdFlYUmxjbWxoYkhNZ2NISnZkbWxrWldRZ2QybDBhQ0IwYUdVZ1pHbHpkSEpwWW5WMGFXOXVMbHh1SUNwY2JpQXFJQ29nVG1WcGRHaGxjaUIwYUdVZ2JtRnRaU0J2WmlCMGFHVWdZMjl3ZVhKcFoyaDBJR2h2YkdSbGNpQnViM0lnZEdobElHNWhiV1Z6SUc5bUlHbDBjMXh1SUNvZ0lDQmpiMjUwY21saWRYUnZjbk1nYldGNUlHSmxJSFZ6WldRZ2RHOGdaVzVrYjNKelpTQnZjaUJ3Y205dGIzUmxJSEJ5YjJSMVkzUnpJR1JsY21sMlpXUWdabkp2YlZ4dUlDb2dJQ0IwYUdseklITnZablIzWVhKbElIZHBkR2h2ZFhRZ2MzQmxZMmxtYVdNZ2NISnBiM0lnZDNKcGRIUmxiaUJ3WlhKdGFYTnphVzl1TGx4dUlDcGNiaUFxSUZSSVNWTWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnUWxrZ1ZFaEZJRU5QVUZsU1NVZElWQ0JJVDB4RVJWSlRJRUZPUkNCRFQwNVVVa2xDVlZSUFVsTWdYQ0pCVXlCSlUxd2lYRzRnS2lCQlRrUWdRVTVaSUVWWVVGSkZVMU1nVDFJZ1NVMVFURWxGUkNCWFFWSlNRVTVVU1VWVExDQkpUa05NVlVSSlRrY3NJRUpWVkNCT1QxUWdURWxOU1ZSRlJDQlVUeXdnVkVoRlhHNGdLaUJKVFZCTVNVVkVJRmRCVWxKQlRsUkpSVk1nVDBZZ1RVVlNRMGhCVGxSQlFrbE1TVlJaSUVGT1JDQkdTVlJPUlZOVElFWlBVaUJCSUZCQlVsUkpRMVZNUVZJZ1VGVlNVRTlUUlNCQlVrVmNiaUFxSUVSSlUwTk1RVWxOUlVRdUlFbE9JRTVQSUVWV1JVNVVJRk5JUVV4TUlGUklSU0JEVDFCWlVrbEhTRlFnU0U5TVJFVlNJRTlTSUVOUFRsUlNTVUpWVkU5U1V5QkNSU0JNU1VGQ1RFVmNiaUFxSUVaUFVpQkJUbGtnUkVsU1JVTlVMQ0JKVGtSSlVrVkRWQ3dnU1U1RFNVUkZUbFJCVEN3Z1UxQkZRMGxCVEN3Z1JWaEZUVkJNUVZKWkxDQlBVaUJEVDA1VFJWRlZSVTVVU1VGTVhHNGdLaUJFUVUxQlIwVlRJQ2hKVGtOTVZVUkpUa2NzSUVKVlZDQk9UMVFnVEVsTlNWUkZSQ0JVVHl3Z1VGSlBRMVZTUlUxRlRsUWdUMFlnVTFWQ1UxUkpWRlZVUlNCSFQwOUVVeUJQVWx4dUlDb2dVMFZTVmtsRFJWTTdJRXhQVTFNZ1QwWWdWVk5GTENCRVFWUkJMQ0JQVWlCUVVrOUdTVlJUT3lCUFVpQkNWVk5KVGtWVFV5QkpUbFJGVWxKVlVGUkpUMDRwSUVoUFYwVldSVkpjYmlBcUlFTkJWVk5GUkNCQlRrUWdUMDRnUVU1WklGUklSVTlTV1NCUFJpQk1TVUZDU1V4SlZGa3NJRmRJUlZSSVJWSWdTVTRnUTA5T1ZGSkJRMVFzSUZOVVVrbERWQ0JNU1VGQ1NVeEpWRmtzWEc0Z0tpQlBVaUJVVDFKVUlDaEpUa05NVlVSSlRrY2dUa1ZIVEVsSFJVNURSU0JQVWlCUFZFaEZVbGRKVTBVcElFRlNTVk5KVGtjZ1NVNGdRVTVaSUZkQldTQlBWVlFnVDBZZ1ZFaEZJRlZUUlZ4dUlDb2dUMFlnVkVoSlV5QlRUMFpVVjBGU1JTd2dSVlpGVGlCSlJpQkJSRlpKVTBWRUlFOUdJRlJJUlNCUVQxTlRTVUpKVEVsVVdTQlBSaUJUVlVOSUlFUkJUVUZIUlM1Y2JpQXFMMXh1WEc1cGJYQnZjblFnS2lCaGN5Qm9aV0Z3SUdaeWIyMGdKeTR2YUdWaGNDYzdYRzVwYlhCdmNuUWdLaUJoY3lCdFlYUnlhWGdnWm5KdmJTQW5MaTl0WVhSeWFYZ25PMXh1YVcxd2IzSjBJQ29nWVhNZ2JtNUVaWE5qWlc1MElHWnliMjBnSnk0dmJtNWZaR1Z6WTJWdWRDYzdYRzVwYlhCdmNuUWdLaUJoY3lCMGNtVmxJR1p5YjIwZ0p5NHZkSEpsWlNjN1hHNXBiWEJ2Y25RZ0tpQmhjeUIxZEdsc2N5Qm1jbTl0SUNjdUwzVjBhV3h6Snp0Y2JtbHRjRzl5ZENCTVRTQm1jbTl0SUNkdGJDMXNaWFpsYm1KbGNtY3RiV0Z5Y1hWaGNtUjBKenRjYmx4dVpYaHdiM0owSUhSNWNHVWdSR2x6ZEdGdVkyVkdiaUE5SUNoNE9pQnVkVzFpWlhJc0lIazZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlPMXh1Wlhod2IzSjBJSFI1Y0dVZ1VtRnVaRzl0Um00Z1BTQW9LU0E5UGlCdWRXMWlaWEk3WEc1bGVIQnZjblFnZEhsd1pTQkZjRzlqYUVOaGJHeGlZV05ySUQwZ0tHVndiMk5vT2lCdWRXMWlaWElwSUQwK0lHSnZiMnhsWVc0Z2ZDQjJiMmxrTzF4dVpYaHdiM0owSUhSNWNHVWdWbVZqZEc5eUlEMGdiblZ0WW1WeVcxMDdYRzVsZUhCdmNuUWdkSGx3WlNCV1pXTjBiM0p6SUQwZ1ZtVmpkRzl5VzEwN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnWlc1MWJTQlVZWEpuWlhSTlpYUnlhV01nZTF4dUlDQmpZWFJsWjI5eWFXTmhiQ0E5SUNkallYUmxaMjl5YVdOaGJDY3NYRzRnSUd3eElEMGdKMnd4Snl4Y2JpQWdiRElnUFNBbmJESW5MRnh1ZlZ4dVhHNWpiMjV6ZENCVFRVOVBWRWhmUzE5VVQweEZVa0ZPUTBVZ1BTQXhaUzAxTzF4dVkyOXVjM1FnVFVsT1gwdGZSRWxUVkY5VFEwRk1SU0E5SURGbExUTTdYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVlUxQlVGQmhjbUZ0WlhSbGNuTWdlMXh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJR1JwYzNSaGJtTmxJR1oxYm1OMGFXOXVJSGRwZEdnZ2QyaHBZMmdnZEc4Z1lYTnpaWE56SUc1bFlYSmxjM1FnYm1WcFoyaGliM0p6TENCa1pXWmhkV3gwYzF4dUlDQWdLaUIwYnlCbGRXTnNhV1JsWVc0Z1pHbHpkR0Z1WTJVdVhHNGdJQ0FxTDF4dUlDQmthWE4wWVc1alpVWnVQem9nUkdsemRHRnVZMlZHYmp0Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCcGJtbDBhV0ZzSUd4bFlYSnVhVzVuSUhKaGRHVWdabTl5SUhSb1pTQmxiV0psWkdScGJtY2diM0IwYVcxcGVtRjBhVzl1TGx4dUlDQWdLaTljYmlBZ2JHVmhjbTVwYm1kU1lYUmxQem9nYm5WdFltVnlPMXh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJR3h2WTJGc0lHTnZibTVsWTNScGRtbDBlU0J5WlhGMWFYSmxaQ0F0TFNCcExtVXVJSFJvWlNCdWRXMWlaWElnYjJZZ2JtVmhjbVZ6ZEZ4dUlDQWdLaUJ1WldsbmFHSnZjbk1nZEdoaGRDQnphRzkxYkdRZ1ltVWdZWE56ZFcxbFpDQjBieUJpWlNCamIyNXVaV04wWldRZ1lYUWdZU0JzYjJOaGJDQnNaWFpsYkM1Y2JpQWdJQ29nVkdobElHaHBaMmhsY2lCMGFHbHpJSFpoYkhWbElIUm9aU0J0YjNKbElHTnZibTVsWTNSbFpDQjBhR1VnYldGdWFXWnZiR1FnWW1WamIyMWxjMXh1SUNBZ0tpQnNiMk5oYkd4NUxpQkpiaUJ3Y21GamRHbGpaU0IwYUdseklITm9iM1ZzWkNCaVpTQnViM1FnYlc5eVpTQjBhR0Z1SUhSb1pTQnNiMk5oYkNCcGJuUnlhVzV6YVdOY2JpQWdJQ29nWkdsdFpXNXphVzl1SUc5bUlIUm9aU0J0WVc1cFptOXNaQzVjYmlBZ0lDb3ZYRzRnSUd4dlkyRnNRMjl1Ym1WamRHbDJhWFI1UHpvZ2JuVnRZbVZ5TzF4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUdWbVptVmpkR2wyWlNCdGFXNXBiWFZ0SUdScGMzUmhibU5sSUdKbGRIZGxaVzRnWlcxaVpXUmtaV1FnY0c5cGJuUnpMaUJUYldGc2JHVnlJSFpoYkhWbGMxeHVJQ0FnS2lCM2FXeHNJSEpsYzNWc2RDQnBiaUJoSUcxdmNtVWdZMngxYzNSbGNtVmtMMk5zZFcxd1pXUWdaVzFpWldSa2FXNW5JSGRvWlhKbElHNWxZWEppZVNCd2IybHVkSE5jYmlBZ0lDb2diMjRnZEdobElHMWhibWxtYjJ4a0lHRnlaU0JrY21GM2JpQmpiRzl6WlhJZ2RHOW5aWFJvWlhJc0lIZG9hV3hsSUd4aGNtZGxjaUIyWVd4MVpYTWdkMmxzYkZ4dUlDQWdLaUJ5WlhOMWJIUWdiMjRnWVNCdGIzSmxJR1YyWlc0Z1pHbHpjR1Z5YzJGc0lHOW1JSEJ2YVc1MGN5NGdWR2hsSUhaaGJIVmxJSE5vYjNWc1pDQmlaU0J6WlhSY2JpQWdJQ29nY21Wc1lYUnBkbVVnZEc4Z2RHaGxJR0JnYzNCeVpXRmtZR0FnZG1Gc2RXVXNJSGRvYVdOb0lHUmxkR1Z5YldsdVpYTWdkR2hsSUhOallXeGxJR0YwSUhkb2FXTm9YRzRnSUNBcUlHVnRZbVZrWkdWa0lIQnZhVzUwY3lCM2FXeHNJR0psSUhOd2NtVmhaQ0J2ZFhRdVhHNGdJQ0FxTDF4dUlDQnRhVzVFYVhOMFB6b2diblZ0WW1WeU8xeHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHUnBiV1Z1YzJsdmJpQnZaaUIwYUdVZ2MzQmhZMlVnZEc4Z1pXMWlaV1FnYVc1MGJ5NGdWR2hwY3lCa1pXWmhkV3gwY3lCMGJ5QXlJSFJ2WEc0Z0lDQXFJSEJ5YjNacFpHVWdaV0Z6ZVNCMmFYTjFZV3hwZW1GMGFXOXVMQ0JpZFhRZ1kyRnVJSEpsWVhOdmJtRmliSGtnWW1VZ2MyVjBJSFJ2SUdGdWVWeHVJQ0FnS2lCcGJuUmxaMlZ5SUhaaGJIVmxJR2x1SUhSb1pTQnlZVzVuWlNBeUlIUnZJREV3TUM1Y2JpQWdJQ292WEc0Z0lHNURiMjF3YjI1bGJuUnpQem9nYm5WdFltVnlPMXh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJRzUxYldKbGNpQnZaaUIwY21GcGJtbHVaeUJsY0c5amFITWdkRzhnWW1VZ2RYTmxaQ0JwYmlCdmNIUnBiV2w2YVc1bklIUm9aVnh1SUNBZ0tpQnNiM2NnWkdsdFpXNXphVzl1WVd3Z1pXMWlaV1JrYVc1bkxpQk1ZWEpuWlhJZ2RtRnNkV1Z6SUhKbGMzVnNkQ0JwYmlCdGIzSmxJR0ZqWTNWeVlYUmxYRzRnSUNBcUlHVnRZbVZrWkdsdVozTXVJRWxtSUU1dmJtVWdhWE1nYzNCbFkybG1hV1ZrSUdFZ2RtRnNkV1VnZDJsc2JDQmlaU0J6Wld4bFkzUmxaQ0JpWVhObFpDQnZibHh1SUNBZ0tpQjBhR1VnYzJsNlpTQnZaaUIwYUdVZ2FXNXdkWFFnWkdGMFlYTmxkQ0FvTWpBd0lHWnZjaUJzWVhKblpTQmtZWFJoYzJWMGN5d2dOVEF3SUdadmNpQnpiV0ZzYkNrdVhHNGdJQ0FxTDF4dUlDQnVSWEJ2WTJoelB6b2diblZ0WW1WeU8xeHVJQ0F2S2lwY2JpQWdJQ29nVkdobElITnBlbVVnYjJZZ2JHOWpZV3dnYm1WcFoyaGliM0pvYjI5a0lDaHBiaUIwWlhKdGN5QnZaaUJ1ZFcxaVpYSWdiMllnYm1WcFoyaGliM0pwYm1kY2JpQWdJQ29nYzJGdGNHeGxJSEJ2YVc1MGN5a2dkWE5sWkNCbWIzSWdiV0Z1YVdadmJHUWdZWEJ3Y205NGFXMWhkR2x2Ymk0Z1RHRnlaMlZ5SUhaaGJIVmxjMXh1SUNBZ0tpQnlaWE4xYkhRZ2FXNGdiVzl5WlNCbmJHOWlZV3dnZG1sbGQzTWdiMllnZEdobElHMWhibWxtYjJ4a0xDQjNhR2xzWlNCemJXRnNiR1Z5WEc0Z0lDQXFJSFpoYkhWbGN5QnlaWE4xYkhRZ2FXNGdiVzl5WlNCc2IyTmhiQ0JrWVhSaElHSmxhVzVuSUhCeVpYTmxjblpsWkM0Z1NXNGdaMlZ1WlhKaGJGeHVJQ0FnS2lCMllXeDFaWE1nYzJodmRXeGtJR0psSUdsdUlIUm9aU0J5WVc1blpTQXlJSFJ2SURFd01DNWNiaUFnSUNvdlhHNGdJRzVPWldsbmFHSnZjbk0vT2lCdWRXMWlaWEk3WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnYm5WdFltVnlJRzltSUc1bFoyRjBhWFpsSUhOaGJYQnNaWE1nZEc4Z2MyVnNaV04wSUhCbGNpQndiM05wZEdsMlpTQnpZVzF3YkdWY2JpQWdJQ29nYVc0Z2RHaGxJRzl3ZEdsdGFYcGhkR2x2YmlCd2NtOWpaWE56TGlCSmJtTnlaV0Z6YVc1bklIUm9hWE1nZG1Gc2RXVWdkMmxzYkNCeVpYTjFiSFJjYmlBZ0lDb2dhVzRnWjNKbFlYUmxjaUJ5WlhCMWJITnBkbVVnWm05eVkyVWdZbVZwYm1jZ1lYQndiR2xsWkN3Z1ozSmxZWFJsY2lCdmNIUnBiV2w2WVhScGIyNWNiaUFnSUNvZ1kyOXpkQ3dnWW5WMElITnNhV2RvZEd4NUlHMXZjbVVnWVdOamRYSmhZM2t1WEc0Z0lDQXFMMXh1SUNCdVpXZGhkR2wyWlZOaGJYQnNaVkpoZEdVL09pQnVkVzFpWlhJN1hHNGdJQzhxS2x4dUlDQWdLaUJYWldsbmFIUnBibWNnWVhCd2JHbGxaQ0IwYnlCdVpXZGhkR2wyWlNCellXMXdiR1Z6SUdsdUlHeHZkeUJrYVcxbGJuTnBiMjVoYkNCbGJXSmxaR1JwYm1kY2JpQWdJQ29nYjNCMGFXMXBlbUYwYVc5dUxpQldZV3gxWlhNZ2FHbG5hR1Z5SUhSb1lXNGdiMjVsSUhkcGJHd2djbVZ6ZFd4MElHbHVJR2R5WldGMFpYSWdkMlZwWjJoMFhHNGdJQ0FxSUdKbGFXNW5JR2RwZG1WdUlIUnZJRzVsWjJGMGFYWmxJSE5oYlhCc1pYTXVYRzRnSUNBcUwxeHVJQ0J5WlhCMWJITnBiMjVUZEhKbGJtZDBhRDg2SUc1MWJXSmxjanRjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0J3YzJWMVpHOHRjbUZ1Wkc5dElHNTFiV0psY2lCblpXNWxjbUYwYjNJZ2RYTmxaQ0JpZVNCMGFHVWdjM1J2WTJoaGMzUnBZeUJ3WVhKMGN5QnZaaUIwYUdWY2JpQWdJQ29nWVd4bmIzSnBkR2h0TGx4dUlDQWdLaTljYmlBZ2NtRnVaRzl0UHpvZ1VtRnVaRzl0Um00N1hHNGdJQzhxS2x4dUlDQWdLaUJKYm5SbGNuQnZiR0YwWlNCaVpYUjNaV1Z1SUNobWRYcDZlU2tnZFc1cGIyNGdZVzVrSUdsdWRHVnljMlZqZEdsdmJpQmhjeUIwYUdVZ2MyVjBJRzl3WlhKaGRHbHZibHh1SUNBZ0tpQjFjMlZrSUhSdklHTnZiV0pwYm1VZ2JHOWpZV3dnWm5WNmVua2djMmx0Y0d4cFkybGhiQ0J6WlhSeklIUnZJRzlpZEdGcGJpQmhJR2RzYjJKaGJDQm1kWHA2ZVZ4dUlDQWdLaUJ6YVcxd2JHbGphV0ZzSUhObGRITXVJRUp2ZEdnZ1puVjZlbmtnYzJWMElHOXdaWEpoZEdsdmJuTWdkWE5sSUhSb1pTQndjbTlrZFdOMElIUXRibTl5YlM1Y2JpQWdJQ29nVkdobElIWmhiSFZsSUc5bUlIUm9hWE1nY0dGeVlXMWxkR1Z5SUhOb2IzVnNaQ0JpWlNCaVpYUjNaV1Z1SURBdU1DQmhibVFnTVM0d095QmhJSFpoYkhWbElHOW1YRzRnSUNBcUlERXVNQ0IzYVd4c0lIVnpaU0JoSUhCMWNtVWdablY2ZW5rZ2RXNXBiMjRzSUhkb2FXeGxJREF1TUNCM2FXeHNJSFZ6WlNCaElIQjFjbVVnWm5WNmVubGNiaUFnSUNvZ2FXNTBaWEp6WldOMGFXOXVMbHh1SUNBZ0tpOWNiaUFnYzJWMFQzQk5hWGhTWVhScGJ6ODZJRzUxYldKbGNqdGNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQmxabVpsWTNScGRtVWdjMk5oYkdVZ2IyWWdaVzFpWldSa1pXUWdjRzlwYm5SekxpQkpiaUJqYjIxaWFXNWhkR2x2YmlCM2FYUm9JR0JnYldsdVgyUnBjM1JnWUZ4dUlDQWdLaUIwYUdseklHUmxkR1Z5YldsdVpYTWdhRzkzSUdOc2RYTjBaWEpsWkM5amJIVnRjR1ZrSUhSb1pTQmxiV0psWkdSbFpDQndiMmx1ZEhNZ1lYSmxMbHh1SUNBZ0tpOWNiaUFnYzNCeVpXRmtQem9nYm5WdFltVnlPMXh1SUNBdktpcGNiaUFnSUNvZ1JtOXlJSFJ5WVc1elptOXliU0J2Y0dWeVlYUnBiMjV6SUNobGJXSmxaR1JwYm1jZ2JtVjNJSEJ2YVc1MGN5QjFjMmx1WnlCaElIUnlZV2x1WldRZ2JXOWtaV3dwWEc0Z0lDQXFJSFJvYVhNZ2QybHNiQ0JqYjI1MGNtOXNJR2h2ZHlCaFoyZHlaWE56YVhabGJIa2dkRzhnYzJWaGNtTm9JR1p2Y2lCdVpXRnlaWE4wSUc1bGFXZG9ZbTl5Y3k1Y2JpQWdJQ29nVEdGeVoyVnlJSFpoYkhWbGN5QjNhV3hzSUhKbGMzVnNkQ0JwYmlCemJHOTNaWElnY0dWeVptOXliV0Z1WTJVZ1luVjBJRzF2Y21VZ1lXTmpkWEpoZEdWY2JpQWdJQ29nYm1WaGNtVnpkQ0J1WldsbmFHSnZjaUJsZG1Gc2RXRjBhVzl1TGx4dUlDQWdLaTljYmlBZ2RISmhibk5tYjNKdFVYVmxkV1ZUYVhwbFB6b2diblZ0WW1WeU8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZWTlFWQlRkWEJsY25acGMyVmtVR0Z5WVcxeklIdGNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQnRaWFJ5YVdNZ2RYTmxaQ0IwYnlCdFpXRnpkWEpsSUdScGMzUmhibU5sSUdadmNpQmhJSFJoY21kbGRDQmhjbkpoZVNCcGN5QjFjMmx1WnlCemRYQmxjblpwYzJWa1hHNGdJQ0FxSUdScGJXVnVjMmx2YmlCeVpXUjFZM1JwYjI0dUlFSjVJR1JsWm1GMWJIUWdkR2hwY3lCcGN5QW5ZMkYwWldkdmNtbGpZV3duSUhkb2FXTm9JSGRwYkd3Z2JXVmhjM1Z5WlZ4dUlDQWdLaUJrYVhOMFlXNWpaU0JwYmlCMFpYSnRjeUJ2WmlCM2FHVjBhR1Z5SUdOaGRHVm5iM0pwWlhNZ2JXRjBZMmdnYjNJZ1lYSmxJR1JwWm1abGNtVnVkQzRnUm5WeWRHaGxjbTF2Y21Vc1hHNGdJQ0FxSUdsbUlITmxiV2t0YzNWd1pYSjJhWE5sWkNCcGN5QnlaWEYxYVhKbFpDQjBZWEpuWlhRZ2RtRnNkV1Z6SUc5bUlDMHhJSGRwYkd3Z1ltVWdkSEpsWVhSbFpDQmhjMXh1SUNBZ0tpQjFibXhoWW1Wc2JHVmtJSFZ1WkdWeUlIUm9aU0FuWTJGMFpXZHZjbWxqWVd3bklHMWxkSEpwWXk0Z1NXWWdkR2hsSUhSaGNtZGxkQ0JoY25KaGVTQjBZV3RsYzF4dUlDQWdLaUJqYjI1MGFXNTFiM1Z6SUhaaGJIVmxjeUFvWlM1bkxpQm1iM0lnWVNCeVpXZHlaWE56YVc5dUlIQnliMkpzWlcwcElIUm9aVzRnYldWMGNtbGpJRzltSUNkc01TZGNiaUFnSUNvZ2IzSWdKMnd5SnlCcGN5QndjbTlpWVdKc2VTQnRiM0psSUdGd2NISnZjSEpwWVhSbExseHVJQ0FnS2k5Y2JpQWdkR0Z5WjJWMFRXVjBjbWxqUHpvZ1ZHRnlaMlYwVFdWMGNtbGpPMXh1SUNBdktpcGNiaUFnSUNvZ1YyVnBaMmgwYVc1bklHWmhZM1J2Y2lCaVpYUjNaV1Z1SUdSaGRHRWdkRzl3YjJ4dloza2dZVzVrSUhSaGNtZGxkQ0IwYjNCdmJHOW5lUzRnUVNCMllXeDFaU0J2Wmx4dUlDQWdLaUF3TGpBZ2QyVnBaMmgwY3lCbGJuUnBjbVZzZVNCdmJpQmtZWFJoTENCaElIWmhiSFZsSUc5bUlERXVNQ0IzWldsbmFIUnpJR1Z1ZEdseVpXeDVJRzl1SUhSaGNtZGxkQzVjYmlBZ0lDb2dWR2hsSUdSbFptRjFiSFFnYjJZZ01DNDFJR0poYkdGdVkyVnpJSFJvWlNCM1pXbG5hSFJwYm1jZ1pYRjFZV3hzZVNCaVpYUjNaV1Z1SUdSaGRHRWdZVzVrSUhSaGNtZGxkQzVjYmlBZ0lDb3ZYRzRnSUhSaGNtZGxkRmRsYVdkb2REODZJRzUxYldKbGNqdGNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQnVkVzFpWlhJZ2IyWWdibVZoY21WemRDQnVaV2xuYUdKdmNuTWdkRzhnZFhObElIUnZJR052Ym5OMGNuVmpkQ0IwYUdVZ2RHRnlaMlYwSUhOcGJYQnNZMmxoYkZ4dUlDQWdLaUJ6WlhRdUlFUmxabUYxYkhSeklIUnZJSFJvWlNCZ2JtVmhjbVZ6ZEU1bGFXZG9ZbTl5YzJBZ2NHRnlZVzFsZEdWeUxseHVJQ0FnS2k5Y2JpQWdkR0Z5WjJWMFRrNWxhV2RvWW05eWN6ODZJRzUxYldKbGNqdGNibjFjYmx4dUx5b3FYRzRnS2lCVlRVRlFJSEJ5YjJwbFkzUnBiMjRnYzNsemRHVnRMQ0JpWVhObFpDQnZiaUIwYUdVZ2NIbDBhRzl1SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR1p5YjIwZ1RXTkpibTVsY3l3Z1RDeGNiaUFxSUVobFlXeDVMQ0JLTENCVlRVRlFPaUJWYm1sbWIzSnRJRTFoYm1sbWIyeGtJRUZ3Y0hKdmVHbHRZWFJwYjI0Z1lXNWtJRkJ5YjJwbFkzUnBiMjRnWm05eUlFUnBiV1Z1YzJsdmJseHVJQ29nVW1Wa2RXTjBhVzl1SUNob2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmJHMWphVzV1WlhNdmRXMWhjQ2t1WEc0Z0tseHVJQ29nVkdocGN5QnBiWEJzWlcxbGJuUmhkR2x2YmlCa2FXWm1aWEp6SUdsdUlHRWdabVYzSUhKbFoyRnlaSE02WEc0Z0tpQmhLU0JVYUdVZ2FXNXBkR2xoYkdsNllYUnBiMjRnYjJZZ2RHaGxJR1Z0WW1Wa1pHbHVaeUJtYjNJZ2IzQjBhVzFwZW1GMGFXOXVJR2x6SUc1dmRDQmpiMjF3ZFhSbFpDQjFjMmx1WjF4dUlDb2dJQ0FnWVNCemNHVmpkSEpoYkNCdFpYUm9iMlFzSUhKaGRHaGxjaUJwZENCcGN5QnBibWwwYVdGc2FYcGxaQ0J5WVc1a2IyMXNlUzRnVkdocGN5QmhkbTlwWkhNZ2MyOXRaVnh1SUNvZ0lDQWdZMjl0Y0hWMFlYUnBiMjVoYkd4NUlHbHVkR1Z1YzJsMlpTQnRZWFJ5YVhnZ1pXbG5aVzRnWTI5dGNIVjBZWFJwYjI1eklIUm9ZWFFnWVhKbGJpZDBJR1ZoYzJsc2VWeHVJQ29nSUNBZ2NHOXlkR1ZrSUhSdklFcGhkbUZUWTNKcGNIUXVYRzRnS2lCaUtTQkJJR3h2ZENCdlppQmNJbVY0ZEhKaFhDSWdablZ1WTNScGIyNWhiR2wwZVNCb1lYTWdZbVZsYmlCdmJXbDBkR1ZrSUdaeWIyMGdkR2hwY3lCcGJYQnNaVzFsYm5SaGRHbHZiaXhjYmlBcUlDQWdJRzF2YzNRZ2JtOTBZV0pzZVNCaElHZHlaV0YwSUdSbFlXd2diMllnWVd4MFpYSnVZWFJsSUdScGMzUmhibU5sSUdaMWJtTjBhVzl1Y3k1Y2JpQXFYRzRnS2lCVWFHbHpJR2x0Y0d4bGJXVnVkR0YwYVc5dUlIQnliM1pwWkdWeklIUm9jbVZsSUcxbGRHaHZaSE1nYjJZZ2NtVmtkV05wYm1jZ1pHbHRaVzV6YVc5dVlXeHBkSGs2WEc0Z0tpQXhLU0JtYVhRNklHWnBkQ0IwYUdVZ1pHRjBZU0J6ZVc1amFISnZibTkxYzJ4NVhHNGdLaUF5S1NCbWFYUkJjM2x1WXpvZ1ptbDBJSFJvWlNCa1lYUmhJR0Z6ZVc1amFISnZibTkxYzJ4NUxDQjNhWFJvSUdFZ1kyRnNiR0poWTJzZ1puVnVZM1JwYjI0Z2NISnZkbWxrWldSY2JpQXFJQ0FnSUNBZ2RHaGhkQ0JwY3lCcGJuWnZhMlZrSUc5dUlHVmhZMmdnYjNCMGFXMXBlbUYwYVc5dUlITjBaWEF1WEc0Z0tpQXpLU0JwYm1sMGFXRnNhWHBsUm1sMElDOGdjM1JsY0RvZ2JXRnVkV0ZzYkhrZ2FXNXBkR2xoYkdsNlpTQjBhR1VnWVd4bmIzSnBkR2h0SUhSb1pXNGdaWGh3YkdsamRHeDVYRzRnS2lBZ0lDQWdJSE4wWlhBZ2RHaHliM1ZuYUNCbFlXTm9JR1Z3YjJOb0lHOW1JSFJvWlNCVFIwUWdiM0IwYVcxcGVtRjBhVzl1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCVlRVRlFJSHRjYmlBZ2NISnBkbUYwWlNCc1pXRnlibWx1WjFKaGRHVWdQU0F4TGpBN1hHNGdJSEJ5YVhaaGRHVWdiRzlqWVd4RGIyNXVaV04wYVhacGRIa2dQU0F4TGpBN1hHNGdJSEJ5YVhaaGRHVWdiV2x1UkdsemRDQTlJREF1TVR0Y2JpQWdjSEpwZG1GMFpTQnVRMjl0Y0c5dVpXNTBjeUE5SURJN1hHNGdJSEJ5YVhaaGRHVWdia1Z3YjJOb2N5QTlJREE3WEc0Z0lIQnlhWFpoZEdVZ2JrNWxhV2RvWW05eWN5QTlJREUxTzF4dUlDQndjbWwyWVhSbElHNWxaMkYwYVhabFUyRnRjR3hsVW1GMFpTQTlJRFU3WEc0Z0lIQnlhWFpoZEdVZ2NtRnVaRzl0SUQwZ1RXRjBhQzV5WVc1a2IyMDdYRzRnSUhCeWFYWmhkR1VnY21Wd2RXeHphVzl1VTNSeVpXNW5kR2dnUFNBeExqQTdYRzRnSUhCeWFYWmhkR1VnYzJWMFQzQk5hWGhTWVhScGJ5QTlJREV1TUR0Y2JpQWdjSEpwZG1GMFpTQnpjSEpsWVdRZ1BTQXhMakE3WEc0Z0lIQnlhWFpoZEdVZ2RISmhibk5tYjNKdFVYVmxkV1ZUYVhwbElEMGdOQzR3TzF4dVhHNGdJQzh2SUZOMWNHVnlkbWx6WldRZ2NISnZhbVZqZEdsdmJpQndZWEpoYlhOY2JpQWdjSEpwZG1GMFpTQjBZWEpuWlhSTlpYUnlhV01nUFNCVVlYSm5aWFJOWlhSeWFXTXVZMkYwWldkdmNtbGpZV3c3WEc0Z0lIQnlhWFpoZEdVZ2RHRnlaMlYwVjJWcFoyaDBJRDBnTUM0MU8xeHVJQ0J3Y21sMllYUmxJSFJoY21kbGRFNU9aV2xuYUdKdmNuTWdQU0IwYUdsekxtNU9aV2xuYUdKdmNuTTdYRzVjYmlBZ2NISnBkbUYwWlNCa2FYTjBZVzVqWlVadU9pQkVhWE4wWVc1alpVWnVJRDBnYm5WdFpYSnBZenRjYmx4dUlDQXZMeUJMVGs0Z2MzUmhkR1VnS0dOaGJpQmlaU0J3Y21WamIyMXdkWFJsWkNCaGJtUWdjM1Z3Y0d4cFpXUWdkbWxoSUdsdWFYUnBZV3hwZW1WR2FYUXBYRzRnSUhCeWFYWmhkR1VnYTI1dVNXNWthV05sY3o4NklHNTFiV0psY2x0ZFcxMDdYRzRnSUhCeWFYWmhkR1VnYTI1dVJHbHpkR0Z1WTJWelB6b2diblZ0WW1WeVcxMWJYVHRjYmx4dUlDQXZMeUJKYm5SbGNtNWhiQ0JuY21Gd2FDQmpiMjV1WldOMGFYWnBkSGtnY21Wd2NtVnpaVzUwWVhScGIyNWNiaUFnY0hKcGRtRjBaU0JuY21Gd2FDRTZJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGc3WEc0Z0lIQnlhWFpoZEdVZ1dDRTZJRlpsWTNSdmNqdGNiaUFnY0hKcGRtRjBaU0JwYzBsdWFYUnBZV3hwZW1Wa0lEMGdabUZzYzJVN1hHNGdJSEJ5YVhaaGRHVWdjbkJHYjNKbGMzUTZJSFJ5WldVdVJteGhkRlJ5WldWYlhTQTlJRnRkTzF4dUlDQndjbWwyWVhSbElHbHVhWFJHY205dFVtRnVaRzl0SVRvZ2JtNUVaWE5qWlc1MExrbHVhWFJHY205dFVtRnVaRzl0Um00N1hHNGdJSEJ5YVhaaGRHVWdhVzVwZEVaeWIyMVVjbVZsSVRvZ2JtNUVaWE5qWlc1MExrbHVhWFJHY205dFZISmxaVVp1TzF4dUlDQndjbWwyWVhSbElITmxZWEpqYUNFNklHNXVSR1Z6WTJWdWRDNVRaV0Z5WTJoR2JqdGNiaUFnY0hKcGRtRjBaU0J6WldGeVkyaEhjbUZ3YUNFNklHMWhkSEpwZUM1VGNHRnljMlZOWVhSeWFYZzdYRzVjYmlBZ0x5OGdVM1Z3WlhKMmFYTmxaQ0J3Y205cVpXTjBhVzl1SUd4aFltVnNjeUF2SUhSaGNtZGxkSE5jYmlBZ2NISnBkbUYwWlNCWlB6b2diblZ0WW1WeVcxMDdYRzVjYmlBZ0x5OGdVSEp2YW1WamRHVmtJR1Z0WW1Wa1pHbHVaMXh1SUNCd2NtbDJZWFJsSUdWdFltVmtaR2x1WnpvZ2JuVnRZbVZ5VzExYlhTQTlJRnRkTzF4dUlDQndjbWwyWVhSbElHOXdkR2x0YVhwaGRHbHZibE4wWVhSbElEMGdibVYzSUU5d2RHbHRhWHBoZEdsdmJsTjBZWFJsS0NrN1hHNWNibHh1SUNCblpYUWdibVZwWjJoaWIzSnpLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG01T1pXbG5hR0p2Y25NN1hHNGdJSDFjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9jR0Z5WVcxek9pQlZUVUZRVUdGeVlXMWxkR1Z5Y3lBOUlIdDlLU0I3WEc0Z0lDQWdZMjl1YzNRZ2MyVjBVR0Z5WVcwZ1BTQW9hMlY1T2lCclpYbHZaaUJWVFVGUVVHRnlZVzFsZEdWeWN5a2dQVDRnZTF4dUlDQWdJQ0FnTHk5QWRITXRhV2R1YjNKbFhHNGdJQ0FnSUNCcFppQW9jR0Z5WVcxelcydGxlVjBnSVQwOUlIVnVaR1ZtYVc1bFpDa2dkR2hwYzF0clpYbGRJRDBnY0dGeVlXMXpXMnRsZVYwN1hHNGdJQ0FnZlR0Y2JseHVJQ0FnSUhObGRGQmhjbUZ0S0Nka2FYTjBZVzVqWlVadUp5azdYRzRnSUNBZ2MyVjBVR0Z5WVcwb0oyeGxZWEp1YVc1blVtRjBaU2NwTzF4dUlDQWdJSE5sZEZCaGNtRnRLQ2RzYjJOaGJFTnZibTVsWTNScGRtbDBlU2NwTzF4dUlDQWdJSE5sZEZCaGNtRnRLQ2R0YVc1RWFYTjBKeWs3WEc0Z0lDQWdjMlYwVUdGeVlXMG9KMjVEYjIxd2IyNWxiblJ6SnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjI1RmNHOWphSE1uS1R0Y2JpQWdJQ0J6WlhSUVlYSmhiU2duYms1bGFXZG9ZbTl5Y3ljcE8xeHVJQ0FnSUhObGRGQmhjbUZ0S0NkdVpXZGhkR2wyWlZOaGJYQnNaVkpoZEdVbktUdGNiaUFnSUNCelpYUlFZWEpoYlNnbmNtRnVaRzl0SnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjNKbGNIVnNjMmx2YmxOMGNtVnVaM1JvSnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjNObGRFOXdUV2w0VW1GMGFXOG5LVHRjYmlBZ0lDQnpaWFJRWVhKaGJTZ25jM0J5WldGa0p5azdYRzRnSUNBZ2MyVjBVR0Z5WVcwb0ozUnlZVzV6Wm05eWJWRjFaWFZsVTJsNlpTY3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVacGRDQjBhR1VnWkdGMFlTQjBieUJoSUhCeWIycGxZM1JsWkNCbGJXSmxaR1JwYm1jZ2MzQmhZMlVnYzNsdVkyaHliMjV2ZFhOc2VTNWNiaUFnSUNvdlhHNGdJR1pwZENoWU9pQldaV04wYjNJcElIdGNiaUFnSUNCMGFHbHpMbWx1YVhScFlXeHBlbVZHYVhRb1dDazdYRzRnSUNBZ2RHaHBjeTV2Y0hScGJXbDZaVXhoZVc5MWRDZ3BPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WlcxaVpXUmthVzVuTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFWnBkQ0IwYUdVZ1pHRjBZU0IwYnlCaElIQnliMnBsWTNSbFpDQmxiV0psWkdScGJtY2djM0JoWTJVZ1lYTjVibU5vY205dWIzVnpiSGtzSUhkcGRHZ2dZU0JqWVd4c1ltRmphMXh1SUNBZ0tpQm1kVzVqZEdsdmJpQnBiblp2YTJWa0lHOXVJR1YyWlhKNUlHVndiMk5vSUc5bUlHOXdkR2x0YVhwaGRHbHZiaTVjYmlBZ0lDb3ZYRzRnSUdGemVXNWpJR1pwZEVGemVXNWpLRnh1SUNBZ0lGZzZJRlpsWTNSdmNpeGNiaUFnSUNCallXeHNZbUZqYXpvZ0tHVndiMk5vVG5WdFltVnlPaUJ1ZFcxaVpYSXBJRDArSUhadmFXUWdmQ0JpYjI5c1pXRnVJRDBnS0NrZ1BUNGdkSEoxWlZ4dUlDQXBJSHRjYmlBZ0lDQjBhR2x6TG1sdWFYUnBZV3hwZW1WR2FYUW9XQ2s3WEc1Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG05d2RHbHRhWHBsVEdGNWIzVjBRWE41Ym1Nb1kyRnNiR0poWTJzcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtVnRZbVZrWkdsdVp6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJKYm1sMGFXRnNhWHBsY3lCd1lYSmhiV1YwWlhKeklHNWxaV1JsWkNCbWIzSWdjM1Z3WlhKMmFYTmxaQ0J3Y205cVpXTjBhVzl1TGx4dUlDQWdLaTljYmlBZ2MyVjBVM1Z3WlhKMmFYTmxaRkJ5YjJwbFkzUnBiMjRvV1RvZ2JuVnRZbVZ5VzEwc0lIQmhjbUZ0Y3pvZ1ZVMUJVRk4xY0dWeWRtbHpaV1JRWVhKaGJYTWdQU0I3ZlNrZ2UxeHVJQ0FnSUhSb2FYTXVXU0E5SUZrN1hHNGdJQ0FnZEdocGN5NTBZWEpuWlhSTlpYUnlhV01nUFNCd1lYSmhiWE11ZEdGeVoyVjBUV1YwY21saklIeDhJSFJvYVhNdWRHRnlaMlYwVFdWMGNtbGpPMXh1SUNBZ0lIUm9hWE11ZEdGeVoyVjBWMlZwWjJoMElEMGdjR0Z5WVcxekxuUmhjbWRsZEZkbGFXZG9kQ0I4ZkNCMGFHbHpMblJoY21kbGRGZGxhV2RvZER0Y2JpQWdJQ0IwYUdsekxuUmhjbWRsZEU1T1pXbG5hR0p2Y25NZ1BTQndZWEpoYlhNdWRHRnlaMlYwVGs1bGFXZG9ZbTl5Y3lCOGZDQjBhR2x6TG5SaGNtZGxkRTVPWldsbmFHSnZjbk03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1NXNXBkR2xoYkdsNlpYTWdkVzFoY0NCM2FYUm9JSEJ5WldOdmJYQjFkR1ZrSUV0T1RpQnBibVJwWTJWeklHRnVaQ0JrYVhOMFlXNWpaWE11WEc0Z0lDQXFMMXh1SUNCelpYUlFjbVZqYjIxd2RYUmxaRXRPVGlocmJtNUpibVJwWTJWek9pQnVkVzFpWlhKYlhWdGRMQ0JyYm01RWFYTjBZVzVqWlhNNklHNTFiV0psY2x0ZFcxMHBJSHRjYmlBZ0lDQjBhR2x6TG10dWJrbHVaR2xqWlhNZ1BTQnJibTVKYm1ScFkyVnpPMXh1SUNBZ0lIUm9hWE11YTI1dVJHbHpkR0Z1WTJWeklEMGdhMjV1UkdsemRHRnVZMlZ6TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFbHVhWFJwWVd4cGVtVnpJR1pwZENCaWVTQmpiMjF3ZFhScGJtY2dTMDVPSUdGdVpDQmhJR1oxZW5wNUlITnBiWEJzYVdOcFlXd2djMlYwTENCaGN5QjNaV3hzSUdGelhHNGdJQ0FxSUdsdWFYUnBZV3hwZW1sdVp5QjBhR1VnY0hKdmFtVmpkR1ZrSUdWdFltVmtaR2x1WjNNdUlGTmxkSE1nZEdobElHOXdkR2x0YVhwaGRHbHZiaUJ6ZEdGMFpTQmhhR1ZoWkZ4dUlDQWdLaUJ2WmlCdmNIUnBiV2w2WVhScGIyNGdjM1JsY0hNdUlGSmxkSFZ5Ym5NZ2RHaGxJRzUxYldKbGNpQnZaaUJsY0c5amFITWdkRzhnWW1VZ2RYTmxaQ0JtYjNJZ2RHaGxYRzRnSUNBcUlGTkhSQ0J2Y0hScGJXbDZZWFJwYjI0dVhHNGdJQ0FxTDF4dUlDQnBibWwwYVdGc2FYcGxSbWwwS0ZnNklGWmxZM1J2Y2lrNklHNTFiV0psY2lCN1hHNGdJQ0FnYVdZZ0tGZ3ViR1Z1WjNSb0lEdzlJSFJvYVhNdWJrNWxhV2RvWW05eWN5a2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQk9iM1FnWlc1dmRXZG9JR1JoZEdFZ2NHOXBiblJ6SUNna2UxZ3ViR1Z1WjNSb2ZTa2dkRzhnWTNKbFlYUmxJRzVPWldsbmFHSnZjbk02SUNSN2RHaHBjeTV1VG1WcFoyaGliM0p6ZlM0Z0lFRmtaQ0J0YjNKbElHUmhkR0VnY0c5cGJuUnpJRzl5SUdGa2FuVnpkQ0IwYUdVZ1kyOXVabWxuZFhKaGRHbHZiaTVnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCWFpTQmtiMjRuZENCdVpXVmtJSFJ2SUhKbGFXNXBkR2xoYkdsNlpTQnBaaUIzWlNkMlpTQmhiSEpsWVdSNUlHbHVhWFJwWVd4cGVtVmtJR1p2Y2lCMGFHbHpJR1JoZEdFdVhHNGdJQ0FnYVdZZ0tIUm9hWE11V0NBOVBUMGdXQ0FtSmlCMGFHbHpMbWx6U1c1cGRHbGhiR2w2WldRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWRsZEU1RmNHOWphSE1vS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxsZ2dQU0JZTzF4dVhHNGdJQ0FnYVdZZ0tDRjBhR2x6TG10dWJrbHVaR2xqWlhNZ0ppWWdJWFJvYVhNdWEyNXVSR2x6ZEdGdVkyVnpLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnJibTVTWlhOMWJIUnpJRDBnZEdocGN5NXVaV0Z5WlhOMFRtVnBaMmhpYjNKektGZ3BPMXh1SUNBZ0lDQWdkR2hwY3k1cmJtNUpibVJwWTJWeklEMGdhMjV1VW1WemRXeDBjeTVyYm01SmJtUnBZMlZ6TzF4dUlDQWdJQ0FnZEdocGN5NXJibTVFYVhOMFlXNWpaWE1nUFNCcmJtNVNaWE4xYkhSekxtdHVia1JwYzNSaGJtTmxjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG1keVlYQm9JRDBnZEdocGN5NW1kWHA2ZVZOcGJYQnNhV05wWVd4VFpYUW9YRzRnSUNBZ0lDQllMRnh1SUNBZ0lDQWdkR2hwY3k1dVRtVnBaMmhpYjNKekxGeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSUGNFMXBlRkpoZEdsdlhHNGdJQ0FnS1R0Y2JseHVJQ0FnSUM4dklGTmxkQ0IxY0NCMGFHVWdjMlZoY21Ob0lHZHlZWEJvSUdadmNpQnpkV0p6WlhGMVpXNTBJSFJ5WVc1elptOXliV0YwYVc5dUxseHVJQ0FnSUhSb2FYTXViV0ZyWlZObFlYSmphRVp1Y3lncE8xeHVJQ0FnSUhSb2FYTXVjMlZoY21Ob1IzSmhjR2dnUFNCMGFHbHpMbTFoYTJWVFpXRnlZMmhIY21Gd2FDaFlLVHRjYmx4dUlDQWdJQzh2SUVOb1pXTnJJR2xtSUhOMWNHVnlkbWx6WldRZ2NISnZhbVZqZEdsdmJpd2dkR2hsYmlCaFpHcDFjM1FnZEdobElHZHlZWEJvTGx4dUlDQWdJSFJvYVhNdWNISnZZMlZ6YzBkeVlYQm9SbTl5VTNWd1pYSjJhWE5sWkZCeWIycGxZM1JwYjI0b0tUdGNibHh1SUNBZ0lHTnZibk4wSUh0Y2JpQWdJQ0FnSUdobFlXUXNYRzRnSUNBZ0lDQjBZV2xzTEZ4dUlDQWdJQ0FnWlhCdlkyaHpVR1Z5VTJGdGNHeGxMRnh1SUNBZ0lIMGdQU0IwYUdsekxtbHVhWFJwWVd4cGVtVlRhVzF3YkdsamFXRnNVMlYwUlcxaVpXUmthVzVuS0NrN1hHNWNiaUFnSUNBdkx5QlRaWFFnZEdobElHOXdkR2x0YVhwaGRHbHZiaUJ5YjNWMGFXNWxJSE4wWVhSbFhHNGdJQ0FnZEdocGN5NXZjSFJwYldsNllYUnBiMjVUZEdGMFpTNW9aV0ZrSUQwZ2FHVmhaRHRjYmlBZ0lDQjBhR2x6TG05d2RHbHRhWHBoZEdsdmJsTjBZWFJsTG5SaGFXd2dQU0IwWVdsc08xeHVJQ0FnSUhSb2FYTXViM0IwYVcxcGVtRjBhVzl1VTNSaGRHVXVaWEJ2WTJoelVHVnlVMkZ0Y0d4bElEMGdaWEJ2WTJoelVHVnlVMkZ0Y0d4bE8xeHVYRzRnSUNBZ0x5OGdUbTkzTENCcGJtbDBhV0ZzYVhwbElIUm9aU0J2Y0hScGJXbDZZWFJwYjI0Z2MzUmxjSE5jYmlBZ0lDQjBhR2x6TG1sdWFYUnBZV3hwZW1WUGNIUnBiV2w2WVhScGIyNG9LVHRjYmlBZ0lDQjBhR2x6TG5CeVpYQmhjbVZHYjNKUGNIUnBiV2w2WVhScGIyNU1iMjl3S0NrN1hHNGdJQ0FnZEdocGN5NXBjMGx1YVhScFlXeHBlbVZrSUQwZ2RISjFaVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1kbGRFNUZjRzlqYUhNb0tUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdiV0ZyWlZObFlYSmphRVp1Y3lncElIdGNiaUFnSUNCamIyNXpkQ0I3SUdsdWFYUkdjbTl0VkhKbFpTd2dhVzVwZEVaeWIyMVNZVzVrYjIwZ2ZTQTlJRzV1UkdWelkyVnVkQzV0WVd0bFNXNXBkR2xoYkdsNllYUnBiMjV6S0Z4dUlDQWdJQ0FnZEdocGN5NWthWE4wWVc1alpVWnVYRzRnSUNBZ0tUdGNiaUFnSUNCMGFHbHpMbWx1YVhSR2NtOXRWSEpsWlNBOUlHbHVhWFJHY205dFZISmxaVHRjYmlBZ0lDQjBhR2x6TG1sdWFYUkdjbTl0VW1GdVpHOXRJRDBnYVc1cGRFWnliMjFTWVc1a2IyMDdYRzRnSUNBZ2RHaHBjeTV6WldGeVkyZ2dQU0J1YmtSbGMyTmxiblF1YldGclpVbHVhWFJwWVd4cGVtVmtUazVUWldGeVkyZ29kR2hwY3k1a2FYTjBZVzVqWlVadUtUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdiV0ZyWlZObFlYSmphRWR5WVhCb0tGZzZJRlpsWTNSdmNpa2dlMXh1SUNBZ0lHTnZibk4wSUd0dWJrbHVaR2xqWlhNZ1BTQjBhR2x6TG10dWJrbHVaR2xqWlhNaE8xeHVJQ0FnSUdOdmJuTjBJR3R1YmtScGMzUmhibU5sY3lBOUlIUm9hWE11YTI1dVJHbHpkR0Z1WTJWeklUdGNiaUFnSUNCamIyNXpkQ0JrYVcxeklEMGdXMWd1YkdWdVozUm9MQ0JZTG14bGJtZDBhRjA3WEc0Z0lDQWdZMjl1YzNRZ2MyVmhjbU5vUjNKaGNHZ2dQU0J1WlhjZ2JXRjBjbWw0TGxOd1lYSnpaVTFoZEhKcGVDaGJYU3dnVzEwc0lGdGRMQ0JrYVcxektUdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHdHVia2x1WkdsalpYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR3R1YmlBOUlHdHVia2x1WkdsalpYTmJhVjA3WEc0Z0lDQWdJQ0JqYjI1emRDQmthWE4wWVc1alpYTWdQU0JyYm01RWFYTjBZVzVqWlhOYmFWMDdYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnTURzZ2FpQThJR3R1Ymk1c1pXNW5kR2c3SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnVaV2xuYUdKdmNpQTlJR3R1Ymx0cVhUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pHbHpkR0Z1WTJVZ1BTQmthWE4wWVc1alpYTmJhbDA3WEc0Z0lDQWdJQ0FnSUdsbUlDaGthWE4wWVc1alpTQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnpaV0Z5WTJoSGNtRndhQzV6WlhRb2FTd2dibVZwWjJoaWIzSXNJR1JwYzNSaGJtTmxLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElIUnlZVzV6Y0c5elpTQTlJRzFoZEhKcGVDNTBjbUZ1YzNCdmMyVW9jMlZoY21Ob1IzSmhjR2dwTzF4dUlDQWdJSEpsZEhWeWJpQnRZWFJ5YVhndWJXRjRhVzExYlNoelpXRnlZMmhIY21Gd2FDd2dkSEpoYm5Od2IzTmxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWNtRnVjMlp2Y20xeklHUmhkR0VnZEc4Z2RHaGxJR1Y0YVhOMGFXNW5JR1Z0WW1Wa1pHbHVaeUJ6Y0dGalpTNWNiaUFnSUNvdlhHNGdJSFJ5WVc1elptOXliU2gwYjFSeVlXNXpabTl5YlRvZ1ZtVmpkRzl5S1NCN1hHNGdJQ0FnTHk4Z1ZYTmxJSFJvWlNCd2NtVjJhVzkxY3lCeVlYZEVZWFJoWEc0Z0lDQWdZMjl1YzNRZ2NtRjNSR0YwWVNBOUlIUm9hWE11V0R0Y2JpQWdJQ0JwWmlBb2NtRjNSR0YwWVNBOVBUMGdkVzVrWldacGJtVmtJSHg4SUhKaGQwUmhkR0V1YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0owNXZJR1JoZEdFZ2FHRnpJR0psWlc0Z1ptbDBMaWNwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR3hsZENCdVRtVnBaMmhpYjNKeklEMGdUV0YwYUM1bWJHOXZjaWgwYUdsekxtNU9aV2xuYUdKdmNuTWdLaUIwYUdsekxuUnlZVzV6Wm05eWJWRjFaWFZsVTJsNlpTazdYRzRnSUNBZ2JrNWxhV2RvWW05eWN5QTlJRTFoZEdndWJXbHVLSEpoZDBSaGRHRXViR1Z1WjNSb0xDQnVUbVZwWjJoaWIzSnpLVHRjYmlBZ0lDQmpiMjV6ZENCcGJtbDBJRDBnYm01RVpYTmpaVzUwTG1sdWFYUnBZV3hwZW1WVFpXRnlZMmdvWEc0Z0lDQWdJQ0IwYUdsekxuSndSbTl5WlhOMExGeHVJQ0FnSUNBZ2NtRjNSR0YwWVN4Y2JpQWdJQ0FnSUhSdlZISmhibk5tYjNKdExGeHVJQ0FnSUNBZ2JrNWxhV2RvWW05eWN5eGNiaUFnSUNBZ0lIUm9hWE11YVc1cGRFWnliMjFTWVc1a2IyMHNYRzRnSUNBZ0lDQjBhR2x6TG1sdWFYUkdjbTl0VkhKbFpTeGNiaUFnSUNBZ0lIUm9hWE11Y21GdVpHOXRYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhKbGMzVnNkQ0E5SUhSb2FYTXVjMlZoY21Ob0tISmhkMFJoZEdFc0lIUm9hWE11YzJWaGNtTm9SM0poY0dnc0lHbHVhWFFzSUhSdlZISmhibk5tYjNKdEtUdGNibHh1SUNBZ0lHeGxkQ0I3SUdsdVpHbGpaWE1zSUhkbGFXZG9kSE02SUdScGMzUmhibU5sY3lCOUlEMGdhR1ZoY0M1a1pXaGxZWEJUYjNKMEtISmxjM1ZzZENrN1hHNWNiaUFnSUNCcGJtUnBZMlZ6SUQwZ2FXNWthV05sY3k1dFlYQW9lQ0E5UGlCNExuTnNhV05sS0RBc0lIUm9hWE11Yms1bGFXZG9ZbTl5Y3lrcE8xeHVJQ0FnSUdScGMzUmhibU5sY3lBOUlHUnBjM1JoYm1ObGN5NXRZWEFvZUNBOVBpQjRMbk5zYVdObEtEQXNJSFJvYVhNdWJrNWxhV2RvWW05eWN5a3BPMXh1WEc0Z0lDQWdZMjl1YzNRZ1lXUnFkWE4wWldSTWIyTmhiRU52Ym01bFkzUnBkbWwwZVNBOUlFMWhkR2d1YldGNEtEQXNJSFJvYVhNdWJHOWpZV3hEYjI1dVpXTjBhWFpwZEhrZ0xTQXhLVHRjYmlBZ0lDQmpiMjV6ZENCN0lITnBaMjFoY3l3Z2NtaHZjeUI5SUQwZ2RHaHBjeTV6Ylc5dmRHaExUazVFYVhOMFlXNWpaU2hjYmlBZ0lDQWdJR1JwYzNSaGJtTmxjeXhjYmlBZ0lDQWdJSFJvYVhNdWJrNWxhV2RvWW05eWN5eGNiaUFnSUNBZ0lHRmthblZ6ZEdWa1RHOWpZV3hEYjI1dVpXTjBhWFpwZEhsY2JpQWdJQ0FwTzF4dVhHNGdJQ0FnWTI5dWMzUWdleUJ5YjNkekxDQmpiMnh6TENCMllXeHpJSDBnUFNCMGFHbHpMbU52YlhCMWRHVk5aVzFpWlhKemFHbHdVM1J5Wlc1bmRHaHpLRnh1SUNBZ0lDQWdhVzVrYVdObGN5eGNiaUFnSUNBZ0lHUnBjM1JoYm1ObGN5eGNiaUFnSUNBZ0lITnBaMjFoY3l4Y2JpQWdJQ0FnSUhKb2IzTmNiaUFnSUNBcE8xeHVYRzRnSUNBZ1kyOXVjM1FnYzJsNlpTQTlJRnQwYjFSeVlXNXpabTl5YlM1c1pXNW5kR2dzSUhKaGQwUmhkR0V1YkdWdVozUm9YVHRjYmlBZ0lDQnNaWFFnWjNKaGNHZ2dQU0J1WlhjZ2JXRjBjbWw0TGxOd1lYSnpaVTFoZEhKcGVDaHliM2R6TENCamIyeHpMQ0IyWVd4ekxDQnphWHBsS1R0Y2JseHVJQ0FnSUM4dklGUm9hWE1nZDJGeklHRWdkbVZ5ZVNCemNHVmphV0ZzYkhrZ1kyOXVjM1J5ZFdOMFpXUWdaM0poY0dnZ2QybDBhQ0JqYjI1emRHRnVkQ0JrWldkeVpXVXVYRzRnSUNBZ0x5OGdWR2hoZENCc1pYUnpJSFZ6SUdSdklHWmhibU41SUhWdWNHRmphMmx1WnlCaWVTQnlaWE5vWVhCcGJtY2dkR2hsSUdOemNpQnRZWFJ5YVhnZ2FXNWthV05sYzF4dUlDQWdJQzh2SUdGdVpDQmtZWFJoTGlCRWIybHVaeUJ6YnlCeVpXeHBaWE1nYjI0Z2RHaGxJR052Ym5OMFlXNTBJR1JsWjNKbFpTQmhjM04xYlhCMGFXOXVJVnh1WEc0Z0lDQWdZMjl1YzNRZ2JtOXliV1ZrSUQwZ2JXRjBjbWw0TG01dmNtMWhiR2w2WlNobmNtRndhQ3dnYldGMGNtbDRMazV2Y20xVWVYQmxMbXd4S1R0Y2JseHVJQ0FnSUdOdmJuTjBJR056Y2sxaGRISnBlQ0E5SUcxaGRISnBlQzVuWlhSRFUxSW9ibTl5YldWa0tUdGNiaUFnSUNCamIyNXpkQ0J1VUc5cGJuUnpJRDBnZEc5VWNtRnVjMlp2Y20wdWJHVnVaM1JvTzF4dVhHNGdJQ0FnWTI5dWMzUWdaVWx1WkdsalpYTWdQU0IxZEdsc2N5NXlaWE5vWVhCbE1tUW9YRzRnSUNBZ0lDQmpjM0pOWVhSeWFYZ3VhVzVrYVdObGN5eGNiaUFnSUNBZ0lHNVFiMmx1ZEhNc1hHNGdJQ0FnSUNCMGFHbHpMbTVPWldsbmFHSnZjbk5jYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ1pWZGxhV2RvZEhNZ1BTQjFkR2xzY3k1eVpYTm9ZWEJsTW1Rb1hHNGdJQ0FnSUNCamMzSk5ZWFJ5YVhndWRtRnNkV1Z6TEZ4dUlDQWdJQ0FnYmxCdmFXNTBjeXhjYmlBZ0lDQWdJSFJvYVhNdWJrNWxhV2RvWW05eWMxeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0JsYldKbFpHUnBibWNnUFNCcGJtbDBWSEpoYm5ObWIzSnRLR1ZKYm1ScFkyVnpMQ0JsVjJWcFoyaDBjeXdnZEdocGN5NWxiV0psWkdScGJtY3BPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JrVndiMk5vY3lBOUlIUm9hWE11YmtWd2IyTm9jMXh1SUNBZ0lDQWdQeUIwYUdsekxtNUZjRzlqYUhNZ0x5QXpYRzRnSUNBZ0lDQTZJR2R5WVhCb0xtNVNiM2R6SUR3OUlERXdNREF3WEc0Z0lDQWdJQ0EvSURFd01GeHVJQ0FnSUNBZ09pQXpNRHRjYmx4dUlDQWdJR052Ym5OMElHZHlZWEJvVFdGNElEMGdaM0poY0doY2JpQWdJQ0FnSUM1blpYUldZV3gxWlhNb0tWeHVJQ0FnSUNBZ0xuSmxaSFZqWlNnb2JXRjRMQ0IyWVd3cElEMCtJQ2gyWVd3Z1BpQnRZWGdnUHlCMllXd2dPaUJ0WVhncExDQXdLVHRjYmlBZ0lDQm5jbUZ3YUNBOUlHZHlZWEJvTG0xaGNDaDJZV3gxWlNBOVBpQW9kbUZzZFdVZ1BDQm5jbUZ3YUUxaGVDQXZJRzVGY0c5amFITWdQeUF3SURvZ2RtRnNkV1VwS1R0Y2JpQWdJQ0JuY21Gd2FDQTlJRzFoZEhKcGVDNWxiR2x0YVc1aGRHVmFaWEp2Y3lobmNtRndhQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQmxjRzlqYUhOUVpYSlRZVzF3YkdVZ1BTQjBhR2x6TG0xaGEyVkZjRzlqYUhOUVpYSlRZVzF3YkdVb1hHNGdJQ0FnSUNCbmNtRndhQzVuWlhSV1lXeDFaWE1vS1N4Y2JpQWdJQ0FnSUc1RmNHOWphSE5jYmlBZ0lDQXBPMXh1SUNBZ0lHTnZibk4wSUdobFlXUWdQU0JuY21Gd2FDNW5aWFJTYjNkektDazdYRzRnSUNBZ1kyOXVjM1FnZEdGcGJDQTlJR2R5WVhCb0xtZGxkRU52YkhNb0tUdGNibHh1SUNBZ0lDOHZJRWx1YVhScFlXeHBlbVVnYjNCMGFXMXBlbUYwYVc5dUlITnNhV2RvZEd4NUlHUnBabVpsY21WdWRHeDVJSFJvWVc0Z2RHaGxJR1pwZENCdFpYUm9iMlF1WEc0Z0lDQWdkR2hwY3k1aGMzTnBaMjVQY0hScGJXbDZZWFJwYjI1VGRHRjBaVkJoY21GdFpYUmxjbk1vZTF4dUlDQWdJQ0FnYUdWaFpFVnRZbVZrWkdsdVp6b2daVzFpWldSa2FXNW5MRnh1SUNBZ0lDQWdkR0ZwYkVWdFltVmtaR2x1WnpvZ2RHaHBjeTVsYldKbFpHUnBibWNzWEc0Z0lDQWdJQ0JvWldGa0xGeHVJQ0FnSUNBZ2RHRnBiQ3hjYmlBZ0lDQWdJR04xY25KbGJuUkZjRzlqYURvZ01DeGNiaUFnSUNBZ0lHNUZjRzlqYUhNc1hHNGdJQ0FnSUNCdVZtVnlkR2xqWlhNNklHZHlZWEJvTG1kbGRFUnBiWE1vS1ZzeFhTeGNiaUFnSUNBZ0lHVndiMk5vYzFCbGNsTmhiWEJzWlN4Y2JpQWdJQ0I5S1R0Y2JpQWdJQ0IwYUdsekxuQnlaWEJoY21WR2IzSlBjSFJwYldsNllYUnBiMjVNYjI5d0tDazdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV2Y0hScGJXbDZaVXhoZVc5MWRDZ3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOb1pXTnJjeUJwWmlCM1pTZHlaU0IxYzJsdVp5QnpkWEJsY25acGMyVmtJSEJ5YjJwbFkzUnBiMjRzSUhSb1pXNGdjSEp2WTJWemN5QjBhR1VnWjNKaGNHaGNiaUFnSUNvZ1lXTmpiM0prYVc1bmJIa3VYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJSEJ5YjJObGMzTkhjbUZ3YUVadmNsTjFjR1Z5ZG1selpXUlFjbTlxWldOMGFXOXVLQ2tnZTF4dUlDQWdJR052Ym5OMElIc2dXU3dnV0NCOUlEMGdkR2hwY3p0Y2JpQWdJQ0JwWmlBb1dTa2dlMXh1SUNBZ0lDQWdhV1lnS0ZrdWJHVnVaM1JvSUNFOVBTQllMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMHhsYm1kMGFDQnZaaUJZSUdGdVpDQjVJRzExYzNRZ1ltVWdaWEYxWVd3bktUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVkR0Z5WjJWMFRXVjBjbWxqSUQwOVBTQlVZWEpuWlhSTlpYUnlhV011WTJGMFpXZHZjbWxqWVd3cElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JIUWdQU0IwYUdsekxuUmhjbWRsZEZkbGFXZG9kQ0E4SURFdU1EdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1ptRnlSR2x6ZENBOUlHeDBJRDhnTWk0MUlDb2dLREV1TUNBdklDZ3hMakFnTFNCMGFHbHpMblJoY21kbGRGZGxhV2RvZENrcElEb2dNUzR3WlRFeU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG1keVlYQm9JRDBnZEdocGN5NWpZWFJsWjI5eWFXTmhiRk5wYlhCc2FXTnBZV3hUWlhSSmJuUmxjbk5sWTNScGIyNG9YRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NW5jbUZ3YUN4Y2JpQWdJQ0FnSUNBZ0lDQlpMRnh1SUNBZ0lDQWdJQ0FnSUdaaGNrUnBjM1JjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUM4dklGUlBSRThnS0dGdVpIbGpiMlZ1Wlc1QUtUb2dZV1JrSUc1dmJpMWpZWFJsWjI5eWFXTmhiQ0J6ZFhCbGNuWnBjMlZrSUdWdFltVmtaR2x1WjNNdVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFMWhiblZoYkd4NUlITjBaWEFnZEdoeWIzVm5hQ0IwYUdVZ2IzQjBhVzFwZW1GMGFXOXVJSEJ5YjJObGMzTWdiMjVsSUdWd2IyTm9JR0YwSUdFZ2RHbHRaUzVjYmlBZ0lDb3ZYRzRnSUhOMFpYQW9LU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QmpkWEp5Wlc1MFJYQnZZMmdnZlNBOUlIUm9hWE11YjNCMGFXMXBlbUYwYVc5dVUzUmhkR1U3WEc1Y2JpQWdJQ0JwWmlBb1kzVnljbVZ1ZEVWd2IyTm9JRHdnZEdocGN5NW5aWFJPUlhCdlkyaHpLQ2twSUh0Y2JpQWdJQ0FnSUhSb2FYTXViM0IwYVcxcGVtVk1ZWGx2ZFhSVGRHVndLR04xY25KbGJuUkZjRzlqYUNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG05d2RHbHRhWHBoZEdsdmJsTjBZWFJsTG1OMWNuSmxiblJGY0c5amFEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJSFJvWlNCamIyMXdkWFJsWkNCd2NtOXFaV04wWldRZ1pXMWlaV1JrYVc1bkxseHVJQ0FnS2k5Y2JpQWdaMlYwUlcxaVpXUmthVzVuS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtVnRZbVZrWkdsdVp6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEYjIxd2RYUmxJSFJvWlNCZ1lHNU9aV2xuYUdKdmNuTmdZQ0J1WldGeVpYTjBJSEJ2YVc1MGN5Qm1iM0lnWldGamFDQmtZWFJoSUhCdmFXNTBJR2x1SUdCZ1dHQmdYRzRnSUNBcUlGUm9hWE1nYldGNUlHSmxJR1Y0WVdOMExDQmlkWFFnYlc5eVpTQnNhV3RsYkhrZ2FYTWdZWEJ3Y205NGFXMWhkR1ZrSUhacFlTQnVaV0Z5WlhOMElHNWxhV2RvWW05eVhHNGdJQ0FxSUdSbGMyTmxiblF1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUc1bFlYSmxjM1JPWldsbmFHSnZjbk1vV0RvZ1ZtVmpkRzl5S1NCN1hHNGdJQ0FnWTI5dWMzUWdleUJrYVhOMFlXNWpaVVp1TENCdVRtVnBaMmhpYjNKeklIMGdQU0IwYUdsek8xeHVJQ0FnSUdOdmJuTjBJR3h2WnpJZ1BTQW9iam9nYm5WdFltVnlLU0E5UGlCTllYUm9MbXh2WnlodUtTQXZJRTFoZEdndWJHOW5LRElwTzF4dUlDQWdJR052Ym5OMElHMWxkSEpwWTA1T1JHVnpZMlZ1ZENBOUlHNXVSR1Z6WTJWdWRDNXRZV3RsVGs1RVpYTmpaVzUwS0dScGMzUmhibU5sUm00c0lIUm9hWE11Y21GdVpHOXRLVHRjYmx4dUlDQWdJQzh2SUVoaGJtUnNaU0J3ZVhSb2IyNHpJSEp2ZFc1a2FXNW5JR1J2ZDI0Z1puSnZiU0F3TGpVZ1pHbHpZM0p3WVc1amVWeHVJQ0FnSUdOdmJuTjBJSEp2ZFc1a0lEMGdLRzQ2SUc1MWJXSmxjaWtnUFQ0Z2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc0Z1BUMDlJREF1TlNBL0lEQWdPaUJOWVhSb0xuSnZkVzVrS0c0cE8xeHVJQ0FnSUgwN1hHNWNiaUFnSUNCamIyNXpkQ0J1VkhKbFpYTWdQU0ExSUNzZ1RXRjBhQzVtYkc5dmNpaHliM1Z1WkNoWUxteGxibWQwYUNBcUtpQXdMalVnTHlBeU1DNHdLU2s3WEc0Z0lDQWdZMjl1YzNRZ2JrbDBaWEp6SUQwZ1RXRjBhQzV0WVhnb05Td2dUV0YwYUM1bWJHOXZjaWhOWVhSb0xuSnZkVzVrS0d4dlp6SW9XQzVzWlc1bmRHZ3BLU2twTzF4dVhHNGdJQ0FnZEdocGN5NXljRVp2Y21WemRDQTlJSFJ5WldVdWJXRnJaVVp2Y21WemRDaFlMQ0J1VG1WcFoyaGliM0p6TENCdVZISmxaWE1zSUhSb2FYTXVjbUZ1Wkc5dEtUdGNibHh1SUNBZ0lHTnZibk4wSUd4bFlXWkJjbkpoZVNBOUlIUnlaV1V1YldGclpVeGxZV1pCY25KaGVTaDBhR2x6TG5Kd1JtOXlaWE4wS1R0Y2JpQWdJQ0JqYjI1emRDQjdJR2x1WkdsalpYTXNJSGRsYVdkb2RITWdmU0E5SUcxbGRISnBZMDVPUkdWelkyVnVkQ2hjYmlBZ0lDQWdJRmdzWEc0Z0lDQWdJQ0JzWldGbVFYSnlZWGtzWEc0Z0lDQWdJQ0J1VG1WcFoyaGliM0p6TEZ4dUlDQWdJQ0FnYmtsMFpYSnpYRzRnSUNBZ0tUdGNiaUFnSUNCeVpYUjFjbTRnZXlCcmJtNUpibVJwWTJWek9pQnBibVJwWTJWekxDQnJibTVFYVhOMFlXNWpaWE02SUhkbGFXZG9kSE1nZlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkhhWFpsYmlCaElITmxkQ0J2WmlCa1lYUmhJRmdzSUdFZ2JtVnBaMmhpYjNKb2IyOWtJSE5wZW1Vc0lHRnVaQ0JoSUcxbFlYTjFjbVVnYjJZZ1pHbHpkR0Z1WTJWY2JpQWdJQ29nWTI5dGNIVjBaU0IwYUdVZ1puVjZlbmtnYzJsdGNHeHBZMmxoYkNCelpYUWdLR2hsY21VZ2NtVndjbVZ6Wlc1MFpXUWdZWE1nWVNCbWRYcDZlU0JuY21Gd2FDQnBibHh1SUNBZ0tpQjBhR1VnWm05eWJTQnZaaUJoSUhOd1lYSnpaU0J0WVhSeWFYZ3BJR0Z6YzI5amFXRjBaV1FnZEc4Z2RHaGxJR1JoZEdFdUlGUm9hWE1nYVhNZ1pHOXVaU0JpZVZ4dUlDQWdLaUJzYjJOaGJHeDVJR0Z3Y0hKdmVHbHRZWFJwYm1jZ1oyVnZaR1Z6YVdNZ1pHbHpkR0Z1WTJVZ1lYUWdaV0ZqYUNCd2IybHVkQ3dnWTNKbFlYUnBibWNnWVNCbWRYcDZlVnh1SUNBZ0tpQnphVzF3YkdsamFXRnNJSE5sZENCbWIzSWdaV0ZqYUNCemRXTm9JSEJ2YVc1MExDQmhibVFnZEdobGJpQmpiMjFpYVc1cGJtY2dZV3hzSUhSb1pTQnNiMk5oYkZ4dUlDQWdLaUJtZFhwNmVTQnphVzF3YkdsamFXRnNJSE5sZEhNZ2FXNTBieUJoSUdkc2IySmhiQ0J2Ym1VZ2RtbGhJR0VnWm5WNmVua2dkVzVwYjI0dVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElHWjFlbnA1VTJsdGNHeHBZMmxoYkZObGRDaGNiaUFnSUNCWU9pQldaV04wYjNJc1hHNGdJQ0FnYms1bGFXZG9ZbTl5Y3pvZ2JuVnRZbVZ5TEZ4dUlDQWdJSE5sZEU5d1RXbDRVbUYwYVc4Z1BTQXhMakJjYmlBZ0tTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCcmJtNUpibVJwWTJWeklEMGdXMTBzSUd0dWJrUnBjM1JoYm1ObGN5QTlJRnRkTENCc2IyTmhiRU52Ym01bFkzUnBkbWwwZVNCOUlEMGdkR2hwY3p0Y2JseHVJQ0FnSUdOdmJuTjBJSHNnYzJsbmJXRnpMQ0J5YUc5eklIMGdQU0IwYUdsekxuTnRiMjkwYUV0T1RrUnBjM1JoYm1ObEtGeHVJQ0FnSUNBZ2EyNXVSR2x6ZEdGdVkyVnpMRnh1SUNBZ0lDQWdiazVsYVdkb1ltOXljeXhjYmlBZ0lDQWdJR3h2WTJGc1EyOXVibVZqZEdsMmFYUjVYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhzZ2NtOTNjeXdnWTI5c2N5d2dkbUZzY3lCOUlEMGdkR2hwY3k1amIyMXdkWFJsVFdWdFltVnljMmhwY0ZOMGNtVnVaM1JvY3loY2JpQWdJQ0FnSUd0dWJrbHVaR2xqWlhNc1hHNGdJQ0FnSUNCcmJtNUVhWE4wWVc1alpYTXNYRzRnSUNBZ0lDQnphV2R0WVhNc1hHNGdJQ0FnSUNCeWFHOXpYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhOcGVtVWdQU0JiV0M1c1pXNW5kR2dzSUZndWJHVnVaM1JvWFR0Y2JpQWdJQ0JqYjI1emRDQnpjR0Z5YzJWTllYUnlhWGdnUFNCdVpYY2diV0YwY21sNExsTndZWEp6WlUxaGRISnBlQ2h5YjNkekxDQmpiMnh6TENCMllXeHpMQ0J6YVhwbEtUdGNibHh1SUNBZ0lHTnZibk4wSUhSeVlXNXpjRzl6WlNBOUlHMWhkSEpwZUM1MGNtRnVjM0J2YzJVb2MzQmhjbk5sVFdGMGNtbDRLVHRjYmlBZ0lDQmpiMjV6ZENCd2NtOWtUV0YwY21sNElEMGdiV0YwY21sNExuQmhhWEozYVhObFRYVnNkR2x3Ykhrb2MzQmhjbk5sVFdGMGNtbDRMQ0IwY21GdWMzQnZjMlVwTzF4dVhHNGdJQ0FnWTI5dWMzUWdZU0E5SUcxaGRISnBlQzV6ZFdKMGNtRmpkQ2h0WVhSeWFYZ3VZV1JrS0hOd1lYSnpaVTFoZEhKcGVDd2dkSEpoYm5Od2IzTmxLU3dnY0hKdlpFMWhkSEpwZUNrN1hHNGdJQ0FnWTI5dWMzUWdZaUE5SUcxaGRISnBlQzV0ZFd4MGFYQnNlVk5qWVd4aGNpaGhMQ0J6WlhSUGNFMXBlRkpoZEdsdktUdGNiaUFnSUNCamIyNXpkQ0JqSUQwZ2JXRjBjbWw0TG0xMWJIUnBjR3g1VTJOaGJHRnlLSEJ5YjJSTllYUnlhWGdzSURFdU1DQXRJSE5sZEU5d1RXbDRVbUYwYVc4cE8xeHVJQ0FnSUdOdmJuTjBJSEpsYzNWc2RDQTlJRzFoZEhKcGVDNWhaR1FvWWl3Z1l5azdYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnZiV0pwYm1VZ1lTQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkQ0IzYVhSb0lHRnViM1JvWlhJZ1puVjZlbmtnYzJsdGNHeHBZMmxoYkNCelpYUmNiaUFnSUNvZ1oyVnVaWEpoZEdWa0lHWnliMjBnWTJGMFpXZHZjbWxqWVd3Z1pHRjBZU0IxYzJsdVp5QmpZWFJsWjI5eWFXTmhiQ0JrYVhOMFlXNWpaWE11SUZSb1pTQjBZWEpuWlhSY2JpQWdJQ29nWkdGMFlTQnBjeUJoYzNOMWJXVmtJSFJ2SUdKbElHTmhkR1ZuYjNKcFkyRnNJR3hoWW1Wc0lHUmhkR0VnS0dFZ2RtVmpkRzl5SUc5bUlHeGhZbVZzY3lrc1hHNGdJQ0FxSUdGdVpDQjBhR2x6SUhkcGJHd2dkWEJrWVhSbElIUm9aU0JtZFhwNmVTQnphVzF3YkdsamFXRnNJSE5sZENCMGJ5QnlaWE53WldOMElIUm9ZWFFnYkdGaVpXd2daR0YwWVM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1kyRjBaV2R2Y21sallXeFRhVzF3YkdsamFXRnNVMlYwU1c1MFpYSnpaV04wYVc5dUtGeHVJQ0FnSUhOcGJYQnNhV05wWVd4VFpYUTZJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGdzWEc0Z0lDQWdkR0Z5WjJWME9pQnVkVzFpWlhKYlhTeGNiaUFnSUNCbVlYSkVhWE4wT2lCdWRXMWlaWElzWEc0Z0lDQWdkVzVyYm05M2JrUnBjM1FnUFNBeExqQmNiaUFnS1NCN1hHNGdJQ0FnYkdWMElHbHVkR1Z5YzJWamRHbHZiaUE5SUdaaGMzUkpiblJsY25ObFkzUnBiMjRvWEc0Z0lDQWdJQ0J6YVcxd2JHbGphV0ZzVTJWMExGeHVJQ0FnSUNBZ2RHRnlaMlYwTEZ4dUlDQWdJQ0FnZFc1cmJtOTNia1JwYzNRc1hHNGdJQ0FnSUNCbVlYSkVhWE4wWEc0Z0lDQWdLVHRjYmlBZ0lDQnBiblJsY25ObFkzUnBiMjRnUFNCdFlYUnlhWGd1Wld4cGJXbHVZWFJsV21WeWIzTW9hVzUwWlhKelpXTjBhVzl1S1R0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6WlhSTWIyTmhiRU52Ym01bFkzUnBkbWwwZVNocGJuUmxjbk5sWTNScGIyNHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOdmJYQjFkR1VnWVNCamIyNTBhVzUxYjNWeklIWmxjbk5wYjI0Z2IyWWdkR2hsSUdScGMzUmhibU5sSUhSdklIUm9aU0JyZEdnZ2JtVmhjbVZ6ZEZ4dUlDQWdLaUJ1WldsbmFHSnZjaTRnVkdoaGRDQnBjeXdnZEdocGN5QnBjeUJ6YVcxcGJHRnlJSFJ2SUd0dWJpMWthWE4wWVc1alpTQmlkWFFnWVd4c2IzZHpJR052Ym5ScGJuVnZkWE5jYmlBZ0lDb2dheUIyWVd4MVpYTWdjbUYwYUdWeUlIUm9ZVzRnY21WeGRXbHlhVzVuSUdGdUlHbHVkR1ZuY21Gc0lHc3VJRWx1SUdWemMyTmxibU5sSUhkbElHRnlaU0J6YVcxd2JIbGNiaUFnSUNvZ1kyOXRjSFYwYVc1bklIUm9aU0JrYVhOMFlXNWpaU0J6ZFdOb0lIUm9ZWFFnZEdobElHTmhjbVJwYm1Gc2FYUjVJRzltSUdaMWVucDVJSE5sZENCM1pTQm5aVzVsY21GMFpWeHVJQ0FnS2lCcGN5QnJMbHh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0J6Ylc5dmRHaExUazVFYVhOMFlXNWpaU2hjYmlBZ0lDQmthWE4wWVc1alpYTTZJRlpsWTNSdmNuTXNYRzRnSUNBZ2F6b2diblZ0WW1WeUxGeHVJQ0FnSUd4dlkyRnNRMjl1Ym1WamRHbDJhWFI1SUQwZ01TNHdMRnh1SUNBZ0lHNUpkR1Z5SUQwZ05qUXNYRzRnSUNBZ1ltRnVaSGRwWkhSb0lEMGdNUzR3WEc0Z0lDa2dlMXh1SUNBZ0lHTnZibk4wSUhSaGNtZGxkQ0E5SUNoTllYUm9MbXh2WnlocktTQXZJRTFoZEdndWJHOW5LRElwS1NBcUlHSmhibVIzYVdSMGFEdGNiaUFnSUNCamIyNXpkQ0J5YUc4Z1BTQjFkR2xzY3k1NlpYSnZjeWhrYVhOMFlXNWpaWE11YkdWdVozUm9LVHRjYmlBZ0lDQmpiMjV6ZENCeVpYTjFiSFFnUFNCMWRHbHNjeTU2WlhKdmN5aGthWE4wWVc1alpYTXViR1Z1WjNSb0tUdGNibHh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2daR2x6ZEdGdVkyVnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCc1pYUWdiRzhnUFNBd0xqQTdYRzRnSUNBZ0lDQnNaWFFnYUdrZ1BTQkpibVpwYm1sMGVUdGNiaUFnSUNBZ0lHeGxkQ0J0YVdRZ1BTQXhMakE3WEc1Y2JpQWdJQ0FnSUM4dklGUlBSRTg2SUZSb2FYTWdhWE1nZG1WeWVTQnBibVZtWm1samFXVnVkQ3dnWW5WMElIZHBiR3dnWkc4Z1ptOXlJRzV2ZHk0Z1JrbFlUVVZjYmlBZ0lDQWdJR052Ym5OMElHbDBhRVJwYzNSaGJtTmxjeUE5SUdScGMzUmhibU5sYzF0cFhUdGNiaUFnSUNBZ0lHTnZibk4wSUc1dmJscGxjbTlFYVhOMGN5QTlJR2wwYUVScGMzUmhibU5sY3k1bWFXeDBaWElvWkNBOVBpQmtJRDRnTUM0d0tUdGNibHh1SUNBZ0lDQWdhV1lnS0c1dmJscGxjbTlFYVhOMGN5NXNaVzVuZEdnZ1BqMGdiRzlqWVd4RGIyNXVaV04wYVhacGRIa3BJSHRjYmlBZ0lDQWdJQ0FnYkdWMElHbHVaR1Y0SUQwZ1RXRjBhQzVtYkc5dmNpaHNiMk5oYkVOdmJtNWxZM1JwZG1sMGVTazdYRzRnSUNBZ0lDQWdJR3hsZENCcGJuUmxjbkJ2YkdGMGFXOXVJRDBnYkc5allXeERiMjV1WldOMGFYWnBkSGtnTFNCcGJtUmxlRHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHVaR1Y0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUhKb2IxdHBYU0E5SUc1dmJscGxjbTlFYVhOMGMxdHBibVJsZUNBdElERmRPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHBiblJsY25CdmJHRjBhVzl1SUQ0Z1UwMVBUMVJJWDB0ZlZFOU1SVkpCVGtORktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeWFHOWJhVjBnS3oxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYVc1MFpYSndiMnhoZEdsdmJpQXFJQ2h1YjI1YVpYSnZSR2x6ZEhOYmFXNWtaWGhkSUMwZ2JtOXVXbVZ5YjBScGMzUnpXMmx1WkdWNElDMGdNVjBwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0J5YUc5YmFWMGdQU0JwYm5SbGNuQnZiR0YwYVc5dUlDb2dibTl1V21WeWIwUnBjM1J6V3pCZE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzV2YmxwbGNtOUVhWE4wY3k1c1pXNW5kR2dnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJSEpvYjF0cFhTQTlJSFYwYVd4ekxtMWhlQ2h1YjI1YVpYSnZSR2x6ZEhNcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnVJRDBnTURzZ2JpQThJRzVKZEdWeU95QnVLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2JHVjBJSEJ6ZFcwZ1BTQXdMakE3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdvZ1BTQXhPeUJxSUR3Z1pHbHpkR0Z1WTJWelcybGRMbXhsYm1kMGFEc2dhaXNyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1pDQTlJR1JwYzNSaGJtTmxjMXRwWFZ0cVhTQXRJSEpvYjF0cFhUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1pDQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJ6ZFcwZ0t6MGdUV0YwYUM1bGVIQW9MU2hrSUM4Z2JXbGtLU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJ6ZFcwZ0t6MGdNUzR3TzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aHdjM1Z0SUMwZ2RHRnlaMlYwS1NBOElGTk5UMDlVU0Y5TFgxUlBURVZTUVU1RFJTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ6ZFcwZ1BpQjBZWEpuWlhRcElIdGNiaUFnSUNBZ0lDQWdJQ0JvYVNBOUlHMXBaRHRjYmlBZ0lDQWdJQ0FnSUNCdGFXUWdQU0FvYkc4Z0t5Qm9hU2tnTHlBeUxqQTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYkc4Z1BTQnRhV1E3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR2hwSUQwOVBTQkpibVpwYm1sMGVTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JXbGtJQ285SURJN1hHNGdJQ0FnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUcxcFpDQTlJQ2hzYnlBcklHaHBLU0F2SURJdU1EdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVnpkV3gwVzJsZElEMGdiV2xrTzF4dVhHNGdJQ0FnSUNBdkx5QlVUMFJQT2lCVWFHbHpJR2x6SUhabGNua2dhVzVsWm1acFkybGxiblFzSUdKMWRDQjNhV3hzSUdSdklHWnZjaUJ1YjNjdUlFWkpXRTFGWEc0Z0lDQWdJQ0JwWmlBb2NtaHZXMmxkSUQ0Z01DNHdLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFsWVc1SmRHaEVhWE4wWVc1alpYTWdQU0IxZEdsc2N5NXRaV0Z1S0dsMGFFUnBjM1JoYm1ObGN5azdYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYTjFiSFJiYVYwZ1BDQk5TVTVmUzE5RVNWTlVYMU5EUVV4RklDb2diV1ZoYmtsMGFFUnBjM1JoYm1ObGN5a2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGMzVnNkRnRwWFNBOUlFMUpUbDlMWDBSSlUxUmZVME5CVEVVZ0tpQnRaV0Z1U1hSb1JHbHpkR0Z1WTJWek8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdFpXRnVSR2x6ZEdGdVkyVnpJRDBnZFhScGJITXViV1ZoYmloa2FYTjBZVzVqWlhNdWJXRndLSFYwYVd4ekxtMWxZVzRwS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RGdHBYU0E4SUUxSlRsOUxYMFJKVTFSZlUwTkJURVVnS2lCdFpXRnVSR2x6ZEdGdVkyVnpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpkV3gwVzJsZElEMGdUVWxPWDB0ZlJFbFRWRjlUUTBGTVJTQXFJRzFsWVc1RWFYTjBZVzVqWlhNN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZXlCemFXZHRZWE02SUhKbGMzVnNkQ3dnY21odmN6b2djbWh2SUgwN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRMjl1YzNSeWRXTjBJSFJvWlNCdFpXMWlaWEp6YUdsd0lITjBjbVZ1WjNSb0lHUmhkR0VnWm05eUlIUm9aU0F4TFhOclpXeGxkRzl1SUc5bUlHVmhZMmdnYkc5allXeGNiaUFnSUNvZ1puVjZlbmtnYzJsdGNHeHBZMmxoYkNCelpYUWdMUzBnZEdocGN5QnBjeUJtYjNKdFpXUWdZWE1nWVNCemNHRnljMlVnYldGMGNtbDRJSGRvWlhKbElHVmhZMmdnY205M0lHbHpYRzRnSUNBcUlHRWdiRzlqWVd3Z1puVjZlbmtnYzJsdGNHeHBZMmxoYkNCelpYUXNJSGRwZEdnZ1lTQnRaVzFpWlhKemFHbHdJSE4wY21WdVozUm9JR1p2Y2lCMGFHVmNiaUFnSUNvZ01TMXphVzF3YkdWNElIUnZJR1ZoWTJnZ2IzUm9aWElnWkdGMFlTQndiMmx1ZEM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1kyOXRjSFYwWlUxbGJXSmxjbk5vYVhCVGRISmxibWQwYUhNb1hHNGdJQ0FnYTI1dVNXNWthV05sY3pvZ1ZtVmpkRzl5Y3l4Y2JpQWdJQ0JyYm01RWFYTjBZVzVqWlhNNklGWmxZM1J2Y25Nc1hHNGdJQ0FnYzJsbmJXRnpPaUJ1ZFcxaVpYSmJYU3hjYmlBZ0lDQnlhRzl6T2lCdWRXMWlaWEpiWFZ4dUlDQXBPaUI3SUhKdmQzTTZJRzUxYldKbGNsdGRPeUJqYjJ4ek9pQnVkVzFpWlhKYlhUc2dkbUZzY3pvZ2JuVnRZbVZ5VzEwZ2ZTQjdYRzRnSUNBZ1kyOXVjM1FnYmxOaGJYQnNaWE1nUFNCcmJtNUpibVJwWTJWekxteGxibWQwYUR0Y2JpQWdJQ0JqYjI1emRDQnVUbVZwWjJoaWIzSnpJRDBnYTI1dVNXNWthV05sYzFzd1hTNXNaVzVuZEdnN1hHNWNiaUFnSUNCamIyNXpkQ0J5YjNkeklEMGdkWFJwYkhNdWVtVnliM01vYmxOaGJYQnNaWE1nS2lCdVRtVnBaMmhpYjNKektUdGNiaUFnSUNCamIyNXpkQ0JqYjJ4eklEMGdkWFJwYkhNdWVtVnliM01vYmxOaGJYQnNaWE1nS2lCdVRtVnBaMmhpYjNKektUdGNiaUFnSUNCamIyNXpkQ0IyWVd4eklEMGdkWFJwYkhNdWVtVnliM01vYmxOaGJYQnNaWE1nS2lCdVRtVnBaMmhpYjNKektUdGNibHh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dibE5oYlhCc1pYTTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnVUbVZwWjJoaWIzSnpPeUJxS3lzcElIdGNiaUFnSUNBZ0lDQWdiR1YwSUhaaGJDQTlJREE3WEc0Z0lDQWdJQ0FnSUdsbUlDaHJibTVKYm1ScFkyVnpXMmxkVzJwZElEMDlQU0F0TVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5ScGJuVmxPeUF2THlCWFpTQmthV1J1SjNRZ1oyVjBJSFJvWlNCbWRXeHNJR3R1YmlCbWIzSWdhVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaHJibTVKYm1ScFkyVnpXMmxkVzJwZElEMDlQU0JwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZzSUQwZ01DNHdPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0d0dWJrUnBjM1JoYm1ObGMxdHBYVnRxWFNBdElISm9iM05iYVYwZ1BEMGdNQzR3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZzSUQwZ01TNHdPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUhaaGJDQTlJRTFoZEdndVpYaHdLQzBvS0d0dWJrUnBjM1JoYm1ObGMxdHBYVnRxWFNBdElISm9iM05iYVYwcElDOGdjMmxuYldGelcybGRLU2s3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnliM2R6VzJrZ0tpQnVUbVZwWjJoaWIzSnpJQ3NnYWwwZ1BTQnBPMXh1SUNBZ0lDQWdJQ0JqYjJ4elcya2dLaUJ1VG1WcFoyaGliM0p6SUNzZ2FsMGdQU0JyYm01SmJtUnBZMlZ6VzJsZFcycGRPMXh1SUNBZ0lDQWdJQ0IyWVd4elcya2dLaUJ1VG1WcFoyaGliM0p6SUNzZ2FsMGdQU0IyWVd3N1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSHNnY205M2N5d2dZMjlzY3l3Z2RtRnNjeUI5TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFbHVhWFJwWVd4cGVtVWdZU0JtZFhwNmVTQnphVzF3YkdsamFXRnNJSE5sZENCbGJXSmxaR1JwYm1jc0lIVnphVzVuSUdFZ2MzQmxZMmxtYVdWa1hHNGdJQ0FxSUdsdWFYUnBZV3hwYzJGMGFXOXVJRzFsZEdodlpDQmhibVFnZEdobGJpQnRhVzVwYldsNmFXNW5JSFJvWlNCbWRYcDZlU0J6WlhRZ1kzSnZjM01nWlc1MGNtOXdlVnh1SUNBZ0tpQmlaWFIzWldWdUlIUm9aU0F4TFhOclpXeGxkRzl1Y3lCdlppQjBhR1VnYUdsbmFDQmhibVFnYkc5M0lHUnBiV1Z1YzJsdmJtRnNJR1oxZW5wNUlITnBiWEJzYVdOcFlXeGNiaUFnSUNvZ2MyVjBjeTVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnYVc1cGRHbGhiR2w2WlZOcGJYQnNhV05wWVd4VFpYUkZiV0psWkdScGJtY29LU0I3WEc0Z0lDQWdZMjl1YzNRZ2JrVndiMk5vY3lBOUlIUm9hWE11WjJWMFRrVndiMk5vY3lncE8xeHVYRzRnSUNBZ1kyOXVjM1FnZXlCdVEyOXRjRzl1Wlc1MGN5QjlJRDBnZEdocGN6dGNiaUFnSUNCamIyNXpkQ0JuY21Gd2FGWmhiSFZsY3lBOUlIUm9hWE11WjNKaGNHZ3VaMlYwVm1Gc2RXVnpLQ2s3WEc0Z0lDQWdiR1YwSUdkeVlYQm9UV0Y0SUQwZ01EdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHZHlZWEJvVm1Gc2RXVnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0IyWVd4MVpTQTlJR2R5WVhCb1ZtRnNkV1Z6VzJsZE8xeHVJQ0FnSUNBZ2FXWWdLR2R5WVhCb1RXRjRJRHdnWjNKaGNHaFdZV3gxWlhOYmFWMHBJSHRjYmlBZ0lDQWdJQ0FnWjNKaGNHaE5ZWGdnUFNCMllXeDFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCbmNtRndhQ0E5SUhSb2FYTXVaM0poY0dndWJXRndLSFpoYkhWbElEMCtJSHRjYmlBZ0lDQWdJR2xtSUNoMllXeDFaU0E4SUdkeVlYQm9UV0Y0SUM4Z2JrVndiMk5vY3lrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z01EdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMllXeDFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJQzh2SUZkbEozSmxJRzV2ZENCamIyMXdkWFJwYm1jZ2RHaGxJSE53WldOMGNtRnNJR2x1YVhScFlXeHBlbUYwYVc5dUlHbHVJSFJvYVhNZ2FXMXdiR1Z0Wlc1MFlYUnBiMjVjYmlBZ0lDQXZMeUIxYm5ScGJDQjNaU0JrWlhSbGNtMXBibVVnWVNCaVpYUjBaWElnWldsblpXNTJZV3gxWlM5bGFXZGxiblpsWTNSdmNpQmpiMjF3ZFhSaGRHbHZibHh1SUNBZ0lDOHZJR0Z3Y0hKdllXTm9YRzRnSUNBZ2RHaHBjeTVsYldKbFpHUnBibWNnUFNCMWRHbHNjeTU2WlhKdmN5aG5jbUZ3YUM1dVVtOTNjeWt1YldGd0tDZ3BJRDArSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxZEdsc2N5NTZaWEp2Y3lodVEyOXRjRzl1Wlc1MGN5a3ViV0Z3S0NncElEMCtJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFYwYVd4ekxuUmhkVkpoYm1Rb2RHaHBjeTV5WVc1a2IyMHBJQ29nTWpBZ0t5QXRNVEE3SUM4dklGSmhibVJ2YlNCbWNtOXRJQzB4TUNCMGJ5QXhNRnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0F2THlCSFpYUWdaM0poY0dnZ1pHRjBZU0JwYmlCdmNtUmxjbVZrSUhkaGVTNHVMbHh1SUNBZ0lHTnZibk4wSUhkbGFXZG9kSE02SUc1MWJXSmxjbHRkSUQwZ1cxMDdYRzRnSUNBZ1kyOXVjM1FnYUdWaFpEb2diblZ0WW1WeVcxMGdQU0JiWFR0Y2JpQWdJQ0JqYjI1emRDQjBZV2xzT2lCdWRXMWlaWEpiWFNBOUlGdGRPMXh1SUNBZ0lHTnZibk4wSUhKdmQwTnZiRlpoYkhWbGN5QTlJR2R5WVhCb0xtZGxkRUZzYkNncE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2NtOTNRMjlzVm1Gc2RXVnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0JsYm5SeWVTQTlJSEp2ZDBOdmJGWmhiSFZsYzF0cFhUdGNiaUFnSUNBZ0lHbG1JQ2hsYm5SeWVTNTJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQjNaV2xuYUhSekxuQjFjMmdvWlc1MGNua3VkbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQjBZV2xzTG5CMWMyZ29aVzUwY25rdWNtOTNLVHRjYmlBZ0lDQWdJQ0FnYUdWaFpDNXdkWE5vS0dWdWRISjVMbU52YkNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElHVndiMk5vYzFCbGNsTmhiWEJzWlNBOUlIUm9hWE11YldGclpVVndiMk5vYzFCbGNsTmhiWEJzWlNoM1pXbG5hSFJ6TENCdVJYQnZZMmh6S1R0Y2JseHVJQ0FnSUhKbGRIVnliaUI3SUdobFlXUXNJSFJoYVd3c0lHVndiMk5vYzFCbGNsTmhiWEJzWlNCOU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRwZG1WdUlHRWdjMlYwSUc5bUlIZGxhV2RvZEhNZ1lXNWtJRzUxYldKbGNpQnZaaUJsY0c5amFITWdaMlZ1WlhKaGRHVWdkR2hsSUc1MWJXSmxjaUJ2Wmx4dUlDQWdLaUJsY0c5amFITWdjR1Z5SUhOaGJYQnNaU0JtYjNJZ1pXRmphQ0IzWldsbmFIUXVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRzFoYTJWRmNHOWphSE5RWlhKVFlXMXdiR1VvZDJWcFoyaDBjem9nYm5WdFltVnlXMTBzSUc1RmNHOWphSE02SUc1MWJXSmxjaWtnZTF4dUlDQWdJR052Ym5OMElISmxjM1ZzZENBOUlIVjBhV3h6TG1acGJHeGxaQ2gzWldsbmFIUnpMbXhsYm1kMGFDd2dMVEV1TUNrN1hHNGdJQ0FnWTI5dWMzUWdiV0Y0SUQwZ2RYUnBiSE11YldGNEtIZGxhV2RvZEhNcE8xeHVJQ0FnSUdOdmJuTjBJRzVUWVcxd2JHVnpJRDBnZDJWcFoyaDBjeTV0WVhBb2R5QTlQaUFvZHlBdklHMWhlQ2tnS2lCdVJYQnZZMmh6S1R0Y2JpQWdJQ0J1VTJGdGNHeGxjeTVtYjNKRllXTm9LQ2h1TENCcEtTQTlQaUI3WEc0Z0lDQWdJQ0JwWmlBb2JpQStJREFwSUhKbGMzVnNkRnRwWFNBOUlHNUZjRzlqYUhNZ0x5QnVVMkZ0Y0d4bGMxdHBYVHRjYmlBZ0lDQjlLVHRjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFRnpjMmxuYm5NZ2IzQjBhVzFwZW1GMGFXOXVJSE4wWVhSbElIQmhjbUZ0WlhSbGNuTWdabkp2YlNCaElIQmhjblJwWVd3Z2IzQjBhVzFwZW1GMGFXOXVJSE4wWVhSbExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmhjM05wWjI1UGNIUnBiV2w2WVhScGIyNVRkR0YwWlZCaGNtRnRaWFJsY25Nb2MzUmhkR1U2SUZCaGNuUnBZV3c4VDNCMGFXMXBlbUYwYVc5dVUzUmhkR1UrS1NCN1hHNGdJQ0FnVDJKcVpXTjBMbUZ6YzJsbmJpaDBhR2x6TG05d2RHbHRhWHBoZEdsdmJsTjBZWFJsTENCemRHRjBaU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1UyVjBjeUJoSUdabGR5QnZjSFJwYldsNllYUnBiMjRnYzNSaGRHVWdjR0Z5WVcxbGRHVnljeUIwYUdGMElHRnlaU0J1WldObGMzTmhjbmtnWW1WbWIzSmxJR1Z1ZEdWeWFXNW5YRzRnSUNBcUlIUm9aU0J2Y0hScGJXbDZZWFJwYjI0Z2MzUmxjQ0JzYjI5d0xseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQndjbVZ3WVhKbFJtOXlUM0IwYVcxcGVtRjBhVzl1VEc5dmNDZ3BJSHRjYmlBZ0lDQXZMeUJJZVhCbGNuQmhjbUZ0WlhSbGNuTmNiaUFnSUNCamIyNXpkQ0I3SUhKbGNIVnNjMmx2YmxOMGNtVnVaM1JvTENCc1pXRnlibWx1WjFKaGRHVXNJRzVsWjJGMGFYWmxVMkZ0Y0d4bFVtRjBaU0I5SUQwZ2RHaHBjenRjYmx4dUlDQWdJR052Ym5OMElIdGNiaUFnSUNBZ0lHVndiMk5vYzFCbGNsTmhiWEJzWlN4Y2JpQWdJQ0FnSUdobFlXUkZiV0psWkdScGJtY3NYRzRnSUNBZ0lDQjBZV2xzUlcxaVpXUmthVzVuTEZ4dUlDQWdJSDBnUFNCMGFHbHpMbTl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxPMXh1WEc0Z0lDQWdZMjl1YzNRZ1pHbHRJRDBnYUdWaFpFVnRZbVZrWkdsdVoxc3dYUzVzWlc1bmRHZzdYRzRnSUNBZ1kyOXVjM1FnYlc5MlpVOTBhR1Z5SUQwZ2FHVmhaRVZ0WW1Wa1pHbHVaeTVzWlc1bmRHZ2dQVDA5SUhSaGFXeEZiV0psWkdScGJtY3ViR1Z1WjNSb08xeHVYRzRnSUNBZ1kyOXVjM1FnWlhCdlkyaHpVR1Z5VG1WbllYUnBkbVZUWVcxd2JHVWdQU0JsY0c5amFITlFaWEpUWVcxd2JHVXViV0Z3S0Z4dUlDQWdJQ0FnWlNBOVBpQmxJQzhnYm1WbllYUnBkbVZUWVcxd2JHVlNZWFJsWEc0Z0lDQWdLVHRjYmlBZ0lDQmpiMjV6ZENCbGNHOWphRTltVG1WNGRFNWxaMkYwYVhabFUyRnRjR3hsSUQwZ1d5NHVMbVZ3YjJOb2MxQmxjazVsWjJGMGFYWmxVMkZ0Y0d4bFhUdGNiaUFnSUNCamIyNXpkQ0JsY0c5amFFOW1UbVY0ZEZOaGJYQnNaU0E5SUZzdUxpNWxjRzlqYUhOUVpYSlRZVzF3YkdWZE8xeHVYRzRnSUNBZ2RHaHBjeTVoYzNOcFoyNVBjSFJwYldsNllYUnBiMjVUZEdGMFpWQmhjbUZ0WlhSbGNuTW9lMXh1SUNBZ0lDQWdaWEJ2WTJoUFprNWxlSFJUWVcxd2JHVXNYRzRnSUNBZ0lDQmxjRzlqYUU5bVRtVjRkRTVsWjJGMGFYWmxVMkZ0Y0d4bExGeHVJQ0FnSUNBZ1pYQnZZMmh6VUdWeVRtVm5ZWFJwZG1WVFlXMXdiR1VzWEc0Z0lDQWdJQ0J0YjNabFQzUm9aWElzWEc0Z0lDQWdJQ0JwYm1sMGFXRnNRV3h3YUdFNklHeGxZWEp1YVc1blVtRjBaU3hjYmlBZ0lDQWdJR0ZzY0doaE9pQnNaV0Z5Ym1sdVoxSmhkR1VzWEc0Z0lDQWdJQ0JuWVcxdFlUb2djbVZ3ZFd4emFXOXVVM1J5Wlc1bmRHZ3NYRzRnSUNBZ0lDQmthVzBzWEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1NXNXBkR2xoYkdsNlpYTWdiM0IwYVcxcGVtRjBhVzl1SUhOMFlYUmxJR1p2Y2lCemRHVndkMmx6WlNCdmNIUnBiV2w2WVhScGIyNHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJR2x1YVhScFlXeHBlbVZQY0hScGJXbDZZWFJwYjI0b0tTQjdYRzRnSUNBZ0x5OGdRV3huYjNKcGRHaHRJSE4wWVhSbFhHNGdJQ0FnWTI5dWMzUWdhR1ZoWkVWdFltVmtaR2x1WnlBOUlIUm9hWE11WlcxaVpXUmthVzVuTzF4dUlDQWdJR052Ym5OMElIUmhhV3hGYldKbFpHUnBibWNnUFNCMGFHbHpMbVZ0WW1Wa1pHbHVaenRjYmx4dUlDQWdJQzh2SUVsdWFYUnBZV3hwZW1Wa0lHbHVJR2x1YVhScFlXeHBlbVZUYVcxd2JHbGphV0ZzVTJWMFJXMWlaV1JrYVc1bktDbGNiaUFnSUNCamIyNXpkQ0I3SUdobFlXUXNJSFJoYVd3c0lHVndiMk5vYzFCbGNsTmhiWEJzWlNCOUlEMGdkR2hwY3k1dmNIUnBiV2w2WVhScGIyNVRkR0YwWlR0Y2JseHVJQ0FnSUdOdmJuTjBJRzVGY0c5amFITWdQU0IwYUdsekxtZGxkRTVGY0c5amFITW9LVHRjYmlBZ0lDQmpiMjV6ZENCdVZtVnlkR2xqWlhNZ1BTQjBhR2x6TG1keVlYQm9MbTVEYjJ4ek8xeHVYRzRnSUNBZ1kyOXVjM1FnZXlCaExDQmlJSDBnUFNCbWFXNWtRVUpRWVhKaGJYTW9kR2hwY3k1emNISmxZV1FzSUhSb2FYTXViV2x1UkdsemRDazdYRzVjYmlBZ0lDQjBhR2x6TG1GemMybG5iazl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxVR0Z5WVcxbGRHVnljeWg3WEc0Z0lDQWdJQ0JvWldGa1JXMWlaV1JrYVc1bkxGeHVJQ0FnSUNBZ2RHRnBiRVZ0WW1Wa1pHbHVaeXhjYmlBZ0lDQWdJR2hsWVdRc1hHNGdJQ0FnSUNCMFlXbHNMRnh1SUNBZ0lDQWdaWEJ2WTJoelVHVnlVMkZ0Y0d4bExGeHVJQ0FnSUNBZ1lTeGNiaUFnSUNBZ0lHSXNYRzRnSUNBZ0lDQnVSWEJ2WTJoekxGeHVJQ0FnSUNBZ2JsWmxjblJwWTJWekxGeHVJQ0FnSUgwcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWx0Y0hKdmRtVWdZVzRnWlcxaVpXUmthVzVuSUhWemFXNW5JSE4wYjJOb1lYTjBhV01nWjNKaFpHbGxiblFnWkdWelkyVnVkQ0IwYnlCdGFXNXBiV2w2WlNCMGFHVmNiaUFnSUNvZ1puVjZlbmtnYzJWMElHTnliM056SUdWdWRISnZjSGtnWW1WMGQyVmxiaUIwYUdVZ01TMXphMlZzWlhSdmJuTWdiMllnZEdobElHaHBaMmdnWkdsdFpXNXphVzl1WVd4Y2JpQWdJQ29nWVc1a0lHeHZkeUJrYVcxbGJuTnBiMjVoYkNCbWRYcDZlU0J6YVcxd2JHbGphV0ZzSUhObGRITXVJRWx1SUhCeVlXTjBhV05sSUhSb2FYTWdhWE1nWkc5dVpTQmllVnh1SUNBZ0tpQnpZVzF3YkdsdVp5QmxaR2RsY3lCaVlYTmxaQ0J2YmlCMGFHVnBjaUJ0WlcxaVpYSnphR2x3SUhOMGNtVnVaM1JvSUNoM2FYUm9JSFJvWlNBb01TMXdLU0IwWlhKdGMxeHVJQ0FnS2lCamIyMXBibWNnWm5KdmJTQnVaV2RoZEdsMlpTQnpZVzF3YkdsdVp5QnphVzFwYkdGeUlIUnZJSGR2Y21ReWRtVmpLUzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnYjNCMGFXMXBlbVZNWVhsdmRYUlRkR1Z3S0c0NklHNTFiV0psY2lrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnYjNCMGFXMXBlbUYwYVc5dVUzUmhkR1VnZlNBOUlIUm9hWE03WEc0Z0lDQWdZMjl1YzNRZ2UxeHVJQ0FnSUNBZ2FHVmhaQ3hjYmlBZ0lDQWdJSFJoYVd3c1hHNGdJQ0FnSUNCb1pXRmtSVzFpWldSa2FXNW5MRnh1SUNBZ0lDQWdkR0ZwYkVWdFltVmtaR2x1Wnl4Y2JpQWdJQ0FnSUdWd2IyTm9jMUJsY2xOaGJYQnNaU3hjYmlBZ0lDQWdJR1Z3YjJOb1QyWk9aWGgwVTJGdGNHeGxMRnh1SUNBZ0lDQWdaWEJ2WTJoUFprNWxlSFJPWldkaGRHbDJaVk5oYlhCc1pTeGNiaUFnSUNBZ0lHVndiMk5vYzFCbGNrNWxaMkYwYVhabFUyRnRjR3hsTEZ4dUlDQWdJQ0FnYlc5MlpVOTBhR1Z5TEZ4dUlDQWdJQ0FnYVc1cGRHbGhiRUZzY0doaExGeHVJQ0FnSUNBZ1lXeHdhR0VzWEc0Z0lDQWdJQ0JuWVcxdFlTeGNiaUFnSUNBZ0lHRXNYRzRnSUNBZ0lDQmlMRnh1SUNBZ0lDQWdaR2x0TEZ4dUlDQWdJQ0FnYmtWd2IyTm9jeXhjYmlBZ0lDQWdJRzVXWlhKMGFXTmxjeXhjYmlBZ0lDQjlJRDBnYjNCMGFXMXBlbUYwYVc5dVUzUmhkR1U3WEc1Y2JpQWdJQ0JqYjI1emRDQmpiR2x3Vm1Gc2RXVWdQU0EwTGpBN1hHNWNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHVndiMk5vYzFCbGNsTmhiWEJzWlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdhV1lnS0dWd2IyTm9UMlpPWlhoMFUyRnRjR3hsVzJsZElENGdiaWtnZTF4dUlDQWdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1kyOXVjM1FnYWlBOUlHaGxZV1JiYVYwN1hHNGdJQ0FnSUNCamIyNXpkQ0JySUQwZ2RHRnBiRnRwWFR0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnWTNWeWNtVnVkQ0E5SUdobFlXUkZiV0psWkdScGJtZGJhbDA3WEc0Z0lDQWdJQ0JqYjI1emRDQnZkR2hsY2lBOUlIUmhhV3hGYldKbFpHUnBibWRiYTEwN1hHNWNiaUFnSUNBZ0lHTnZibk4wSUdScGMzUlRjWFZoY21Wa0lEMGdja1JwYzNRb1kzVnljbVZ1ZEN3Z2IzUm9aWElwTzF4dVhHNGdJQ0FnSUNCc1pYUWdaM0poWkVOdlpXWm1JRDBnTUR0Y2JpQWdJQ0FnSUdsbUlDaGthWE4wVTNGMVlYSmxaQ0ErSURBcElIdGNiaUFnSUNBZ0lDQWdaM0poWkVOdlpXWm1JRDBnTFRJdU1DQXFJR0VnS2lCaUlDb2dUV0YwYUM1d2IzY29aR2x6ZEZOeGRXRnlaV1FzSUdJZ0xTQXhMakFwTzF4dUlDQWdJQ0FnSUNCbmNtRmtRMjlsWm1ZZ0x6MGdZU0FxSUUxaGRHZ3VjRzkzS0dScGMzUlRjWFZoY21Wa0xDQmlLU0FySURFdU1EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdabTl5SUNoc1pYUWdaQ0E5SURBN0lHUWdQQ0JrYVcwN0lHUXJLeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JuY21Ga1JDQTlJR05zYVhBb1ozSmhaRU52WldabUlDb2dLR04xY25KbGJuUmJaRjBnTFNCdmRHaGxjbHRrWFNrc0lHTnNhWEJXWVd4MVpTazdYRzRnSUNBZ0lDQWdJR04xY25KbGJuUmJaRjBnS3owZ1ozSmhaRVFnS2lCaGJIQm9ZVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHMXZkbVZQZEdobGNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUc5MGFHVnlXMlJkSUNzOUlDMW5jbUZrUkNBcUlHRnNjR2hoTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHVndiMk5vVDJaT1pYaDBVMkZ0Y0d4bFcybGRJQ3M5SUdWd2IyTm9jMUJsY2xOaGJYQnNaVnRwWFR0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnYms1bFoxTmhiWEJzWlhNZ1BTQk5ZWFJvTG1ac2IyOXlLRnh1SUNBZ0lDQWdJQ0FvYmlBdElHVndiMk5vVDJaT1pYaDBUbVZuWVhScGRtVlRZVzF3YkdWYmFWMHBJQzhnWlhCdlkyaHpVR1Z5VG1WbllYUnBkbVZUWVcxd2JHVmJhVjFjYmlBZ0lDQWdJQ2s3WEc1Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUhBZ1BTQXdPeUJ3SUR3Z2JrNWxaMU5oYlhCc1pYTTdJSEFyS3lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCcklEMGdkWFJwYkhNdWRHRjFVbUZ1WkVsdWRDaHVWbVZ5ZEdsalpYTXNJSFJvYVhNdWNtRnVaRzl0S1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYjNSb1pYSWdQU0IwWVdsc1JXMWlaV1JrYVc1blcydGRPMXh1WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1JwYzNSVGNYVmhjbVZrSUQwZ2NrUnBjM1FvWTNWeWNtVnVkQ3dnYjNSb1pYSXBPMXh1WEc0Z0lDQWdJQ0FnSUd4bGRDQm5jbUZrUTI5bFptWWdQU0F3TGpBN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hrYVhOMFUzRjFZWEpsWkNBK0lEQXVNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHZHlZV1JEYjJWbVppQTlJREl1TUNBcUlHZGhiVzFoSUNvZ1lqdGNiaUFnSUNBZ0lDQWdJQ0JuY21Ga1EyOWxabVlnTHoxY2JpQWdJQ0FnSUNBZ0lDQWdJQ2d3TGpBd01TQXJJR1JwYzNSVGNYVmhjbVZrS1NBcUlDaGhJQ29nVFdGMGFDNXdiM2NvWkdsemRGTnhkV0Z5WldRc0lHSXBJQ3NnTVNrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9haUE5UFQwZ2F5a2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdaQ0E5SURBN0lHUWdQQ0JrYVcwN0lHUXJLeWtnZTF4dUlDQWdJQ0FnSUNBZ0lHeGxkQ0JuY21Ga1JDQTlJRFF1TUR0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWjNKaFpFTnZaV1ptSUQ0Z01DNHdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm5jbUZrUkNBOUlHTnNhWEFvWjNKaFpFTnZaV1ptSUNvZ0tHTjFjbkpsYm5SYlpGMGdMU0J2ZEdobGNsdGtYU2tzSUdOc2FYQldZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUdOMWNuSmxiblJiWkYwZ0t6MGdaM0poWkVRZ0tpQmhiSEJvWVR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1pYQnZZMmhQWms1bGVIUk9aV2RoZEdsMlpWTmhiWEJzWlZ0cFhTQXJQU0J1VG1WblUyRnRjR3hsY3lBcUlHVndiMk5vYzFCbGNrNWxaMkYwYVhabFUyRnRjR3hsVzJsZE8xeHVJQ0FnSUgxY2JpQWdJQ0J2Y0hScGJXbDZZWFJwYjI1VGRHRjBaUzVoYkhCb1lTQTlJR2x1YVhScFlXeEJiSEJvWVNBcUlDZ3hMakFnTFNCdUlDOGdia1Z3YjJOb2N5azdYRzVjYmlBZ0lDQnZjSFJwYldsNllYUnBiMjVUZEdGMFpTNWpkWEp5Wlc1MFJYQnZZMmdnS3owZ01UdGNiaUFnSUNCeVpYUjFjbTRnYUdWaFpFVnRZbVZrWkdsdVp6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJKYlhCeWIzWmxJR0Z1SUdWdFltVmtaR2x1WnlCMWMybHVaeUJ6ZEc5amFHRnpkR2xqSUdkeVlXUnBaVzUwSUdSbGMyTmxiblFnZEc4Z2JXbHVhVzFwZW1VZ2RHaGxYRzRnSUNBcUlHWjFlbnA1SUhObGRDQmpjbTl6Y3lCbGJuUnliM0I1SUdKbGRIZGxaVzRnZEdobElERXRjMnRsYkdWMGIyNXpJRzltSUhSb1pTQm9hV2RvSUdScGJXVnVjMmx2Ym1Gc1hHNGdJQ0FxSUdGdVpDQnNiM2NnWkdsdFpXNXphVzl1WVd3Z1puVjZlbmtnYzJsdGNHeHBZMmxoYkNCelpYUnpMaUJKYmlCd2NtRmpkR2xqWlNCMGFHbHpJR2x6SUdSdmJtVWdZbmxjYmlBZ0lDb2djMkZ0Y0d4cGJtY2daV1JuWlhNZ1ltRnpaV1FnYjI0Z2RHaGxhWElnYldWdFltVnljMmhwY0NCemRISmxibWQwYUNBb2QybDBhQ0IwYUdVZ0tERXRjQ2tnZEdWeWJYTmNiaUFnSUNvZ1kyOXRhVzVuSUdaeWIyMGdibVZuWVhScGRtVWdjMkZ0Y0d4cGJtY2djMmx0YVd4aGNpQjBieUIzYjNKa01uWmxZeWt1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUc5d2RHbHRhWHBsVEdGNWIzVjBRWE41Ym1Nb1hHNGdJQ0FnWlhCdlkyaERZV3hzWW1GamF6b2dLR1Z3YjJOb1RuVnRZbVZ5T2lCdWRXMWlaWElwSUQwK0lIWnZhV1FnZkNCaWIyOXNaV0Z1SUQwZ0tDa2dQVDRnZEhKMVpWeHVJQ0FwT2lCUWNtOXRhWE5sUEdKdmIyeGxZVzQrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlVvS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYzNSbGNDQTlJR0Z6ZVc1aklDZ3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0I3SUc1RmNHOWphSE1zSUdOMWNuSmxiblJGY0c5amFDQjlJRDBnZEdocGN5NXZjSFJwYldsNllYUnBiMjVUZEdGMFpUdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxtVnRZbVZrWkdsdVp5QTlJSFJvYVhNdWIzQjBhVzFwZW1WTVlYbHZkWFJUZEdWd0tHTjFjbkpsYm5SRmNHOWphQ2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWlhCdlkyaERiMjF3YkdWMFpXUWdQU0IwYUdsekxtOXdkR2x0YVhwaGRHbHZibE4wWVhSbExtTjFjbkpsYm5SRmNHOWphRHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J6YUc5MWJHUlRkRzl3SUQwZ1pYQnZZMmhEWVd4c1ltRmpheWhsY0c5amFFTnZiWEJzWlhSbFpDa2dQVDA5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR2x6Um1sdWFYTm9aV1FnUFNCbGNHOWphRU52YlhCc1pYUmxaQ0E5UFQwZ2JrVndiMk5vY3p0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSVhOb2IzVnNaRk4wYjNBZ0ppWWdJV2x6Um1sdWFYTm9aV1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE5sZEZScGJXVnZkWFFvS0NrZ1BUNGdjM1JsY0NncExDQXdLVHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlISmxjMjlzZG1Vb2FYTkdhVzVwYzJobFpDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOUlHTmhkR05vSUNobGNuSXBJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpXcGxZM1FvWlhKeUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSE5sZEZScGJXVnZkWFFvS0NrZ1BUNGdjM1JsY0NncExDQXdLVHRjYmlBZ0lDQjlLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSmJYQnliM1psSUdGdUlHVnRZbVZrWkdsdVp5QjFjMmx1WnlCemRHOWphR0Z6ZEdsaklHZHlZV1JwWlc1MElHUmxjMk5sYm5RZ2RHOGdiV2x1YVcxcGVtVWdkR2hsWEc0Z0lDQXFJR1oxZW5wNUlITmxkQ0JqY205emN5QmxiblJ5YjNCNUlHSmxkSGRsWlc0Z2RHaGxJREV0YzJ0bGJHVjBiMjV6SUc5bUlIUm9aU0JvYVdkb0lHUnBiV1Z1YzJsdmJtRnNYRzRnSUNBcUlHRnVaQ0JzYjNjZ1pHbHRaVzV6YVc5dVlXd2dablY2ZW5rZ2MybHRjR3hwWTJsaGJDQnpaWFJ6TGlCSmJpQndjbUZqZEdsalpTQjBhR2x6SUdseklHUnZibVVnWW5sY2JpQWdJQ29nYzJGdGNHeHBibWNnWldSblpYTWdZbUZ6WldRZ2IyNGdkR2hsYVhJZ2JXVnRZbVZ5YzJocGNDQnpkSEpsYm1kMGFDQW9kMmwwYUNCMGFHVWdLREV0Y0NrZ2RHVnliWE5jYmlBZ0lDb2dZMjl0YVc1bklHWnliMjBnYm1WbllYUnBkbVVnYzJGdGNHeHBibWNnYzJsdGFXeGhjaUIwYnlCM2IzSmtNblpsWXlrdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElHOXdkR2x0YVhwbFRHRjViM1YwS0Z4dUlDQWdJR1Z3YjJOb1EyRnNiR0poWTJzNklDaGxjRzlqYUU1MWJXSmxjam9nYm5WdFltVnlLU0E5UGlCMmIybGtJSHdnWW05dmJHVmhiaUE5SUNncElEMCtJSFJ5ZFdWY2JpQWdLVG9nVm1WamRHOXljeUI3WEc0Z0lDQWdiR1YwSUdselJtbHVhWE5vWldRZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JzWlhRZ1pXMWlaV1JrYVc1bk9pQldaV04wYjNKeklEMGdXMTA3WEc0Z0lDQWdkMmhwYkdVZ0tDRnBjMFpwYm1semFHVmtLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQjdJRzVGY0c5amFITXNJR04xY25KbGJuUkZjRzlqYUNCOUlEMGdkR2hwY3k1dmNIUnBiV2w2WVhScGIyNVRkR0YwWlR0Y2JpQWdJQ0FnSUdWdFltVmtaR2x1WnlBOUlIUm9hWE11YjNCMGFXMXBlbVZNWVhsdmRYUlRkR1Z3S0dOMWNuSmxiblJGY0c5amFDazdYRzRnSUNBZ0lDQmpiMjV6ZENCbGNHOWphRU52YlhCc1pYUmxaQ0E5SUhSb2FYTXViM0IwYVcxcGVtRjBhVzl1VTNSaGRHVXVZM1Z5Y21WdWRFVndiMk5vTzF4dUlDQWdJQ0FnWTI5dWMzUWdjMmh2ZFd4a1UzUnZjQ0E5SUdWd2IyTm9RMkZzYkdKaFkyc29aWEJ2WTJoRGIyMXdiR1YwWldRcElEMDlQU0JtWVd4elpUdGNiaUFnSUNBZ0lHbHpSbWx1YVhOb1pXUWdQU0JsY0c5amFFTnZiWEJzWlhSbFpDQTlQVDBnYmtWd2IyTm9jeUI4ZkNCemFHOTFiR1JUZEc5d08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdaVzFpWldSa2FXNW5PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRITWdkR2hsSUc1MWJXSmxjaUJ2WmlCbGNHOWphSE1nWm05eUlHOXdkR2x0YVhwcGJtY2dkR2hsSUhCeWIycGxZM1JwYjI0dVhHNGdJQ0FxSUU1UFZFVTZJRlJvYVhNZ2FHVjFjbWx6ZEdsaklHUnBabVpsY25NZ1puSnZiU0IwYUdVZ2NIbDBhRzl1SUhabGNuTnBiMjVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhST1JYQnZZMmh6S0NrZ2UxeHVJQ0FnSUdOdmJuTjBJR2R5WVhCb0lEMGdkR2hwY3k1bmNtRndhRHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbTVGY0c5amFITWdQaUF3S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXVSWEJ2WTJoek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDZ2haM0poY0dncElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlBeU1EQTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYkdWdVozUm9JRDBnWjNKaGNHZ3VibEp2ZDNNN1hHNGdJQ0FnYVdZZ0tHeGxibWQwYUNBOFBTQXlOVEF3S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnTlRBd08xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JHVnVaM1JvSUR3OUlEVXdNREFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUEwTURBN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoc1pXNW5kR2dnUEQwZ056VXdNQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRE13TUR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjbVYwZFhKdUlESXdNRHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1YxWTJ4cFpHVmhiaWg0T2lCV1pXTjBiM0lzSUhrNklGWmxZM1J2Y2lrZ2UxeHVJQ0JzWlhRZ2NtVnpkV3gwSUQwZ01EdGNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCNExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdjbVZ6ZFd4MElDczlJQ2g0VzJsZElDMGdlVnRwWFNrZ0tpb2dNanRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdUV0YwYUM1emNYSjBLSEpsYzNWc2RDazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdWRXMWxjbWxqS0hnNklHNTFiV0psY2l3Z2VUb2diblZ0WW1WeUtTQjdYRzRnSUdOdmJuTjBJSEpsYzNWc2RDQTlJRTFoZEdndVlXSnpLSGdnTFNCNUtUdGNiaUFnY21WMGRYSnVJSEpsYzNWc2REdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdOdmMybHVaU2g0T2lCV1pXTjBiM0lzSUhrNklGWmxZM1J2Y2lrZ2UxeHVJQ0JzWlhRZ2NtVnpkV3gwSUQwZ01DNHdPMXh1SUNCc1pYUWdibTl5YlZnZ1BTQXdMakE3WEc0Z0lHeGxkQ0J1YjNKdFdTQTlJREF1TUR0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhndWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQnlaWE4xYkhRZ0t6MGdlRnRwWFNBcUlIbGJhVjA3WEc0Z0lDQWdibTl5YlZnZ0t6MGdlRnRwWFNBcUtpQXlPMXh1SUNBZ0lHNXZjbTFaSUNzOUlIbGJhVjBnS2lvZ01qdGNiaUFnZlZ4dVhHNGdJR2xtSUNodWIzSnRXQ0E5UFQwZ01DQW1KaUJ1YjNKdFdTQTlQVDBnTUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUF3TzF4dUlDQjlJR1ZzYzJVZ2FXWWdLRzV2Y20xWUlEMDlQU0F3SUh4OElHNXZjbTFaSUQwOVBTQXdLU0I3WEc0Z0lDQWdjbVYwZFhKdUlERXVNRHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdNUzR3SUMwZ2NtVnpkV3gwSUM4Z1RXRjBhQzV6Y1hKMEtHNXZjbTFZSUNvZ2JtOXliVmtwTzF4dUlDQjlYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FXNGdhVzUwWlhKbVlXTmxJSEpsY0hKbGMyVnVkR2x1WnlCMGFHVWdiM0IwYVcxcGVtRjBhVzl1SUhOMFlYUmxJSFJ5WVdOclpXUWdZbVYwZDJWbGJpQnpkR1Z3Y3lCdlpseHVJQ29nZEdobElGTkhSQ0J2Y0hScGJXbDZZWFJwYjI1Y2JpQXFMMXh1WTJ4aGMzTWdUM0IwYVcxcGVtRjBhVzl1VTNSaGRHVWdlMXh1SUNCamRYSnlaVzUwUlhCdlkyZ2dQU0F3TzF4dVhHNGdJQzh2SUVSaGRHRWdkSEpoWTJ0bFpDQmtkWEpwYm1jZ2IzQjBhVzFwZW1GMGFXOXVJSE4wWlhCekxseHVJQ0JvWldGa1JXMWlaV1JrYVc1bk9pQnVkVzFpWlhKYlhWdGRJRDBnVzEwN1hHNGdJSFJoYVd4RmJXSmxaR1JwYm1jNklHNTFiV0psY2x0ZFcxMGdQU0JiWFR0Y2JpQWdhR1ZoWkRvZ2JuVnRZbVZ5VzEwZ1BTQmJYVHRjYmlBZ2RHRnBiRG9nYm5WdFltVnlXMTBnUFNCYlhUdGNiaUFnWlhCdlkyaHpVR1Z5VTJGdGNHeGxPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVJQ0JsY0c5amFFOW1UbVY0ZEZOaGJYQnNaVG9nYm5WdFltVnlXMTBnUFNCYlhUdGNiaUFnWlhCdlkyaFBaazVsZUhST1pXZGhkR2wyWlZOaGJYQnNaVG9nYm5WdFltVnlXMTBnUFNCYlhUdGNiaUFnWlhCdlkyaHpVR1Z5VG1WbllYUnBkbVZUWVcxd2JHVTZJRzUxYldKbGNsdGRJRDBnVzEwN1hHNGdJRzF2ZG1WUGRHaGxjaUE5SUhSeWRXVTdYRzRnSUdsdWFYUnBZV3hCYkhCb1lTQTlJREV1TUR0Y2JpQWdZV3h3YUdFZ1BTQXhMakE3WEc0Z0lHZGhiVzFoSUQwZ01TNHdPMXh1SUNCaElEMGdNUzQxTnpZNU5ETTBOakF6TVRFek1EYzNPMXh1SUNCaUlEMGdNQzQ0T1RVd05qQTROemM1TVRBNU56TXpPMXh1SUNCa2FXMGdQU0F5TzF4dUlDQnVSWEJ2WTJoeklEMGdOVEF3TzF4dUlDQnVWbVZ5ZEdsalpYTWdQU0F3TzF4dWZWeHVYRzR2S2lwY2JpQXFJRk4wWVc1a1lYSmtJR05zWVcxd2FXNW5JRzltSUdFZ2RtRnNkV1VnYVc1MGJ5QmhJR1pwZUdWa0lISmhibWRsWEc0Z0tpOWNibVoxYm1OMGFXOXVJR05zYVhBb2VEb2diblZ0WW1WeUxDQmpiR2x3Vm1Gc2RXVTZJRzUxYldKbGNpa2dlMXh1SUNCcFppQW9lQ0ErSUdOc2FYQldZV3gxWlNrZ2NtVjBkWEp1SUdOc2FYQldZV3gxWlR0Y2JpQWdaV3h6WlNCcFppQW9lQ0E4SUMxamJHbHdWbUZzZFdVcElISmxkSFZ5YmlBdFkyeHBjRlpoYkhWbE8xeHVJQ0JsYkhObElISmxkSFZ5YmlCNE8xeHVmVnh1WEc0dktpcGNiaUFxSUZKbFpIVmpaV1FnUlhWamJHbGtaV0Z1SUdScGMzUmhibU5sTGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJ5UkdsemRDaDRPaUJ1ZFcxaVpYSmJYU3dnZVRvZ2JuVnRZbVZ5VzEwcElIdGNiaUFnYkdWMElISmxjM1ZzZENBOUlEQXVNRHRjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnY21WemRXeDBJQ3M5SUUxaGRHZ3VjRzkzS0hoYmFWMGdMU0I1VzJsZExDQXlLVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVmVnh1WEc0dktpcGNiaUFxSUVacGRDQmhMQ0JpSUhCaGNtRnRjeUJtYjNJZ2RHaGxJR1JwWm1abGNtVnVkR2xoWW14bElHTjFjblpsSUhWelpXUWdhVzRnYkc5M1pYSmNiaUFxSUdScGJXVnVjMmx2Ym1Gc0lHWjFlbnA1SUhOcGJYQnNhV05wWVd3Z1kyOXRjR3hsZUNCamIyNXpkSEoxWTNScGIyNHVJRmRsSUhkaGJuUWdkR2hsWEc0Z0tpQnpiVzl2ZEdnZ1kzVnlkbVVnS0daeWIyMGdZU0J3Y21VdFpHVm1hVzVsWkNCbVlXMXBiSGtnZDJsMGFDQnphVzF3YkdVZ1ozSmhaR2xsYm5RcElIUm9ZWFJjYmlBcUlHSmxjM1FnYldGMFkyaGxjeUJoYmlCdlptWnpaWFFnWlhod2IyNWxiblJwWVd3Z1pHVmpZWGt1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm1hVzVrUVVKUVlYSmhiWE1vYzNCeVpXRmtPaUJ1ZFcxaVpYSXNJRzFwYmtScGMzUTZJRzUxYldKbGNpa2dlMXh1SUNCamIyNXpkQ0JqZFhKMlpTQTlJQ2hiWVN3Z1lsMDZJRzUxYldKbGNsdGRLU0E5UGlBb2VEb2diblZ0WW1WeUtTQTlQaUI3WEc0Z0lDQWdjbVYwZFhKdUlERXVNQ0F2SUNneExqQWdLeUJoSUNvZ2VDQXFLaUFvTWlBcUlHSXBLVHRjYmlBZ2ZUdGNibHh1SUNCamIyNXpkQ0I0ZGlBOUlIVjBhV3h6WEc0Z0lDQWdMbXhwYm1WaGNpZ3dMQ0J6Y0hKbFlXUWdLaUF6TENBek1EQXBYRzRnSUNBZ0xtMWhjQ2gyWVd3Z1BUNGdLSFpoYkNBOElHMXBia1JwYzNRZ1B5QXhMakFnT2lCMllXd3BLVHRjYmx4dUlDQmpiMjV6ZENCNWRpQTlJSFYwYVd4ekxucGxjbTl6S0hoMkxteGxibWQwYUNrdWJXRndLQ2gyWVd3c0lHbHVaR1Y0S1NBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnWjNSbElEMGdlSFpiYVc1a1pYaGRJRDQ5SUcxcGJrUnBjM1E3WEc0Z0lDQWdjbVYwZFhKdUlHZDBaU0EvSUUxaGRHZ3VaWGh3S0Mwb2VIWmJhVzVrWlhoZElDMGdiV2x1UkdsemRDa2dMeUJ6Y0hKbFlXUXBJRG9nZG1Gc08xeHVJQ0I5S1R0Y2JseHVJQ0JqYjI1emRDQnBibWwwYVdGc1ZtRnNkV1Z6SUQwZ1d6QXVOU3dnTUM0MVhUdGNiaUFnWTI5dWMzUWdaR0YwWVNBOUlIc2dlRG9nZUhZc0lIazZJSGwySUgwN1hHNWNiaUFnTHk4Z1JHVm1ZWFZzZENCdmNIUnBiMjV6SUdadmNpQjBhR1VnWVd4bmIzSnBkR2h0SUNobWNtOXRJR2RwZEdoMVlpQmxlR0Z0Y0d4bEtWeHVJQ0JqYjI1emRDQnZjSFJwYjI1eklEMGdlMXh1SUNBZ0lHUmhiWEJwYm1jNklERXVOU3hjYmlBZ0lDQnBibWwwYVdGc1ZtRnNkV1Z6TEZ4dUlDQWdJR2R5WVdScFpXNTBSR2xtWm1WeVpXNWpaVG9nTVRCbExUSXNYRzRnSUNBZ2JXRjRTWFJsY21GMGFXOXVjem9nTVRBd0xGeHVJQ0FnSUdWeWNtOXlWRzlzWlhKaGJtTmxPaUF4TUdVdE15eGNiaUFnZlR0Y2JseHVJQ0JqYjI1emRDQjdJSEJoY21GdFpYUmxjbFpoYkhWbGN5QjlJRDBnVEUwb1pHRjBZU3dnWTNWeWRtVXNJRzl3ZEdsdmJuTXBPMXh1SUNCamIyNXpkQ0JiWVN3Z1lsMGdQU0J3WVhKaGJXVjBaWEpXWVd4MVpYTWdZWE1nYm5WdFltVnlXMTA3WEc0Z0lISmxkSFZ5YmlCN0lHRXNJR0lnZlR0Y2JuMWNibHh1THlvcVhHNGdLaUJWYm1SbGNpQjBhR1VnWVhOemRXMXdkR2x2YmlCdlppQmpZWFJsWjI5eWFXTmhiQ0JrYVhOMFlXNWpaU0JtYjNJZ2RHaGxJR2x1ZEdWeWMyVmpkR2x1WjF4dUlDb2djMmx0Y0d4cFkybGhiQ0J6WlhRZ2NHVnlabTl5YlNCaElHWmhjM1FnYVc1MFpYSnpaV04wYVc5dUxseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWm1GemRFbHVkR1Z5YzJWamRHbHZiaWhjYmlBZ1ozSmhjR2c2SUcxaGRISnBlQzVUY0dGeWMyVk5ZWFJ5YVhnc1hHNGdJSFJoY21kbGREb2diblZ0WW1WeVcxMHNYRzRnSUhWdWEyNXZkMjVFYVhOMElEMGdNUzR3TEZ4dUlDQm1ZWEpFYVhOMElEMGdOUzR3WEc0cElIdGNiaUFnY21WMGRYSnVJR2R5WVhCb0xtMWhjQ2dvZG1Gc2RXVXNJSEp2ZHl3Z1kyOXNLU0E5UGlCN1hHNGdJQ0FnYVdZZ0tIUmhjbWRsZEZ0eWIzZGRJRDA5UFNBdE1TQjhmQ0IwWVhKblpYUmJZMjlzWFNBOVBUMGdMVEVwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpTQXFJRTFoZEdndVpYaHdLQzExYm10dWIzZHVSR2x6ZENrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMFlYSm5aWFJiY205M1hTQWhQVDBnZEdGeVoyVjBXMk52YkYwcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMllXeDFaU0FxSUUxaGRHZ3VaWGh3S0MxbVlYSkVhWE4wS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIWmhiSFZsTzF4dUlDQWdJSDFjYmlBZ2ZTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVnpaWFFnZEdobElHeHZZMkZzSUdOdmJtNWxZM1JwZG1sMGVTQnlaWEYxYVhKbGJXVnVkQ0F0TFNCbFlXTm9JR1JoZEdFZ2MyRnRjR3hsSUhOb2IzVnNaRnh1SUNvZ2FHRjJaU0JqYjIxd2JHVjBaU0JqYjI1bWFXUmxibU5sSUdsdUlHRjBJR3hsWVhOMElHOXVaU0F4TFhOcGJYQnNaWGdnYVc0Z2RHaGxJSE5wYlhCc2FXTnBZV3dnYzJWMExseHVJQ29nVjJVZ1kyRnVJR1Z1Wm05eVkyVWdkR2hwY3lCaWVTQnNiMk5oYkd4NUlISmxjMk5oYkdsdVp5QmpiMjVtYVdSbGJtTmxjeXdnWVc1a0lIUm9aVzRnY21WdFpYSm5hVzVuSUhSb1pWeHVJQ29nWkdsbVptVnlaVzUwSUd4dlkyRnNJSE5wYlhCc2FXTnBZV3dnYzJWMGN5QjBiMmRsZEdobGNpNWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKbGMyVjBURzlqWVd4RGIyNXVaV04wYVhacGRIa29jMmx0Y0d4cFkybGhiRk5sZERvZ2JXRjBjbWw0TGxOd1lYSnpaVTFoZEhKcGVDa2dlMXh1SUNCemFXMXdiR2xqYVdGc1UyVjBJRDBnYldGMGNtbDRMbTV2Y20xaGJHbDZaU2h6YVcxd2JHbGphV0ZzVTJWMExDQnRZWFJ5YVhndVRtOXliVlI1Y0dVdWJXRjRLVHRjYmlBZ1kyOXVjM1FnZEhKaGJuTndiM05sSUQwZ2JXRjBjbWw0TG5SeVlXNXpjRzl6WlNoemFXMXdiR2xqYVdGc1UyVjBLVHRjYmlBZ1kyOXVjM1FnY0hKdlpFMWhkSEpwZUNBOUlHMWhkSEpwZUM1d1lXbHlkMmx6WlUxMWJIUnBjR3g1S0hSeVlXNXpjRzl6WlN3Z2MybHRjR3hwWTJsaGJGTmxkQ2s3WEc0Z0lITnBiWEJzYVdOcFlXeFRaWFFnUFNCdFlYUnlhWGd1WVdSa0tGeHVJQ0FnSUhOcGJYQnNhV05wWVd4VFpYUXNYRzRnSUNBZ2JXRjBjbWw0TG5OMVluUnlZV04wS0hSeVlXNXpjRzl6WlN3Z2NISnZaRTFoZEhKcGVDbGNiaUFnS1R0Y2JpQWdjbVYwZFhKdUlHMWhkSEpwZUM1bGJHbHRhVzVoZEdWYVpYSnZjeWh6YVcxd2JHbGphV0ZzVTJWMEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCSGFYWmxiaUJwYm1ScFkyVnpJR0Z1WkNCM1pXbG5hSFJ6SUdGdVpDQmhiaUJ2Y21sbmFXNWhiQ0JsYldKbFpHUnBibWR6WEc0Z0tpQnBibWwwYVdGc2FYcGxJSFJvWlNCd2IzTnBkR2x2Ym5NZ2IyWWdibVYzSUhCdmFXNTBjeUJ5Wld4aGRHbDJaU0IwYnlCMGFHVmNiaUFxSUdsdVpHbGpaWE1nWVc1a0lIZGxhV2RvZEhNZ0tHOW1JSFJvWldseUlHNWxhV2RvWW05eWN5QnBiaUIwYUdVZ2MyOTFjbU5sSUdSaGRHRXBMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FXNXBkRlJ5WVc1elptOXliU2hjYmlBZ2FXNWthV05sY3pvZ2JuVnRZbVZ5VzExYlhTeGNiaUFnZDJWcFoyaDBjem9nYm5WdFltVnlXMTFiWFN4Y2JpQWdaVzFpWldSa2FXNW5PaUJXWldOMGIzSnpYRzRwSUh0Y2JpQWdZMjl1YzNRZ2NtVnpkV3gwSUQwZ2RYUnBiSE5jYmlBZ0lDQXVlbVZ5YjNNb2FXNWthV05sY3k1c1pXNW5kR2dwWEc0Z0lDQWdMbTFoY0NoNklEMCtJSFYwYVd4ekxucGxjbTl6S0dWdFltVmtaR2x1WjFzd1hTNXNaVzVuZEdncEtUdGNibHh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHbHVaR2xqWlhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnTURzZ2FpQThJR2x1WkdsalpYTmJNRjB1YkdWdVozUm9PeUJxS3lzcElIdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHUWdQU0F3T3lCa0lEd2daVzFpWldSa2FXNW5XekJkTG14bGJtZDBhRHNnWkNzcktTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHRWdQU0JwYm1ScFkyVnpXMmxkVzJwZE8xeHVJQ0FnSUNBZ0lDQnlaWE4xYkhSYmFWMWJaRjBnS3owZ2QyVnBaMmgwYzF0cFhWdHFYU0FxSUdWdFltVmtaR2x1WjF0aFhWdGtYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JpQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JuMWNiaUpkZlE9PSIsIi8qKlxuICogQGxpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgMjAxOSBHb29nbGUgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG4vKipcbiAqIFRoaXMgaXMgYSBKYXZhU2NyaXB0IHJlaW1wbGVtZW50YXRpb24gb2YgVU1BUCAob3JpZ2luYWwgbGljZW5zZSBiZWxvdyksIGZyb21cbiAqIHRoZSBweXRob24gaW1wbGVtZW50YXRpb24gZm91bmQgYXQgaHR0cHM6Ly9naXRodWIuY29tL2xtY2lubmVzL3VtYXAuXG4gKlxuICogQGF1dGhvciBhbmR5Y29lbmVuQGdvb2dsZS5jb20gKEFuZHkgQ29lbmVuKVxuICovXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBCU0QgMy1DbGF1c2UgTGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxNywgTGVsYW5kIE1jSW5uZXNcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDpcbiAqXG4gKiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpc1xuICogICBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci5cbiAqXG4gKiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSxcbiAqICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvblxuICogICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi5cbiAqXG4gKiAqIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHNcbiAqICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb21cbiAqICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi5cbiAqXG4gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTIFwiQVMgSVNcIlxuICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRVxuICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFXG4gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTFxuICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1JcbiAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSXG4gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLFxuICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0VcbiAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKi9cbmltcG9ydCAqIGFzIGhlYXAgZnJvbSAnLi9oZWFwJztcbmltcG9ydCAqIGFzIG1hdHJpeCBmcm9tICcuL21hdHJpeCc7XG5pbXBvcnQgKiBhcyB0cmVlIGZyb20gJy4vdHJlZSc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbi8qKlxuICogQ3JlYXRlIGEgdmVyc2lvbiBvZiBuZWFyZXN0IG5laWdoYm9yIGRlc2NlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlTk5EZXNjZW50KGRpc3RhbmNlRm4sIHJhbmRvbSkge1xuICAgIHJldHVybiBmdW5jdGlvbiBuTkRlc2NlbnQoZGF0YSwgbGVhZkFycmF5LCBuTmVpZ2hib3JzLCBuSXRlcnMgPSAxMCwgbWF4Q2FuZGlkYXRlcyA9IDUwLCBkZWx0YSA9IDAuMDAxLCByaG8gPSAwLjUsIHJwVHJlZUluaXQgPSB0cnVlKSB7XG4gICAgICAgIGNvbnN0IG5WZXJ0aWNlcyA9IGRhdGEubGVuZ3RoO1xuICAgICAgICBjb25zdCBjdXJyZW50R3JhcGggPSBoZWFwLm1ha2VIZWFwKGRhdGEubGVuZ3RoLCBuTmVpZ2hib3JzKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRpY2VzID0gaGVhcC5yZWplY3Rpb25TYW1wbGUobk5laWdoYm9ycywgZGF0YS5sZW5ndGgsIHJhbmRvbSk7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGluZGljZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gZGlzdGFuY2VGbihkYXRhW2ldLCBkYXRhW2luZGljZXNbal1dKTtcbiAgICAgICAgICAgICAgICBoZWFwLmhlYXBQdXNoKGN1cnJlbnRHcmFwaCwgaSwgZCwgaW5kaWNlc1tqXSwgMSk7XG4gICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIGluZGljZXNbal0sIGQsIGksIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChycFRyZWVJbml0KSB7XG4gICAgICAgICAgICBmb3IgKGxldCBuID0gMDsgbiA8IGxlYWZBcnJheS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVhZkFycmF5W25dLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsZWFmQXJyYXlbbl1baV0gPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBsZWFmQXJyYXlbbl0ubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsZWFmQXJyYXlbbl1bal0gPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkID0gZGlzdGFuY2VGbihkYXRhW2xlYWZBcnJheVtuXVtpXV0sIGRhdGFbbGVhZkFycmF5W25dW2pdXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFwLmhlYXBQdXNoKGN1cnJlbnRHcmFwaCwgbGVhZkFycmF5W25dW2ldLCBkLCBsZWFmQXJyYXlbbl1bal0sIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIGxlYWZBcnJheVtuXVtqXSwgZCwgbGVhZkFycmF5W25dW2ldLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBuID0gMDsgbiA8IG5JdGVyczsgbisrKSB7XG4gICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVOZWlnaGJvcnMgPSBoZWFwLmJ1aWxkQ2FuZGlkYXRlcyhjdXJyZW50R3JhcGgsIG5WZXJ0aWNlcywgbk5laWdoYm9ycywgbWF4Q2FuZGlkYXRlcywgcmFuZG9tKTtcbiAgICAgICAgICAgIGxldCBjID0gMDtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgblZlcnRpY2VzOyBpKyspIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG1heENhbmRpZGF0ZXM7IGorKykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcCA9IE1hdGguZmxvb3IoY2FuZGlkYXRlTmVpZ2hib3JzWzBdW2ldW2pdKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHAgPCAwIHx8IHV0aWxzLnRhdVJhbmQocmFuZG9tKSA8IHJobykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgayA9IDA7IGsgPCBtYXhDYW5kaWRhdGVzOyBrKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHEgPSBNYXRoLmZsb29yKGNhbmRpZGF0ZU5laWdoYm9yc1swXVtpXVtrXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaiA9IGNhbmRpZGF0ZU5laWdoYm9yc1syXVtpXVtqXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNrID0gY2FuZGlkYXRlTmVpZ2hib3JzWzJdW2ldW2tdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHEgPCAwIHx8ICghY2ogJiYgIWNrKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtwXSwgZGF0YVtxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjICs9IGhlYXAuaGVhcFB1c2goY3VycmVudEdyYXBoLCBwLCBkLCBxLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGMgKz0gaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIHEsIGQsIHAsIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGMgPD0gZGVsdGEgKiBuTmVpZ2hib3JzICogZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzb3J0ZWQgPSBoZWFwLmRlaGVhcFNvcnQoY3VycmVudEdyYXBoKTtcbiAgICAgICAgcmV0dXJuIHNvcnRlZDtcbiAgICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VJbml0aWFsaXphdGlvbnMoZGlzdGFuY2VGbikge1xuICAgIGZ1bmN0aW9uIGluaXRGcm9tUmFuZG9tKG5OZWlnaGJvcnMsIGRhdGEsIHF1ZXJ5UG9pbnRzLCBfaGVhcCwgcmFuZG9tKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcXVlcnlQb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGljZXMgPSB1dGlscy5yZWplY3Rpb25TYW1wbGUobk5laWdoYm9ycywgZGF0YS5sZW5ndGgsIHJhbmRvbSk7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGluZGljZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5kaWNlc1tqXSA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGQgPSBkaXN0YW5jZUZuKGRhdGFbaW5kaWNlc1tqXV0sIHF1ZXJ5UG9pbnRzW2ldKTtcbiAgICAgICAgICAgICAgICBoZWFwLmhlYXBQdXNoKF9oZWFwLCBpLCBkLCBpbmRpY2VzW2pdLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBpbml0RnJvbVRyZWUoX3RyZWUsIGRhdGEsIHF1ZXJ5UG9pbnRzLCBfaGVhcCwgcmFuZG9tKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcXVlcnlQb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGljZXMgPSB0cmVlLnNlYXJjaEZsYXRUcmVlKHF1ZXJ5UG9pbnRzW2ldLCBfdHJlZSwgcmFuZG9tKTtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgaW5kaWNlcy5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgIGlmIChpbmRpY2VzW2pdIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGQgPSBkaXN0YW5jZUZuKGRhdGFbaW5kaWNlc1tqXV0sIHF1ZXJ5UG9pbnRzW2ldKTtcbiAgICAgICAgICAgICAgICBoZWFwLmhlYXBQdXNoKF9oZWFwLCBpLCBkLCBpbmRpY2VzW2pdLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiB7IGluaXRGcm9tUmFuZG9tLCBpbml0RnJvbVRyZWUgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtYWtlSW5pdGlhbGl6ZWROTlNlYXJjaChkaXN0YW5jZUZuKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIG5uU2VhcmNoRm4oZGF0YSwgZ3JhcGgsIGluaXRpYWxpemF0aW9uLCBxdWVyeVBvaW50cykge1xuICAgICAgICBjb25zdCB7IGluZGljZXMsIGluZHB0ciB9ID0gbWF0cml4LmdldENTUihncmFwaCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcXVlcnlQb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHRyaWVkID0gbmV3IFNldChpbml0aWFsaXphdGlvblswXVtpXSk7XG4gICAgICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgICAgIC8vIEZpbmQgc21hbGxlc3QgZmxhZ2dlZCB2ZXJ0ZXhcbiAgICAgICAgICAgICAgICBjb25zdCB2ZXJ0ZXggPSBoZWFwLnNtYWxsZXN0RmxhZ2dlZChpbml0aWFsaXphdGlvbiwgaSk7XG4gICAgICAgICAgICAgICAgaWYgKHZlcnRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBpbmRpY2VzLnNsaWNlKGluZHB0clt2ZXJ0ZXhdLCBpbmRwdHJbdmVydGV4ICsgMV0pO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PT0gdmVydGV4IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5kaWRhdGUgPT09IC0xIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmllZC5oYXMoY2FuZGlkYXRlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtjYW5kaWRhdGVdLCBxdWVyeVBvaW50c1tpXSk7XG4gICAgICAgICAgICAgICAgICAgIGhlYXAudW5jaGVja2VkSGVhcFB1c2goaW5pdGlhbGl6YXRpb24sIGksIGQsIGNhbmRpZGF0ZSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIHRyaWVkLmFkZChjYW5kaWRhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5pdGlhbGl6YXRpb247XG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplU2VhcmNoKGZvcmVzdCwgZGF0YSwgcXVlcnlQb2ludHMsIG5OZWlnaGJvcnMsIGluaXRGcm9tUmFuZG9tLCBpbml0RnJvbVRyZWUsIHJhbmRvbSkge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBoZWFwLm1ha2VIZWFwKHF1ZXJ5UG9pbnRzLmxlbmd0aCwgbk5laWdoYm9ycyk7XG4gICAgaW5pdEZyb21SYW5kb20obk5laWdoYm9ycywgZGF0YSwgcXVlcnlQb2ludHMsIHJlc3VsdHMsIHJhbmRvbSk7XG4gICAgaWYgKGZvcmVzdCkge1xuICAgICAgICBmb3IgKGxldCB0cmVlIG9mIGZvcmVzdCkge1xuICAgICAgICAgICAgaW5pdEZyb21UcmVlKHRyZWUsIGRhdGEsIHF1ZXJ5UG9pbnRzLCByZXN1bHRzLCByYW5kb20pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYm01ZlpHVnpZMlZ1ZEM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJbTV1WDJSbGMyTmxiblF1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPenM3T3pzN096czdPenM3T3pzN08wZEJhVUpITzBGQlJVZzdPenM3TzBkQlMwYzdRVUZGU0RzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096dEhRU3RDUnp0QlFVVklMRTlCUVU4c1MwRkJTeXhKUVVGSkxFMUJRVTBzVVVGQlVTeERRVUZETzBGQlF5OUNMRTlCUVU4c1MwRkJTeXhOUVVGTkxFMUJRVTBzVlVGQlZTeERRVUZETzBGQlEyNURMRTlCUVU4c1MwRkJTeXhKUVVGSkxFMUJRVTBzVVVGQlVTeERRVUZETzBGQlF5OUNMRTlCUVU4c1MwRkJTeXhMUVVGTExFMUJRVTBzVTBGQlV5eERRVUZETzBGQlIycERPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdGQlFXRXNRMEZCUXl4VlFVRnpRaXhGUVVGRkxFMUJRV2RDTzBsQlEzQkZMRTlCUVU4c1UwRkJVeXhUUVVGVExFTkJRM1pDTEVsQlFWa3NSVUZEV2l4VFFVRnJRaXhGUVVOc1FpeFZRVUZyUWl4RlFVTnNRaXhOUVVGTkxFZEJRVWNzUlVGQlJTeEZRVU5ZTEdGQlFXRXNSMEZCUnl4RlFVRkZMRVZCUTJ4Q0xFdEJRVXNzUjBGQlJ5eExRVUZMTEVWQlEySXNSMEZCUnl4SFFVRkhMRWRCUVVjc1JVRkRWQ3hWUVVGVkxFZEJRVWNzU1VGQlNUdFJRVVZxUWl4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzFGQlF6bENMRTFCUVUwc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVVUxUkN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU53UXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEZWQlFWVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFsQlEzUkZMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzJkQ1FVTjJReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVVZvUkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkRha1FzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4WlFVRlpMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03WVVGRGJFUTdVMEZEUmp0UlFVTkVMRWxCUVVrc1ZVRkJWU3hGUVVGRk8xbEJRMlFzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1owSkJRM3BETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzI5Q1FVTTFReXhKUVVGSkxGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVU3ZDBKQlEzWkNMRTFCUVUwN2NVSkJRMUE3YjBKQlEwUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPM2RDUVVOb1JDeEpRVUZKTEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVTdORUpCUTNaQ0xFMUJRVTA3ZVVKQlExQTdkMEpCUTBRc1RVRkJUU3hEUVVGRExFZEJRVWNzVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenQzUWtGRGJrVXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhaUVVGWkxFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdkMEpCUTNCRkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNXVUZCV1N4RlFVRkZMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8zRkNRVU55UlR0cFFrRkRSanRoUVVOR08xTkJRMFk3VVVGRlJDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXk5Q0xFMUJRVTBzYTBKQlFXdENMRWRCUVVjc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGRE4wTXNXVUZCV1N4RlFVTmFMRk5CUVZNc1JVRkRWQ3hWUVVGVkxFVkJRMVlzWVVGQllTeEZRVU5pTEUxQlFVMHNRMEZEVUN4RFFVRkRPMWxCUlVZc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlExWXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEZOQlFWTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRuUWtGRGJFTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEdGQlFXRXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHR2UWtGRGRFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVU5vUkN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhIUVVGSExFVkJRVVU3ZDBKQlEzaERMRk5CUVZNN2NVSkJRMVk3YjBKQlEwUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEdGQlFXRXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHQzUWtGRGRFTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8zZENRVU5zUkN4TlFVRk5MRVZCUVVVc1IwRkJSeXhyUWtGQmEwSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0M1FrRkRka01zVFVGQlRTeEZRVUZGTEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03ZDBKQlEzWkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVU3TkVKQlEzcENMRk5CUVZNN2VVSkJRMVk3ZDBKQlJVUXNUVUZCVFN4RFFVRkRMRWRCUVVjc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dDNRa0ZEZGtNc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNXVUZCV1N4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPM2RDUVVNM1F5eERRVUZETEVsQlFVa3NTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03Y1VKQlF6bERPMmxDUVVOR08yRkJRMFk3V1VGRFJDeEpRVUZKTEVOQlFVTXNTVUZCU1N4TFFVRkxMRWRCUVVjc1ZVRkJWU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVTdaMEpCUTNwRExFMUJRVTA3WVVGRFVEdFRRVU5HTzFGQlEwUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVTTNReXhQUVVGUExFMUJRVTBzUTBGQlF6dEpRVU5vUWl4RFFVRkRMRU5CUVVNN1FVRkRTaXhEUVVGRE8wRkJhMEpFTEUxQlFVMHNWVUZCVlN4dFFrRkJiVUlzUTBGQlF5eFZRVUZ6UWp0SlFVTjRSQ3hUUVVGVExHTkJRV01zUTBGRGNrSXNWVUZCYTBJc1JVRkRiRUlzU1VGQldTeEZRVU5hTEZkQlFXMUNMRVZCUTI1Q0xFdEJRV2RDTEVWQlEyaENMRTFCUVdkQ08xRkJSV2hDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFhRVUZYTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRek5ETEUxQlFVMHNUMEZCVHl4SFFVRkhMRXRCUVVzc1EwRkJReXhsUVVGbExFTkJRVU1zVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGRrVXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3WjBKQlEzWkRMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlR0dlFrRkRiRUlzVTBGQlV6dHBRa0ZEVmp0blFrRkRSQ3hOUVVGTkxFTkJRVU1zUjBGQlJ5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEZkQlFWY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVU4yUkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTXpRenRUUVVOR08wbEJRMGdzUTBGQlF6dEpRVVZFTEZOQlFWTXNXVUZCV1N4RFFVTnVRaXhMUVVGdlFpeEZRVU53UWl4SlFVRlpMRVZCUTFvc1YwRkJiVUlzUlVGRGJrSXNTMEZCWjBJc1JVRkRhRUlzVFVGQlowSTdVVUZGYUVJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRmRCUVZjc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETTBNc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUzBGQlN5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUlc1RkxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMmRDUVVOMlF5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVU3YjBKQlEyeENMRTlCUVU4N2FVSkJRMUk3WjBKQlEwUXNUVUZCVFN4RFFVRkRMRWRCUVVjc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hYUVVGWExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkRka1FzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03WVVGRE0wTTdVMEZEUmp0UlFVTkVMRTlCUVU4N1NVRkRWQ3hEUVVGRE8wbEJSVVFzVDBGQlR5eEZRVUZGTEdOQlFXTXNSVUZCUlN4WlFVRlpMRVZCUVVVc1EwRkJRenRCUVVNeFF5eERRVUZETzBGQlUwUXNUVUZCVFN4VlFVRlZMSFZDUVVGMVFpeERRVUZETEZWQlFYTkNPMGxCUXpWRUxFOUJRVThzVTBGQlV5eFZRVUZWTEVOQlEzaENMRWxCUVZrc1JVRkRXaXhMUVVFd1FpeEZRVU14UWl4alFVRjVRaXhGUVVONlFpeFhRVUZ0UWp0UlFVVnVRaXhOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdVVUZGYWtRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRmRCUVZjc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETTBNc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeEhRVUZITEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZETlVNc1QwRkJUeXhKUVVGSkxFVkJRVVU3WjBKQlExZ3NLMEpCUVN0Q08yZENRVU12UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRmRrUXNTVUZCU1N4TlFVRk5MRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVU3YjBKQlEycENMRTFCUVUwN2FVSkJRMUE3WjBKQlEwUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVOeVJTeExRVUZMTEUxQlFVMHNVMEZCVXl4SlFVRkpMRlZCUVZVc1JVRkJSVHR2UWtGRGJFTXNTVUZEUlN4VFFVRlRMRXRCUVVzc1RVRkJUVHQzUWtGRGNFSXNVMEZCVXl4TFFVRkxMRU5CUVVNc1EwRkJRenQzUWtGRGFFSXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhUUVVGVExFTkJRVU1zUlVGRGNFSTdkMEpCUTBFc1UwRkJVenR4UWtGRFZqdHZRa0ZEUkN4TlFVRk5MRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzI5Q1FVTjBSQ3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1kwRkJZeXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNVMEZCVXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVU16UkN4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzJsQ1FVTjBRanRoUVVOR08xTkJRMFk3VVVGRFJDeFBRVUZQTEdOQlFXTXNRMEZCUXp0SlFVTjRRaXhEUVVGRExFTkJRVU03UVVGRFNpeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR2RDUVVGblFpeERRVU01UWl4TlFVRjFRaXhGUVVOMlFpeEpRVUZaTEVWQlExb3NWMEZCYlVJc1JVRkRia0lzVlVGQmEwSXNSVUZEYkVJc1kwRkJaME1zUlVGRGFFTXNXVUZCTkVJc1JVRkROVUlzVFVGQlowSTdTVUZGYUVJc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4WFFVRlhMRU5CUVVNc1RVRkJUU3hGUVVGRkxGVkJRVlVzUTBGQlF5eERRVUZETzBsQlF6bEVMR05CUVdNc1EwRkJReXhWUVVGVkxFVkJRVVVzU1VGQlNTeEZRVUZGTEZkQlFWY3NSVUZCUlN4UFFVRlBMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03U1VGREwwUXNTVUZCU1N4TlFVRk5MRVZCUVVVN1VVRkRWaXhMUVVGTExFbEJRVWtzU1VGQlNTeEpRVUZKTEUxQlFVMHNSVUZCUlR0WlFVTjJRaXhaUVVGWkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4WFFVRlhMRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFOQlEzaEVPMHRCUTBZN1NVRkRSQ3hQUVVGUExFOUJRVThzUTBGQlF6dEJRVU5xUWl4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYkdsalpXNXpaVnh1SUNwY2JpQXFJRU52Y0hseWFXZG9kQ0F5TURFNUlFZHZiMmRzWlNCTVRFTXVJRUZzYkNCU2FXZG9kSE1nVW1WelpYSjJaV1F1WEc0Z0tseHVJQ29nVEdsalpXNXpaV1FnZFc1a1pYSWdkR2hsSUVGd1lXTm9aU0JNYVdObGJuTmxMQ0JXWlhKemFXOXVJREl1TUNBb2RHaGxJRndpVEdsalpXNXpaVndpS1R0Y2JpQXFJSGx2ZFNCdFlYa2dibTkwSUhWelpTQjBhR2x6SUdacGJHVWdaWGhqWlhCMElHbHVJR052YlhCc2FXRnVZMlVnZDJsMGFDQjBhR1VnVEdsalpXNXpaUzVjYmlBcUlGbHZkU0J0WVhrZ2IySjBZV2x1SUdFZ1kyOXdlU0J2WmlCMGFHVWdUR2xqWlc1elpTQmhkRnh1SUNwY2JpQXFJQ0FnSUNCb2RIUndPaTh2ZDNkM0xtRndZV05vWlM1dmNtY3ZiR2xqWlc1elpYTXZURWxEUlU1VFJTMHlMakJjYmlBcVhHNGdLaUJWYm14bGMzTWdjbVZ4ZFdseVpXUWdZbmtnWVhCd2JHbGpZV0pzWlNCc1lYY2diM0lnWVdkeVpXVmtJSFJ2SUdsdUlIZHlhWFJwYm1jc0lITnZablIzWVhKbFhHNGdLaUJrYVhOMGNtbGlkWFJsWkNCMWJtUmxjaUIwYUdVZ1RHbGpaVzV6WlNCcGN5QmthWE4wY21saWRYUmxaQ0J2YmlCaGJpQmNJa0ZUSUVsVFhDSWdRa0ZUU1ZNc1hHNGdLaUJYU1ZSSVQxVlVJRmRCVWxKQlRsUkpSVk1nVDFJZ1EwOU9SRWxVU1U5T1V5QlBSaUJCVGxrZ1MwbE9SQ3dnWldsMGFHVnlJR1Y0Y0hKbGMzTWdiM0lnYVcxd2JHbGxaQzVjYmlBcUlGTmxaU0IwYUdVZ1RHbGpaVzV6WlNCbWIzSWdkR2hsSUhOd1pXTnBabWxqSUd4aGJtZDFZV2RsSUdkdmRtVnlibWx1WnlCd1pYSnRhWE56YVc5dWN5QmhibVJjYmlBcUlHeHBiV2wwWVhScGIyNXpJSFZ1WkdWeUlIUm9aU0JNYVdObGJuTmxMbHh1SUNvZ1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0Z0tpOWNibHh1THlvcVhHNGdLaUJVYUdseklHbHpJR0VnU21GMllWTmpjbWx3ZENCeVpXbHRjR3hsYldWdWRHRjBhVzl1SUc5bUlGVk5RVkFnS0c5eWFXZHBibUZzSUd4cFkyVnVjMlVnWW1Wc2IzY3BMQ0JtY205dFhHNGdLaUIwYUdVZ2NIbDBhRzl1SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR1p2ZFc1a0lHRjBJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzlzYldOcGJtNWxjeTkxYldGd0xseHVJQ3BjYmlBcUlFQmhkWFJvYjNJZ1lXNWtlV052Wlc1bGJrQm5iMjluYkdVdVkyOXRJQ2hCYm1SNUlFTnZaVzVsYmlsY2JpQXFMMXh1WEc0dktpcGNiaUFxSUVCc2FXTmxibk5sWEc0Z0tpQkNVMFFnTXkxRGJHRjFjMlVnVEdsalpXNXpaVnh1SUNwY2JpQXFJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhOeXdnVEdWc1lXNWtJRTFqU1c1dVpYTmNiaUFxSUVGc2JDQnlhV2RvZEhNZ2NtVnpaWEoyWldRdVhHNGdLbHh1SUNvZ1VtVmthWE4wY21saWRYUnBiMjRnWVc1a0lIVnpaU0JwYmlCemIzVnlZMlVnWVc1a0lHSnBibUZ5ZVNCbWIzSnRjeXdnZDJsMGFDQnZjaUIzYVhSb2IzVjBYRzRnS2lCdGIyUnBabWxqWVhScGIyNHNJR0Z5WlNCd1pYSnRhWFIwWldRZ2NISnZkbWxrWldRZ2RHaGhkQ0IwYUdVZ1ptOXNiRzkzYVc1bklHTnZibVJwZEdsdmJuTWdZWEpsSUcxbGREcGNiaUFxWEc0Z0tpQXFJRkpsWkdsemRISnBZblYwYVc5dWN5QnZaaUJ6YjNWeVkyVWdZMjlrWlNCdGRYTjBJSEpsZEdGcGJpQjBhR1VnWVdKdmRtVWdZMjl3ZVhKcFoyaDBJRzV2ZEdsalpTd2dkR2hwYzF4dUlDb2dJQ0JzYVhOMElHOW1JR052Ym1ScGRHbHZibk1nWVc1a0lIUm9aU0JtYjJ4c2IzZHBibWNnWkdselkyeGhhVzFsY2k1Y2JpQXFYRzRnS2lBcUlGSmxaR2x6ZEhKcFluVjBhVzl1Y3lCcGJpQmlhVzVoY25rZ1ptOXliU0J0ZFhOMElISmxjSEp2WkhWalpTQjBhR1VnWVdKdmRtVWdZMjl3ZVhKcFoyaDBJRzV2ZEdsalpTeGNiaUFxSUNBZ2RHaHBjeUJzYVhOMElHOW1JR052Ym1ScGRHbHZibk1nWVc1a0lIUm9aU0JtYjJ4c2IzZHBibWNnWkdselkyeGhhVzFsY2lCcGJpQjBhR1VnWkc5amRXMWxiblJoZEdsdmJseHVJQ29nSUNCaGJtUXZiM0lnYjNSb1pYSWdiV0YwWlhKcFlXeHpJSEJ5YjNacFpHVmtJSGRwZEdnZ2RHaGxJR1JwYzNSeWFXSjFkR2x2Ymk1Y2JpQXFYRzRnS2lBcUlFNWxhWFJvWlhJZ2RHaGxJRzVoYldVZ2IyWWdkR2hsSUdOdmNIbHlhV2RvZENCb2IyeGtaWElnYm05eUlIUm9aU0J1WVcxbGN5QnZaaUJwZEhOY2JpQXFJQ0FnWTI5dWRISnBZblYwYjNKeklHMWhlU0JpWlNCMWMyVmtJSFJ2SUdWdVpHOXljMlVnYjNJZ2NISnZiVzkwWlNCd2NtOWtkV04wY3lCa1pYSnBkbVZrSUdaeWIyMWNiaUFxSUNBZ2RHaHBjeUJ6YjJaMGQyRnlaU0IzYVhSb2IzVjBJSE53WldOcFptbGpJSEJ5YVc5eUlIZHlhWFIwWlc0Z2NHVnliV2x6YzJsdmJpNWNiaUFxWEc0Z0tpQlVTRWxUSUZOUFJsUlhRVkpGSUVsVElGQlNUMVpKUkVWRUlFSlpJRlJJUlNCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQlRrUWdRMDlPVkZKSlFsVlVUMUpUSUZ3aVFWTWdTVk5jSWx4dUlDb2dRVTVFSUVGT1dTQkZXRkJTUlZOVElFOVNJRWxOVUV4SlJVUWdWMEZTVWtGT1ZFbEZVeXdnU1U1RFRGVkVTVTVITENCQ1ZWUWdUazlVSUV4SlRVbFVSVVFnVkU4c0lGUklSVnh1SUNvZ1NVMVFURWxGUkNCWFFWSlNRVTVVU1VWVElFOUdJRTFGVWtOSVFVNVVRVUpKVEVsVVdTQkJUa1FnUmtsVVRrVlRVeUJHVDFJZ1FTQlFRVkpVU1VOVlRFRlNJRkJWVWxCUFUwVWdRVkpGWEc0Z0tpQkVTVk5EVEVGSlRVVkVMaUJKVGlCT1R5QkZWa1ZPVkNCVFNFRk1UQ0JVU0VVZ1EwOVFXVkpKUjBoVUlFaFBURVJGVWlCUFVpQkRUMDVVVWtsQ1ZWUlBVbE1nUWtVZ1RFbEJRa3hGWEc0Z0tpQkdUMUlnUVU1WklFUkpVa1ZEVkN3Z1NVNUVTVkpGUTFRc0lFbE9RMGxFUlU1VVFVd3NJRk5RUlVOSlFVd3NJRVZZUlUxUVRFRlNXU3dnVDFJZ1EwOU9VMFZSVlVWT1ZFbEJURnh1SUNvZ1JFRk5RVWRGVXlBb1NVNURURlZFU1U1SExDQkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOHNJRkJTVDBOVlVrVk5SVTVVSUU5R0lGTlZRbE5VU1ZSVlZFVWdSMDlQUkZNZ1QxSmNiaUFxSUZORlVsWkpRMFZUT3lCTVQxTlRJRTlHSUZWVFJTd2dSRUZVUVN3Z1QxSWdVRkpQUmtsVVV6c2dUMUlnUWxWVFNVNUZVMU1nU1U1VVJWSlNWVkJVU1U5T0tTQklUMWRGVmtWU1hHNGdLaUJEUVZWVFJVUWdRVTVFSUU5T0lFRk9XU0JVU0VWUFVsa2dUMFlnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFTlBUbFJTUVVOVUxDQlRWRkpKUTFRZ1RFbEJRa2xNU1ZSWkxGeHVJQ29nVDFJZ1ZFOVNWQ0FvU1U1RFRGVkVTVTVISUU1RlIweEpSMFZPUTBVZ1QxSWdUMVJJUlZKWFNWTkZLU0JCVWtsVFNVNUhJRWxPSUVGT1dTQlhRVmtnVDFWVUlFOUdJRlJJUlNCVlUwVmNiaUFxSUU5R0lGUklTVk1nVTA5R1ZGZEJVa1VzSUVWV1JVNGdTVVlnUVVSV1NWTkZSQ0JQUmlCVVNFVWdVRTlUVTBsQ1NVeEpWRmtnVDBZZ1UxVkRTQ0JFUVUxQlIwVXVYRzRnS2k5Y2JseHVhVzF3YjNKMElDb2dZWE1nYUdWaGNDQm1jbTl0SUNjdUwyaGxZWEFuTzF4dWFXMXdiM0owSUNvZ1lYTWdiV0YwY21sNElHWnliMjBnSnk0dmJXRjBjbWw0Snp0Y2JtbHRjRzl5ZENBcUlHRnpJSFJ5WldVZ1puSnZiU0FuTGk5MGNtVmxKenRjYm1sdGNHOXlkQ0FxSUdGeklIVjBhV3h6SUdaeWIyMGdKeTR2ZFhScGJITW5PMXh1YVcxd2IzSjBJSHNnVW1GdVpHOXRSbTRzSUZabFkzUnZjbk1zSUVScGMzUmhibU5sUm00c0lGWmxZM1J2Y2lCOUlHWnliMjBnSnk0dmRXMWhjQ2M3WEc1Y2JpOHFLbHh1SUNvZ1EzSmxZWFJsSUdFZ2RtVnljMmx2YmlCdlppQnVaV0Z5WlhOMElHNWxhV2RvWW05eUlHUmxjMk5sYm5RdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVd0bFRrNUVaWE5qWlc1MEtHUnBjM1JoYm1ObFJtNDZJRVJwYzNSaGJtTmxSbTRzSUhKaGJtUnZiVG9nVW1GdVpHOXRSbTRwSUh0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlHNU9SR1Z6WTJWdWRDaGNiaUFnSUNCa1lYUmhPaUJXWldOMGIzSXNYRzRnSUNBZ2JHVmhaa0Z5Y21GNU9pQldaV04wYjNKekxGeHVJQ0FnSUc1T1pXbG5hR0p2Y25NNklHNTFiV0psY2l4Y2JpQWdJQ0J1U1hSbGNuTWdQU0F4TUN4Y2JpQWdJQ0J0WVhoRFlXNWthV1JoZEdWeklEMGdOVEFzWEc0Z0lDQWdaR1ZzZEdFZ1BTQXdMakF3TVN4Y2JpQWdJQ0J5YUc4Z1BTQXdMalVzWEc0Z0lDQWdjbkJVY21WbFNXNXBkQ0E5SUhSeWRXVmNiaUFnS1NCN1hHNGdJQ0FnWTI5dWMzUWdibFpsY25ScFkyVnpJRDBnWkdGMFlTNXNaVzVuZEdnN1hHNGdJQ0FnWTI5dWMzUWdZM1Z5Y21WdWRFZHlZWEJvSUQwZ2FHVmhjQzV0WVd0bFNHVmhjQ2hrWVhSaExteGxibWQwYUN3Z2JrNWxhV2RvWW05eWN5azdYRzVjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR1JoZEdFdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR052Ym5OMElHbHVaR2xqWlhNZ1BTQm9aV0Z3TG5KbGFtVmpkR2x2YmxOaGJYQnNaU2h1VG1WcFoyaGliM0p6TENCa1lYUmhMbXhsYm1kMGFDd2djbUZ1Wkc5dEtUdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2dhVzVrYVdObGN5NXNaVzVuZEdnN0lHb3JLeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JrSUQwZ1pHbHpkR0Z1WTJWR2JpaGtZWFJoVzJsZExDQmtZWFJoVzJsdVpHbGpaWE5iYWwxZEtUdGNibHh1SUNBZ0lDQWdJQ0JvWldGd0xtaGxZWEJRZFhOb0tHTjFjbkpsYm5SSGNtRndhQ3dnYVN3Z1pDd2dhVzVrYVdObGMxdHFYU3dnTVNrN1hHNGdJQ0FnSUNBZ0lHaGxZWEF1YUdWaGNGQjFjMmdvWTNWeWNtVnVkRWR5WVhCb0xDQnBibVJwWTJWelcycGRMQ0JrTENCcExDQXhLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSEp3VkhKbFpVbHVhWFFwSUh0Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUc0Z1BTQXdPeUJ1SUR3Z2JHVmhaa0Z5Y21GNUxteGxibWQwYURzZ2Jpc3JLU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JHVmhaa0Z5Y21GNVcyNWRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0d4bFlXWkJjbkpoZVZ0dVhWdHBYU0E4SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnYVNBcklERTdJR29nUENCc1pXRm1RWEp5WVhsYmJsMHViR1Z1WjNSb095QnFLeXNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoc1pXRm1RWEp5WVhsYmJsMWJhbDBnUENBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWkNBOUlHUnBjM1JoYm1ObFJtNG9aR0YwWVZ0c1pXRm1RWEp5WVhsYmJsMWJhVjFkTENCa1lYUmhXMnhsWVdaQmNuSmhlVnR1WFZ0cVhWMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FHVmhjQzVvWldGd1VIVnphQ2hqZFhKeVpXNTBSM0poY0dnc0lHeGxZV1pCY25KaGVWdHVYVnRwWFN3Z1pDd2diR1ZoWmtGeWNtRjVXMjVkVzJwZExDQXhLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHaGxZWEF1YUdWaGNGQjFjMmdvWTNWeWNtVnVkRWR5WVhCb0xDQnNaV0ZtUVhKeVlYbGJibDFiYWwwc0lHUXNJR3hsWVdaQmNuSmhlVnR1WFZ0cFhTd2dNU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2JpQTlJREE3SUc0Z1BDQnVTWFJsY25NN0lHNHJLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdZMkZ1Wkdsa1lYUmxUbVZwWjJoaWIzSnpJRDBnYUdWaGNDNWlkV2xzWkVOaGJtUnBaR0YwWlhNb1hHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5SSGNtRndhQ3hjYmlBZ0lDQWdJQ0FnYmxabGNuUnBZMlZ6TEZ4dUlDQWdJQ0FnSUNCdVRtVnBaMmhpYjNKekxGeHVJQ0FnSUNBZ0lDQnRZWGhEWVc1a2FXUmhkR1Z6TEZ4dUlDQWdJQ0FnSUNCeVlXNWtiMjFjYmlBZ0lDQWdJQ2s3WEc1Y2JpQWdJQ0FnSUd4bGRDQmpJRDBnTUR0Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JsWmxjblJwWTJWek95QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnRZWGhEWVc1a2FXUmhkR1Z6T3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnSUNCc1pYUWdjQ0E5SUUxaGRHZ3VabXh2YjNJb1kyRnVaR2xrWVhSbFRtVnBaMmhpYjNKeld6QmRXMmxkVzJwZEtUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2NDQThJREFnZkh3Z2RYUnBiSE11ZEdGMVVtRnVaQ2h5WVc1a2IyMHBJRHdnY21odktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYXlBOUlEQTdJR3NnUENCdFlYaERZVzVrYVdSaGRHVnpPeUJyS3lzcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEVnUFNCTllYUm9MbVpzYjI5eUtHTmhibVJwWkdGMFpVNWxhV2RvWW05eWMxc3dYVnRwWFZ0clhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqYWlBOUlHTmhibVJwWkdGMFpVNWxhV2RvWW05eWMxc3lYVnRwWFZ0cVhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR05ySUQwZ1kyRnVaR2xrWVhSbFRtVnBaMmhpYjNKeld6SmRXMmxkVzJ0ZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIRWdQQ0F3SUh4OElDZ2hZMm9nSmlZZ0lXTnJLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWkNBOUlHUnBjM1JoYm1ObFJtNG9aR0YwWVZ0d1hTd2daR0YwWVZ0eFhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCaklDczlJR2hsWVhBdWFHVmhjRkIxYzJnb1kzVnljbVZ1ZEVkeVlYQm9MQ0J3TENCa0xDQnhMQ0F4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR01nS3owZ2FHVmhjQzVvWldGd1VIVnphQ2hqZFhKeVpXNTBSM0poY0dnc0lIRXNJR1FzSUhBc0lERXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLR01nUEQwZ1pHVnNkR0VnS2lCdVRtVnBaMmhpYjNKeklDb2daR0YwWVM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wSUhOdmNuUmxaQ0E5SUdobFlYQXVaR1ZvWldGd1UyOXlkQ2hqZFhKeVpXNTBSM0poY0dncE8xeHVJQ0FnSUhKbGRIVnliaUJ6YjNKMFpXUTdYRzRnSUgwN1hHNTlYRzVjYm1WNGNHOXlkQ0IwZVhCbElFbHVhWFJHY205dFVtRnVaRzl0Um00Z1BTQW9YRzRnSUc1T1pXbG5hR0p2Y25NNklHNTFiV0psY2l4Y2JpQWdaR0YwWVRvZ1ZtVmpkRzl5TEZ4dUlDQnhkV1Z5ZVZCdmFXNTBjem9nVm1WamRHOXlMRnh1SUNCZmFHVmhjRG9nYUdWaGNDNUlaV0Z3TEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBJRDArSUhadmFXUTdYRzVjYm1WNGNHOXlkQ0IwZVhCbElFbHVhWFJHY205dFZISmxaVVp1SUQwZ0tGeHVJQ0JmZEhKbFpUb2dkSEpsWlM1R2JHRjBWSEpsWlN4Y2JpQWdaR0YwWVRvZ1ZtVmpkRzl5TEZ4dUlDQnhkV1Z5ZVZCdmFXNTBjem9nVm1WamRHOXlMRnh1SUNCZmFHVmhjRG9nYUdWaGNDNUlaV0Z3TEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBJRDArSUhadmFXUTdYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVd0bFNXNXBkR2xoYkdsNllYUnBiMjV6S0dScGMzUmhibU5sUm00NklFUnBjM1JoYm1ObFJtNHBJSHRjYmlBZ1puVnVZM1JwYjI0Z2FXNXBkRVp5YjIxU1lXNWtiMjBvWEc0Z0lDQWdiazVsYVdkb1ltOXljem9nYm5WdFltVnlMRnh1SUNBZ0lHUmhkR0U2SUZabFkzUnZjaXhjYmlBZ0lDQnhkV1Z5ZVZCdmFXNTBjem9nVm1WamRHOXlMRnh1SUNBZ0lGOW9aV0Z3T2lCb1pXRndMa2hsWVhBc1hHNGdJQ0FnY21GdVpHOXRPaUJTWVc1a2IyMUdibHh1SUNBcElIdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElIRjFaWEo1VUc5cGJuUnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0JwYm1ScFkyVnpJRDBnZFhScGJITXVjbVZxWldOMGFXOXVVMkZ0Y0d4bEtHNU9aV2xuYUdKdmNuTXNJR1JoZEdFdWJHVnVaM1JvTENCeVlXNWtiMjBwTzF4dUlDQWdJQ0FnWm05eUlDaHNaWFFnYWlBOUlEQTdJR29nUENCcGJtUnBZMlZ6TG14bGJtZDBhRHNnYWlzcktTQjdYRzRnSUNBZ0lDQWdJR2xtSUNocGJtUnBZMlZ6VzJwZElEd2dNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR052Ym5OMElHUWdQU0JrYVhOMFlXNWpaVVp1S0dSaGRHRmJhVzVrYVdObGMxdHFYVjBzSUhGMVpYSjVVRzlwYm5SelcybGRLVHRjYmlBZ0lDQWdJQ0FnYUdWaGNDNW9aV0Z3VUhWemFDaGZhR1ZoY0N3Z2FTd2daQ3dnYVc1a2FXTmxjMXRxWFN3Z01TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdhVzVwZEVaeWIyMVVjbVZsS0Z4dUlDQWdJRjkwY21WbE9pQjBjbVZsTGtac1lYUlVjbVZsTEZ4dUlDQWdJR1JoZEdFNklGWmxZM1J2Y2l4Y2JpQWdJQ0J4ZFdWeWVWQnZhVzUwY3pvZ1ZtVmpkRzl5TEZ4dUlDQWdJRjlvWldGd09pQm9aV0Z3TGtobFlYQXNYRzRnSUNBZ2NtRnVaRzl0T2lCU1lXNWtiMjFHYmx4dUlDQXBJSHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJSEYxWlhKNVVHOXBiblJ6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCcGJtUnBZMlZ6SUQwZ2RISmxaUzV6WldGeVkyaEdiR0YwVkhKbFpTaHhkV1Z5ZVZCdmFXNTBjMXRwWFN3Z1gzUnlaV1VzSUhKaGJtUnZiU2s3WEc1Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUdvZ1BTQXdPeUJxSUR3Z2FXNWthV05sY3k1c1pXNW5kR2c3SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2FXNWthV05sYzF0cVhTQThJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pDQTlJR1JwYzNSaGJtTmxSbTRvWkdGMFlWdHBibVJwWTJWelcycGRYU3dnY1hWbGNubFFiMmx1ZEhOYmFWMHBPMXh1SUNBZ0lDQWdJQ0JvWldGd0xtaGxZWEJRZFhOb0tGOW9aV0Z3TENCcExDQmtMQ0JwYm1ScFkyVnpXMnBkTENBeEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSHNnYVc1cGRFWnliMjFTWVc1a2IyMHNJR2x1YVhSR2NtOXRWSEpsWlNCOU8xeHVmVnh1WEc1bGVIQnZjblFnZEhsd1pTQlRaV0Z5WTJoR2JpQTlJQ2hjYmlBZ1pHRjBZVG9nVm1WamRHOXlMRnh1SUNCbmNtRndhRG9nYldGMGNtbDRMbE53WVhKelpVMWhkSEpwZUN4Y2JpQWdhVzVwZEdsaGJHbDZZWFJwYjI0NklHaGxZWEF1U0dWaGNDeGNiaUFnY1hWbGNubFFiMmx1ZEhNNklGWmxZM1J2Y2x4dUtTQTlQaUJvWldGd0xraGxZWEE3WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdFlXdGxTVzVwZEdsaGJHbDZaV1JPVGxObFlYSmphQ2hrYVhOMFlXNWpaVVp1T2lCRWFYTjBZVzVqWlVadUtTQjdYRzRnSUhKbGRIVnliaUJtZFc1amRHbHZiaUJ1YmxObFlYSmphRVp1S0Z4dUlDQWdJR1JoZEdFNklGWmxZM1J2Y2l4Y2JpQWdJQ0JuY21Gd2FEb2diV0YwY21sNExsTndZWEp6WlUxaGRISnBlQ3hjYmlBZ0lDQnBibWwwYVdGc2FYcGhkR2x2YmpvZ2FHVmhjQzVJWldGd0xGeHVJQ0FnSUhGMVpYSjVVRzlwYm5Sek9pQldaV04wYjNKY2JpQWdLU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QnBibVJwWTJWekxDQnBibVJ3ZEhJZ2ZTQTlJRzFoZEhKcGVDNW5aWFJEVTFJb1ozSmhjR2dwTzF4dVhHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCeGRXVnllVkJ2YVc1MGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdkSEpwWldRZ1BTQnVaWGNnVTJWMEtHbHVhWFJwWVd4cGVtRjBhVzl1V3pCZFcybGRLVHRjYmlBZ0lDQWdJSGRvYVd4bElDaDBjblZsS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRVpwYm1RZ2MyMWhiR3hsYzNRZ1pteGhaMmRsWkNCMlpYSjBaWGhjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkbVZ5ZEdWNElEMGdhR1ZoY0M1emJXRnNiR1Z6ZEVac1lXZG5aV1FvYVc1cGRHbGhiR2w2WVhScGIyNHNJR2twTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2gyWlhKMFpYZ2dQVDA5SUMweEtTQjdYRzRnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZMkZ1Wkdsa1lYUmxjeUE5SUdsdVpHbGpaWE11YzJ4cFkyVW9hVzVrY0hSeVczWmxjblJsZUYwc0lHbHVaSEIwY2x0MlpYSjBaWGdnS3lBeFhTazdYRzRnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnWTJGdVpHbGtZWFJsSUc5bUlHTmhibVJwWkdGMFpYTXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9YRzRnSUNBZ0lDQWdJQ0FnSUNCallXNWthV1JoZEdVZ1BUMDlJSFpsY25SbGVDQjhmRnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnVaR2xrWVhSbElEMDlQU0F0TVNCOGZGeHVJQ0FnSUNBZ0lDQWdJQ0FnZEhKcFpXUXVhR0Z6S0dOaGJtUnBaR0YwWlNsY2JpQWdJQ0FnSUNBZ0lDQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JrSUQwZ1pHbHpkR0Z1WTJWR2JpaGtZWFJoVzJOaGJtUnBaR0YwWlYwc0lIRjFaWEo1VUc5cGJuUnpXMmxkS1R0Y2JpQWdJQ0FnSUNBZ0lDQm9aV0Z3TG5WdVkyaGxZMnRsWkVobFlYQlFkWE5vS0dsdWFYUnBZV3hwZW1GMGFXOXVMQ0JwTENCa0xDQmpZVzVrYVdSaGRHVXNJREVwTzF4dUlDQWdJQ0FnSUNBZ0lIUnlhV1ZrTG1Ga1pDaGpZVzVrYVdSaGRHVXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCcGJtbDBhV0ZzYVhwaGRHbHZianRjYmlBZ2ZUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdsdWFYUnBZV3hwZW1WVFpXRnlZMmdvWEc0Z0lHWnZjbVZ6ZERvZ2RISmxaUzVHYkdGMFZISmxaVnRkTEZ4dUlDQmtZWFJoT2lCV1pXTjBiM0lzWEc0Z0lIRjFaWEo1VUc5cGJuUnpPaUJXWldOMGIzSXNYRzRnSUc1T1pXbG5hR0p2Y25NNklHNTFiV0psY2l4Y2JpQWdhVzVwZEVaeWIyMVNZVzVrYjIwNklFbHVhWFJHY205dFVtRnVaRzl0Um00c1hHNGdJR2x1YVhSR2NtOXRWSEpsWlRvZ1NXNXBkRVp5YjIxVWNtVmxSbTRzWEc0Z0lISmhibVJ2YlRvZ1VtRnVaRzl0Um01Y2Jpa2dlMXh1SUNCamIyNXpkQ0J5WlhOMWJIUnpJRDBnYUdWaGNDNXRZV3RsU0dWaGNDaHhkV1Z5ZVZCdmFXNTBjeTVzWlc1bmRHZ3NJRzVPWldsbmFHSnZjbk1wTzF4dUlDQnBibWwwUm5KdmJWSmhibVJ2YlNodVRtVnBaMmhpYjNKekxDQmtZWFJoTENCeGRXVnllVkJ2YVc1MGN5d2djbVZ6ZFd4MGN5d2djbUZ1Wkc5dEtUdGNiaUFnYVdZZ0tHWnZjbVZ6ZENrZ2UxeHVJQ0FnSUdadmNpQW9iR1YwSUhSeVpXVWdiMllnWm05eVpYTjBLU0I3WEc0Z0lDQWdJQ0JwYm1sMFJuSnZiVlJ5WldVb2RISmxaU3dnWkdGMFlTd2djWFZsY25sUWIybHVkSE1zSUhKbGMzVnNkSE1zSUhKaGJtUnZiU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWE4xYkhSek8xeHVmVnh1SWwxOSIsImltcG9ydCBpc0FycmF5IGZyb20gJ2lzLWFueS1hcnJheSc7XG5cbmltcG9ydCBlcnJvckNhbGN1bGF0aW9uIGZyb20gJy4vZXJyb3JDYWxjdWxhdGlvbic7XG5pbXBvcnQgc3RlcCBmcm9tICcuL3N0ZXAnO1xuXG4vKipcbiAqIEN1cnZlIGZpdHRpbmcgYWxnb3JpdGhtXG4gKiBAcGFyYW0ge3t4OkFycmF5PG51bWJlcj4sIHk6QXJyYXk8bnVtYmVyPn19IGRhdGEgLSBBcnJheSBvZiBwb2ludHMgdG8gZml0IGluIHRoZSBmb3JtYXQgW3gxLCB4MiwgLi4uIF0sIFt5MSwgeTIsIC4uLiBdXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBwYXJhbWV0ZXJpemVkRnVuY3Rpb24gLSBUaGUgcGFyYW1ldGVycyBhbmQgcmV0dXJucyBhIGZ1bmN0aW9uIHdpdGggdGhlIGluZGVwZW5kZW50IHZhcmlhYmxlIGFzIGEgcGFyYW1ldGVyXG4gKiBAcGFyYW0ge29iamVjdH0gW29wdGlvbnNdIC0gT3B0aW9ucyBvYmplY3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5kYW1waW5nXSAtIExldmVuYmVyZy1NYXJxdWFyZHQgcGFyYW1ldGVyXG4gKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMuZ3JhZGllbnREaWZmZXJlbmNlID0gMTBlLTJdIC0gQWRqdXN0bWVudCBmb3IgZGVjcmVhc2UgdGhlIGRhbXBpbmcgcGFyYW1ldGVyXG4gKiBAcGFyYW0ge0FycmF5PG51bWJlcj59IFtvcHRpb25zLm1pblZhbHVlc10gLSBNaW5pbXVtIGFsbG93ZWQgdmFsdWVzIGZvciBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0ge0FycmF5PG51bWJlcj59IFtvcHRpb25zLm1heFZhbHVlc10gLSBNYXhpbXVtIGFsbG93ZWQgdmFsdWVzIGZvciBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0ge0FycmF5PG51bWJlcj59IFtvcHRpb25zLmluaXRpYWxWYWx1ZXNdIC0gQXJyYXkgb2YgaW5pdGlhbCBwYXJhbWV0ZXIgdmFsdWVzXG4gKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMubWF4SXRlcmF0aW9ucyA9IDEwMF0gLSBNYXhpbXVtIG9mIGFsbG93ZWQgaXRlcmF0aW9uc1xuICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLmVycm9yVG9sZXJhbmNlID0gMTBlLTNdIC0gTWluaW11bSB1bmNlcnRhaW50eSBhbGxvd2VkIGZvciBlYWNoIHBvaW50XG4gKiBAcmV0dXJuIHt7cGFyYW1ldGVyVmFsdWVzOiBBcnJheTxudW1iZXI+LCBwYXJhbWV0ZXJFcnJvcjogbnVtYmVyLCBpdGVyYXRpb25zOiBudW1iZXJ9fVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsZXZlbmJlcmdNYXJxdWFyZHQoXG4gIGRhdGEsXG4gIHBhcmFtZXRlcml6ZWRGdW5jdGlvbixcbiAgb3B0aW9ucyA9IHt9LFxuKSB7XG4gIGxldCB7XG4gICAgbWF4SXRlcmF0aW9ucyA9IDEwMCxcbiAgICBncmFkaWVudERpZmZlcmVuY2UgPSAxMGUtMixcbiAgICBkYW1waW5nID0gMCxcbiAgICBlcnJvclRvbGVyYW5jZSA9IDEwZS0zLFxuICAgIG1pblZhbHVlcyxcbiAgICBtYXhWYWx1ZXMsXG4gICAgaW5pdGlhbFZhbHVlcyxcbiAgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGRhbXBpbmcgPD0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRhbXBpbmcgb3B0aW9uIG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXInKTtcbiAgfSBlbHNlIGlmICghZGF0YS54IHx8ICFkYXRhLnkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBkYXRhIHBhcmFtZXRlciBtdXN0IGhhdmUgeCBhbmQgeSBlbGVtZW50cycpO1xuICB9IGVsc2UgaWYgKFxuICAgICFpc0FycmF5KGRhdGEueCkgfHxcbiAgICBkYXRhLngubGVuZ3RoIDwgMiB8fFxuICAgICFpc0FycmF5KGRhdGEueSkgfHxcbiAgICBkYXRhLnkubGVuZ3RoIDwgMlxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnVGhlIGRhdGEgcGFyYW1ldGVyIGVsZW1lbnRzIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBtb3JlIHRoYW4gMiBwb2ludHMnLFxuICAgICk7XG4gIH0gZWxzZSBpZiAoZGF0YS54Lmxlbmd0aCAhPT0gZGF0YS55Lmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRhdGEgcGFyYW1ldGVyIGVsZW1lbnRzIG11c3QgaGF2ZSB0aGUgc2FtZSBzaXplJyk7XG4gIH1cblxuICBsZXQgcGFyYW1ldGVycyA9XG4gICAgaW5pdGlhbFZhbHVlcyB8fCBuZXcgQXJyYXkocGFyYW1ldGVyaXplZEZ1bmN0aW9uLmxlbmd0aCkuZmlsbCgxKTtcbiAgbGV0IHBhckxlbiA9IHBhcmFtZXRlcnMubGVuZ3RoO1xuICBtYXhWYWx1ZXMgPSBtYXhWYWx1ZXMgfHwgbmV3IEFycmF5KHBhckxlbikuZmlsbChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik7XG4gIG1pblZhbHVlcyA9IG1pblZhbHVlcyB8fCBuZXcgQXJyYXkocGFyTGVuKS5maWxsKE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKTtcblxuICBpZiAobWF4VmFsdWVzLmxlbmd0aCAhPT0gbWluVmFsdWVzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbWluVmFsdWVzIGFuZCBtYXhWYWx1ZXMgbXVzdCBiZSB0aGUgc2FtZSBzaXplJyk7XG4gIH1cblxuICBpZiAoIWlzQXJyYXkocGFyYW1ldGVycykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2luaXRpYWxWYWx1ZXMgbXVzdCBiZSBhbiBhcnJheScpO1xuICB9XG5cbiAgbGV0IGVycm9yID0gZXJyb3JDYWxjdWxhdGlvbihkYXRhLCBwYXJhbWV0ZXJzLCBwYXJhbWV0ZXJpemVkRnVuY3Rpb24pO1xuXG4gIGxldCBjb252ZXJnZWQgPSBlcnJvciA8PSBlcnJvclRvbGVyYW5jZTtcblxuICBsZXQgaXRlcmF0aW9uO1xuICBmb3IgKGl0ZXJhdGlvbiA9IDA7IGl0ZXJhdGlvbiA8IG1heEl0ZXJhdGlvbnMgJiYgIWNvbnZlcmdlZDsgaXRlcmF0aW9uKyspIHtcbiAgICBwYXJhbWV0ZXJzID0gc3RlcChcbiAgICAgIGRhdGEsXG4gICAgICBwYXJhbWV0ZXJzLFxuICAgICAgZGFtcGluZyxcbiAgICAgIGdyYWRpZW50RGlmZmVyZW5jZSxcbiAgICAgIHBhcmFtZXRlcml6ZWRGdW5jdGlvbixcbiAgICApO1xuXG4gICAgZm9yIChsZXQgayA9IDA7IGsgPCBwYXJMZW47IGsrKykge1xuICAgICAgcGFyYW1ldGVyc1trXSA9IE1hdGgubWluKFxuICAgICAgICBNYXRoLm1heChtaW5WYWx1ZXNba10sIHBhcmFtZXRlcnNba10pLFxuICAgICAgICBtYXhWYWx1ZXNba10sXG4gICAgICApO1xuICAgIH1cblxuICAgIGVycm9yID0gZXJyb3JDYWxjdWxhdGlvbihkYXRhLCBwYXJhbWV0ZXJzLCBwYXJhbWV0ZXJpemVkRnVuY3Rpb24pO1xuICAgIGlmIChpc05hTihlcnJvcikpIGJyZWFrO1xuICAgIGNvbnZlcmdlZCA9IGVycm9yIDw9IGVycm9yVG9sZXJhbmNlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwYXJhbWV0ZXJWYWx1ZXM6IHBhcmFtZXRlcnMsXG4gICAgcGFyYW1ldGVyRXJyb3I6IGVycm9yLFxuICAgIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbixcbiAgfTtcbn1cbiIsImltcG9ydCB7IGdldFNpbWlsYXJpdHlGcm9tRGlzdGFuY2UgfSBmcm9tICcuLi9kaXN0YW5jZS1tZXRyaWNzLW1ldGhvZHMnO1xuaW1wb3J0IHsgQml0QXJyYXlNZXRyaWNzTmFtZXMgfSBmcm9tICcuLi90eXBlZC1tZXRyaWNzJztcbmltcG9ydCB7IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBpbnNlcnRTbWFsbGVyLCBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IGNsYXNzIFNwYXJzZU1hdHJpeFNlcnZpY2Uge1xuICAgIF93b3JrZXJDb3VudDtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5fd29ya2VyQ291bnQgPSBNYXRoLm1heChuYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeSAtIDIsIDEpO1xuICAgIH1cbiAgICBhc3luYyBjYWxjKHZhbHVlcywgZm5OYW1lLCB0aHJlc2hvbGQsIG9wdHMgPSB7fSkge1xuICAgICAgICAvL3NpemUgb2YgZnVsbCBtYXRyaXhcbiAgICAgICAgY29uc3QgbWF0U2l6ZSA9IHZhbHVlcy5sZW5ndGggKiAodmFsdWVzLmxlbmd0aCAtIDEpIC8gMjtcbiAgICAgICAgY29uc3QgY2h1bmtTaXplID0gTWF0aC5mbG9vcihtYXRTaXplIC8gdGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICBjb25zdCBtaW5UaHJlc2hvbGQgPSB2YWx1ZXMubGVuZ3RoID4gMjAwMDAgPyBhd2FpdCB0aGlzLmdldE1pbmltYWxUaHJlc2hvbGQodmFsdWVzLCBmbk5hbWUsIG9wdHMpIDogMDtcbiAgICAgICAgaWYgKHRocmVzaG9sZCA8IG1pblRocmVzaG9sZCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYHVzaW5nIHRocmVzaG9sZCAke21pblRocmVzaG9sZH1gKTtcbiAgICAgICAgICAgIHRocmVzaG9sZCA9IG1pblRocmVzaG9sZDtcbiAgICAgICAgfVxuICAgICAgICBvcHRzWyd0aHJlc2hvbGQnXSA9IHRocmVzaG9sZDtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICBjb25zdCB3b3JrZXJzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KVxuICAgICAgICAgICAgLmZpbGwobnVsbCkubWFwKCgpID0+IG5ldyBXb3JrZXIobmV3IFVSTCgnLi9zcGFyc2UtbWF0cml4LXdvcmtlcicsIGltcG9ydC5tZXRhLnVybCkpKTtcbiAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgdGhpcy5fd29ya2VyQ291bnQ7IGlkeCsrKSB7XG4gICAgICAgICAgICBwcm9taXNlc1tpZHhdID0gbmV3IFByb21pc2UoKHJlc29sdmVXb3JrZXIsIHJlamVjdFdvcmtlcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0SWR4ID0gaWR4ICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZElkeCA9IGlkeCA9PT0gdGhpcy5fd29ya2VyQ291bnQgLSAxID8gbWF0U2l6ZSA6IChpZHggKyAxKSAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICBpZiAoZW5kSWR4IDw9IHN0YXJ0SWR4KVxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlV29ya2VyKHsgaTogbmV3IEludDMyQXJyYXkoMCksIGo6IG5ldyBJbnQzMkFycmF5KDApLCBkaXN0YW5jZTogbmV3IEZsb2F0MzJBcnJheSgwKSwgaWR4IH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5wb3N0TWVzc2FnZSh7IHZhbHVlcywgc3RhcnRJZHgsIGVuZElkeCwgdGhyZXNob2xkLCBmbk5hbWUsIG9wdHMgfSk7XG4gICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGksIGosIGRpc3RhbmNlIH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdFdvcmtlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0udGVybWluYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlV29ya2VyKHsgaSwgaiwgZGlzdGFuY2UsIGlkeCB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgICAgICBjb25zdCBmdWxsU2l6ZSA9IHJlc3VsdHMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLmkubGVuZ3RoLCAwKTtcbiAgICAgICAgY29uc3QgaSA9IG5ldyBJbnQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgY29uc3QgaiA9IG5ldyBJbnQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBuZXcgRmxvYXQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICAgIC8vIHNldHRpbmcgdGhlIHJlc3VsdHNcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgaS5zZXQocmVzLmksIG9mZnNldCk7XG4gICAgICAgICAgICBqLnNldChyZXMuaiwgb2Zmc2V0KTtcbiAgICAgICAgICAgIGRpc3RhbmNlLnNldChyZXMuZGlzdGFuY2UsIG9mZnNldCk7XG4gICAgICAgICAgICBvZmZzZXQgKz0gcmVzLmkubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGksIGosIGRpc3RhbmNlIH07XG4gICAgfVxuICAgIGFzeW5jIGdldEtOTih2YWx1ZXMsIGZuTmFtZSwgbk5laWdoYm91cnMgPSAxNSwgb3B0cyA9IHt9KSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLm11bHRpQ29sdW1uS05OKFt2YWx1ZXNdLCBbZm5OYW1lXSwgbk5laWdoYm91cnMsIFtvcHRzXSwgWzFdKTtcbiAgICB9XG4gICAgYXN5bmMgbXVsdGlDb2x1bW5LTk4odmFsdWVzLCBmbk5hbWVzLCBuTmVpZ2hib3VycyA9IDE1LCBvcHRzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCA9IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzLkVVQ0xJREVBTikge1xuICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCAhPT0gZm5OYW1lcy5sZW5ndGggfHwgdmFsdWVzLmxlbmd0aCAhPT0gb3B0cy5sZW5ndGggfHwgdmFsdWVzLmxlbmd0aCAhPT0gd2VpZ2h0cy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhbHVlcywgZGlzdGFuY2UgZnVuY3Rpb25zLCBvcHRpb25zIGFuZCB3ZWlnaHRzIGFycmF5cyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBsZW5ndGgnKTtcbiAgICAgICAgaWYgKHZhbHVlcy5zb21lKCh2KSA9PiB2Lmxlbmd0aCAhPT0gdmFsdWVzWzBdLmxlbmd0aCkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2FsbCB2YWx1ZXMgYXJyYXlzIHNob3VsZCBoYXZlIHRoZSBzYW1lIGxlbmd0aCcpO1xuICAgICAgICBjb25zdCBtYXRTaXplID0gdmFsdWVzWzBdLmxlbmd0aCAqICh2YWx1ZXNbMF0ubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICBjb25zdCBjaHVua1NpemUgPSBNYXRoLmZsb29yKG1hdFNpemUgLyB0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3Qgd29ya2VycyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudClcbiAgICAgICAgICAgIC5maWxsKG51bGwpLm1hcCgoKSA9PiBuZXcgV29ya2VyKG5ldyBVUkwoJy4va25uLXdvcmtlcicsIGltcG9ydC5tZXRhLnVybCkpKTtcbiAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgdGhpcy5fd29ya2VyQ291bnQ7IGlkeCsrKSB7XG4gICAgICAgICAgICBwcm9taXNlc1tpZHhdID0gbmV3IFByb21pc2UoKHJlc29sdmVXb3JrZXIsIHJlamVjdFdvcmtlcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0SWR4ID0gaWR4ICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZElkeCA9IGlkeCA9PT0gdGhpcy5fd29ya2VyQ291bnQgLSAxID8gbWF0U2l6ZSA6IChpZHggKyAxKSAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICBpZiAoZW5kSWR4IDw9IHN0YXJ0SWR4KVxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlV29ya2VyKHsga25uRGlzdGFuY2VzOiBuZXcgQXJyYXkoMCksIGtubkluZGV4ZXM6IG5ldyBBcnJheSgwKSB9KTtcbiAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0ucG9zdE1lc3NhZ2UoeyB2YWx1ZXMsIHN0YXJ0SWR4LCBlbmRJZHgsIGZuTmFtZXMsIG9wdHMsIG5OZWlnaGJvdXJzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCB9KTtcbiAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0ub25tZXNzYWdlID0gKHsgZGF0YTogeyBlcnJvciwga25uRGlzdGFuY2VzLCBrbm5JbmRleGVzIH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdFdvcmtlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0udGVybWluYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlV29ya2VyKHsga25uRGlzdGFuY2VzLCBrbm5JbmRleGVzIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgICAgIGNvbnN0IGtublJlcyA9IHtcbiAgICAgICAgICAgIGtubkRpc3RhbmNlczogbmV3IEFycmF5KHZhbHVlc1swXS5sZW5ndGgpLmZpbGwobnVsbCkubWFwKCgpID0+IG5ldyBBcnJheShuTmVpZ2hib3VycykuZmlsbCg5OTk5OSkpLFxuICAgICAgICAgICAga25uSW5kZXhlczogbmV3IEFycmF5KHZhbHVlc1swXS5sZW5ndGgpLmZpbGwobnVsbCkubWFwKCgpID0+IG5ldyBBcnJheShuTmVpZ2hib3VycykuZmlsbCgtMSkpXG4gICAgICAgIH07XG4gICAgICAgIGZvciAoY29uc3QgcmVzIG9mIHJlc3VsdHMpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWVzWzBdLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCByZXMua25uRGlzdGFuY2VzW2ldPy5sZW5ndGggPz8gMDsgKytqKVxuICAgICAgICAgICAgICAgICAgICBpbnNlcnRTbWFsbGVyKGtublJlcy5rbm5EaXN0YW5jZXNbaV0sIGtublJlcy5rbm5JbmRleGVzW2ldLCByZXMua25uRGlzdGFuY2VzW2ldW2pdLCByZXMua25uSW5kZXhlc1tpXVtqXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGtublJlcztcbiAgICB9XG4gICAgYXN5bmMgZ2V0U2FtcGxlRGlzdGFuY2VzKHZhbHVlcywgZm5OYW1lLCBvcHRzID0ge30pIHtcbiAgICAgICAgY29uc3QgdGhyZXNob2xkV29ya2VycyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudCkuZmlsbChudWxsKVxuICAgICAgICAgICAgLm1hcCgoKSA9PiBuZXcgV29ya2VyKG5ldyBVUkwoJy4vc3BhcnNlLW1hdHJpeC10aHJlc2hvbGQtd29ya2VyJywgaW1wb3J0Lm1ldGEudXJsKSkpO1xuICAgICAgICAvLyBkYXRhIG1heSBiZSBzb3J0ZWQgYnkgY2x1c3RlcnMsIHdoaWNoIHdpbGwgaGluZGVyIHRoZSByYW5kb20gc2FtcGxpbmdcbiAgICAgICAgLy8gc28gd2Ugc2h1ZmZsZSBpdCBmaXJzdFxuICAgICAgICBjb25zdCBzaHVmZmxlZFZhbHVlcyA9IHZhbHVlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpID0gc2h1ZmZsZWRWYWx1ZXMubGVuZ3RoIC0gMTsgaSA+IDA7IGktLSkge1xuICAgICAgICAgICAgY29uc3QgaiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChpICsgMSkpO1xuICAgICAgICAgICAgW3NodWZmbGVkVmFsdWVzW2ldLCBzaHVmZmxlZFZhbHVlc1tqXV0gPSBbc2h1ZmZsZWRWYWx1ZXNbal0sIHNodWZmbGVkVmFsdWVzW2ldXTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbWF0U2l6ZSA9IHZhbHVlcy5sZW5ndGggKiAodmFsdWVzLmxlbmd0aCAtIDEpIC8gMjtcbiAgICAgICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGguZmxvb3IobWF0U2l6ZSAvIHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgICAgIGNvbnN0IG1heFNhbXBsZVNpemUgPSAxMDAwMDAwO1xuICAgICAgICAgICAgY29uc3Qgc2FtcGxlU2lzZSA9IE1hdGgubWF4KE1hdGgubWluKG1hdFNpemUgLyAxMDAwLCBtYXhTYW1wbGVTaXplKSwgTWF0aC5taW4obWF0U2l6ZSwgbWF4U2FtcGxlU2l6ZSkpO1xuICAgICAgICAgICAgY29uc3QgdGVzdFNldFNpemVQZXJXb3JrZXIgPSBNYXRoLmZsb29yKHNhbXBsZVNpc2UgLyB0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgICAgICBjb25zdCB0UHJvbWlzZXMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgdGhpcy5fd29ya2VyQ291bnQ7IGlkeCsrKSB7XG4gICAgICAgICAgICAgICAgdFByb21pc2VzW2lkeF0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZVdvcmtlciwgcmVqZWN0V29ya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0SWR4ID0gaWR4ICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmRJZHggPSBpZHggPT09IHRoaXMuX3dvcmtlckNvdW50IC0gMSA/IG1hdFNpemUgOiAoaWR4ICsgMSkgKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgICAgIHRocmVzaG9sZFdvcmtlcnNbaWR4XS5wb3N0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHNodWZmbGVkVmFsdWVzLCBzdGFydElkeCwgZW5kSWR4LCBzYW1wbGVMZW5ndGg6IHRlc3RTZXRTaXplUGVyV29ya2VyLCBmbk5hbWUsIG9wdHNcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocmVzaG9sZFdvcmtlcnNbaWR4XS5vbm1lc3NhZ2UgPSAoeyBkYXRhOiB7IGVycm9yLCBkaXN0YW5jZSB9IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocmVzaG9sZFdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3RXb3JrZXIoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBkaXN0YW5jZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbCh0UHJvbWlzZXMpO1xuICAgICAgICAgICAgY29uc3QgZnVsbFNpemUgPSByZXN1bHRzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyArIHZhbC5kaXN0YW5jZS5sZW5ndGgsIDApO1xuICAgICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBuZXcgRmxvYXQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgICAgIGRpc3RhbmNlLnNldChyZXMuZGlzdGFuY2UsIG9mZnNldCk7XG4gICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHJlcy5kaXN0YW5jZS5sZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkaXN0YW5jZS5zb3J0KCk7XG4gICAgICAgICAgICByZXR1cm4gZGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocmVzaG9sZFdvcmtlcnM/LmZvckVhY2goKHcpID0+IHc/LnRlcm1pbmF0ZSgpKTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZsb2F0MzJBcnJheSgxKS5maWxsKDAuNSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgZ2V0TWluaW1hbFRocmVzaG9sZCh2YWx1ZXMsIGZuTmFtZSwgb3B0cyA9IHt9KSB7XG4gICAgICAgIC8vV2UgbmVlZCB0byBjYWxjdWxhdGUgdGhlIG1pbmltYWwgdGhyZXNob2xkIGZpcnN0LFxuICAgICAgICAvL2luIG9yZGVyIHRvIGdldCBtYXRyaXggc3VjaCB0aGF0IGl0IGRvZXMgbm90IGV4Y2VlZCB0aGUgbWF4aW11bSBzaXplIG9mIDFHQlxuICAgICAgICAvL3dlIGhhdmUgMyByZXR1cm4gYXJyYXlzLCBlYWNoIDQgYml0ZXMgcGVyIGVsZW1lbnQsIHNvIGlmIHRoZSBtYXhpbXVtIHNpemUgb2YgdGhlIG1hdHJpeCBpcyAxR0IsXG4gICAgICAgIGNvbnN0IG1heFNwYXJzZU1hdHJpeFNpemUgPSA3MDAwMDAwMDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG1hdFNpemUgPSB2YWx1ZXMubGVuZ3RoICogKHZhbHVlcy5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGF3YWl0IHRoaXMuZ2V0U2FtcGxlRGlzdGFuY2VzKHZhbHVlcywgZm5OYW1lLCBvcHRzKTtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uSW5kZXggPSBNYXRoLmZsb29yKG1heFNwYXJzZU1hdHJpeFNpemUgLyBtYXRTaXplICogZGlzdGFuY2UubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHRocmVzaG9sZCA9IDEgLSBkaXN0YW5jZVtmcmFjdGlvbkluZGV4XTtcbiAgICAgICAgICAgIC8vIHRocmVzaG9sZCA9IE1hdGgubWF4KHRocmVzaG9sZCwgMC4zKTtcbiAgICAgICAgICAgIHJldHVybiB0aHJlc2hvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICByZXR1cm4gMC41O1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0YXRpYyBjYWxjU3luYyh2YWx1ZXMsIGZuTmFtZSwgZGlzdGFuY2VGbiwgdGhyZXNob2xkKSB7XG4gICAgICAgIGNvbnN0IGkgPSBbXTtcbiAgICAgICAgY29uc3QgaiA9IFtdO1xuICAgICAgICBjb25zdCBkaXN0YW5jZXMgPSBbXTtcbiAgICAgICAgbGV0IGNudCA9IDA7XG4gICAgICAgIGxldCBtaSA9IDA7XG4gICAgICAgIGxldCBtaiA9IDA7XG4gICAgICAgIGNvbnN0IGZ1bGxTaXplID0gdmFsdWVzLmxlbmd0aCAqICh2YWx1ZXMubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICB3aGlsZSAoY250IDwgZnVsbFNpemUpIHtcbiAgICAgICAgICAgIC8vY29uc3QgdmFsdWUgPSBzZXExTGlzdFttaV0gJiYgc2VxMUxpc3RbbWpdID8gaGFtbWluZyhzZXExTGlzdFttaV0sIHNlcTFMaXN0W21qXSkgOiAwO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAhaXNOaWwodmFsdWVzW21pXSkgJiYgIWlzTmlsKHZhbHVlc1ttal0pID9cbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuKHZhbHVlc1ttaV0sIHZhbHVlc1ttal0pIDogMTtcbiAgICAgICAgICAgIGNvbnN0IHNpbWlsYXJpdHkgPSBPYmplY3QudmFsdWVzKEJpdEFycmF5TWV0cmljc05hbWVzKS5zb21lKChhKSA9PiBhID09PSBmbk5hbWUpID8gZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZSh2YWx1ZSkgOiAxIC0gdmFsdWU7XG4gICAgICAgICAgICBpZiAoc2ltaWxhcml0eSA+PSB0aHJlc2hvbGQpIHtcbiAgICAgICAgICAgICAgICBpLnB1c2gobWkpO1xuICAgICAgICAgICAgICAgIGoucHVzaChtaik7XG4gICAgICAgICAgICAgICAgZGlzdGFuY2VzLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY250Kys7XG4gICAgICAgICAgICBtaisrO1xuICAgICAgICAgICAgaWYgKG1qID09PSB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbWkrKztcbiAgICAgICAgICAgICAgICBtaiA9IG1pICsgMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpQXJyYXkgPSBuZXcgSW50MzJBcnJheShpKTtcbiAgICAgICAgY29uc3QgakFycmF5ID0gbmV3IEludDMyQXJyYXkoaik7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KGRpc3RhbmNlcyk7XG4gICAgICAgIHJldHVybiB7IGk6IGlBcnJheSwgajogakFycmF5LCBkaXN0YW5jZTogZGlzdGFuY2VBcnJheSB9O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWMzQmhjbk5sTFcxaGRISnBlQzF6WlhKMmFXTmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaWMzQmhjbk5sTFcxaGRISnBlQzF6WlhKMmFXTmxMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzUlVGQlF5eDVRa0ZCZVVJc1JVRkJReXhOUVVGTkxEWkNRVUUyUWl4RFFVRkRPMEZCUTNSRkxFOUJRVThzUlVGQlF5eHZRa0ZCYjBJc1JVRkJaU3hOUVVGTkxHdENRVUZyUWl4RFFVRkRPMEZCUTNCRkxFOUJRVThzUlVGQk5FSXNNRUpCUVRCQ0xFVkJRVU1zVFVGQlRTeFRRVUZUTEVOQlFVTTdRVUZET1VVc1QwRkJUeXhGUVVGRExHRkJRV0VzUlVGQlJTeExRVUZMTEVWQlFVTXNUVUZCVFN4VFFVRlRMRU5CUVVNN1FVRmhOME1zVFVGQlRTeFBRVUZQTEcxQ1FVRnRRanRKUVVOd1FpeFpRVUZaTEVOQlFWTTdTVUZETjBJN1VVRkRSU3hKUVVGSkxFTkJRVU1zV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1UwRkJVeXhEUVVGRExHMUNRVUZ0UWl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU55UlN4RFFVRkRPMGxCUlUwc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlNTeE5RVUZuUWl4RlFVRkZMRTFCUVc5Q0xFVkJRVVVzVTBGQmFVSXNSVUZCUlN4UFFVRXlRaXhGUVVGRk8xRkJRek5ITEhGQ1FVRnhRanRSUVVOeVFpeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVFUXNUVUZCVFN4VFFVRlRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRE8xRkJSVEZFTEUxQlFVMHNXVUZCV1N4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzUzBGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRka2NzU1VGQlNTeFRRVUZUTEVkQlFVY3NXVUZCV1N4RlFVRkZPMWxCUXpWQ0xFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNiVUpCUVcxQ0xGbEJRVmtzUlVGQlJTeERRVUZETEVOQlFVTTdXVUZETDBNc1UwRkJVeXhIUVVGSExGbEJRVmtzUTBGQlF6dFRRVU14UWp0UlFVTkVMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTTdVVUZET1VJc1RVRkJUU3hSUVVGUkxFZEJRMW9zU1VGQlNTeExRVUZMTEVOQlFUaENMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dFJRVVUxUkN4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRPMkZCUTNwRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNTeE5RVUZOTEVOQlFVTXNTVUZCU1N4SFFVRkhMRU5CUVVNc2QwSkJRWGRDTEVWQlFVVXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZUVZc1MwRkJTeXhKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETEVWQlFVVXNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVWQlFVVTdXVUZEYUVRc1VVRkJVU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVsQlFVa3NUMEZCVHl4RFFVRkRMRU5CUVVNc1lVRkJZU3hGUVVGRkxGbEJRVmtzUlVGQlJTeEZRVUZGTzJkQ1FVTXhSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEhRVUZITEVkQlFVY3NVMEZCVXl4RFFVRkRPMmRDUVVOcVF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4SFFVRkhMRXRCUVVzc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRE8yZENRVU12UlN4SlFVRkpMRTFCUVUwc1NVRkJTU3hSUVVGUk8yOUNRVU53UWl4aFFVRmhMRU5CUVVNc1JVRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRkZCUVZFc1JVRkJSU3hKUVVGSkxGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SFFVRkhMRVZCUVVNc1EwRkJReXhEUVVGRE8yZENRVU5zUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVTXNUVUZCVFN4RlFVRkZMRkZCUVZFc1JVRkJSU3hOUVVGTkxFVkJRVVVzVTBGQlV5eEZRVUZGTEUxQlFVMHNSVUZCUlN4SlFVRkpMRVZCUVVNc1EwRkJReXhEUVVGRE8yZENRVU01UlN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEhRVUZITEVOQlFVTXNSVUZCUXl4SlFVRkpMRVZCUVVVc1JVRkJReXhMUVVGTExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4UlFVRlJMRVZCUVVNc1JVRkJReXhGUVVGUkxFVkJRVVU3YjBKQlEycEZMRWxCUVVrc1MwRkJTeXhGUVVGRk8zZENRVU5VTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dDNRa0ZEZWtJc1dVRkJXU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzNGQ1FVTnlRanQ1UWtGQlRUdDNRa0ZEVEN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdkMEpCUTNwQ0xHRkJRV0VzUTBGQlF5eEZRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1VVRkJVU3hGUVVGRkxFZEJRVWNzUlVGQlF5eERRVUZETEVOQlFVTTdjVUpCUTNSRE8yZENRVU5JTEVOQlFVTXNRMEZCUXp0WlFVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRMG83VVVGRlJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdVVUZETlVNc1RVRkJUU3hSUVVGUkxFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTnlSU3hOUVVGTkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVOdVF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRlZCUVZVc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dFJRVU51UXl4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVTTFReXhKUVVGSkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEWml4elFrRkJjMEk3VVVGRGRFSXNTMEZCU3l4TlFVRk5MRWRCUVVjc1NVRkJTU3hQUVVGUExFVkJRVVU3V1VGRGVrSXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUTNKQ0xFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU55UWl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRia01zVFVGQlRTeEpRVUZKTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8xTkJRM2hDTzFGQlEwUXNUMEZCVHl4RlFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVVVGQlVTeEZRVUZETEVOQlFVTTdTVUZETVVJc1EwRkJRenRKUVVWTkxFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlEycENMRTFCUVd0Q0xFVkJRVVVzVFVGQmIwSXNSVUZCUlN4alFVRnpRaXhGUVVGRkxFVkJRVVVzVDBGQk1rSXNSVUZCUlR0UlFVVnFSeXhQUVVGUExFMUJRVTBzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNWMEZCVnl4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTJwR0xFTkJRVU03U1VGRlRTeExRVUZMTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTFCUVhsQ0xFVkJRVVVzVDBGQmRVSXNSVUZCUlN4alFVRnpRaXhGUVVGRkxFVkJRM1JITEVsQlFUQkNMRVZCUVVVc1QwRkJhVUlzUlVGRE4wTXNiMEpCUVN0RExEQkNRVUV3UWl4RFFVRkRMRk5CUVZNN1VVRkZia1lzU1VGQlNTeE5RVUZOTEVOQlFVTXNUVUZCVFN4TFFVRkxMRTlCUVU4c1EwRkJReXhOUVVGTkxFbEJRVWtzVFVGQlRTeERRVUZETEUxQlFVMHNTMEZCU3l4SlFVRkpMRU5CUVVNc1RVRkJUU3hKUVVGSkxFMUJRVTBzUTBGQlF5eE5RVUZOTEV0QlFVc3NUMEZCVHl4RFFVRkRMRTFCUVUwN1dVRkRka2NzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4dlJrRkJiMFlzUTBGQlF5eERRVUZETzFGQlJYaEhMRWxCUVVrc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUzBGQlN5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8xbEJRMjVFTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc0swTkJRU3RETEVOQlFVTXNRMEZCUXp0UlFVVnVSU3hOUVVGTkxFOUJRVThzUjBGQlJ5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZET1VRc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlF6RkVMRTFCUVUwc1VVRkJVU3hIUVVOYUxFbEJRVWtzUzBGQlN5eERRVUZ4UWl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRGJrUXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXp0aFFVTjZReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzVFVGQlRTeERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMR05CUVdNc1JVRkJSU3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVNNVJTeExRVUZMTEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1JVRkJSU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEZsQlFWa3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSVHRaUVVOb1JDeFJRVUZSTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlF5eGhRVUZoTEVWQlFVVXNXVUZCV1N4RlFVRkZMRVZCUVVVN1owSkJRekZFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWRCUVVjc1IwRkJSeXhUUVVGVExFTkJRVU03WjBKQlEycERMRTFCUVUwc1RVRkJUU3hIUVVGSExFZEJRVWNzUzBGQlN5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTTdaMEpCUXk5RkxFbEJRVWtzVFVGQlRTeEpRVUZKTEZGQlFWRTdiMEpCUTNCQ0xHRkJRV0VzUTBGQlF5eEZRVUZETEZsQlFWa3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFZRVUZWTEVWQlFVVXNTVUZCU1N4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTjRSU3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUlVGQlJTeE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWxCUVVrc1JVRkJSU3hYUVVGWExFVkJRVVVzVDBGQlR5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZETjBjc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSMEZCUnl4RFFVRkRMRVZCUVVNc1NVRkJTU3hGUVVGRkxFVkJRVU1zUzBGQlN5eEZRVUZGTEZsQlFWa3NSVUZCUlN4VlFVRlZMRVZCUVVNc1JVRkJReXhGUVVGUkxFVkJRVVU3YjBKQlF6TkZMRWxCUVVrc1MwRkJTeXhGUVVGRk8zZENRVU5VTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dDNRa0ZEZWtJc1dVRkJXU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzNGQ1FVTnlRanQ1UWtGQlRUdDNRa0ZEVEN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdkMEpCUTNwQ0xHRkJRV0VzUTBGQlF5eEZRVUZETEZsQlFWa3NSVUZCUlN4VlFVRlZMRVZCUVVNc1EwRkJReXhEUVVGRE8zRkNRVU16UXp0blFrRkRTQ3hEUVVGRExFTkJRVU03V1VGRFNpeERRVUZETEVOQlFVTXNRMEZCUXp0VFFVTktPMUZCUlVRc1RVRkJUU3hQUVVGUExFZEJRVWNzVFVGQlRTeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8xRkJRelZETEUxQlFVMHNUVUZCVFN4SFFVRmpPMWxCUTNoQ0xGbEJRVmtzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4SlFVRkpMRXRCUVVzc1EwRkJVeXhYUVVGWExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1dVRkRNVWNzVlVGQlZTeEZRVUZGTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGVExGZEJRVmNzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRVU1zUTBGQlF6dFJRVU42Unl4TFFVRkxMRTFCUVUwc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdFpRVU42UWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0blFrRkRla01zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1RVRkJUU3hKUVVGSkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTTdiMEpCUTNaRUxHRkJRV0VzUTBGQlF5eE5RVUZOTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WVVGRE4wYzdVMEZEUmp0UlFVTkVMRTlCUVU4c1RVRkJUU3hEUVVGRE8wbEJRMmhDTEVOQlFVTTdTVUZGVFN4TFFVRkxMRU5CUVVNc2EwSkJRV3RDTEVOQlFVa3NUVUZCWjBJc1JVRkJSU3hOUVVGdlFpeEZRVU4yUlN4UFFVRXlRaXhGUVVGRk8xRkJRemRDTEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTTdZVUZETjBRc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExHdERRVUZyUXl4RlFVRkZMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNaR0xIZEZRVUYzUlR0UlFVTjRSU3g1UWtGQmVVSTdVVUZEZWtJc1RVRkJUU3hqUVVGakxFZEJRVWNzVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRPMUZCUTNSRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NZMEZCWXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOc1JDeE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlF6bERMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEdOQlFXTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMR05CUVdNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFOQlEycEdPMUZCUlVRc1NVRkJTVHRaUVVOR0xFMUJRVTBzVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVONFJDeE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1dVRkRNVVFzVFVGQlRTeGhRVUZoTEVkQlFVY3NUMEZCVXl4RFFVRkRPMWxCUTJoRExFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eFBRVUZQTEVkQlFVY3NTVUZCU1N4RlFVRkZMR0ZCUVdFc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNUMEZCVHl4RlFVRkZMR0ZCUVdFc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGRrY3NUVUZCVFN4dlFrRkJiMElzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdXVUZEZUVVc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFXOURMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dFpRVVZzUml4TFFVRkxMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU1zUlVGQlJTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRmxCUVZrc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJUdG5Ra0ZEYUVRc1UwRkJVeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVsQlFVa3NUMEZCVHl4RFFVRkRMRU5CUVVNc1lVRkJZU3hGUVVGRkxGbEJRVmtzUlVGQlJTeEZRVUZGTzI5Q1FVTXpSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEhRVUZITEVkQlFVY3NVMEZCVXl4RFFVRkRPMjlDUVVOcVF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4SFFVRkhMRXRCUVVzc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRE8yOUNRVU12UlN4blFrRkJaMElzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVNN2QwSkJRMmhETEUxQlFVMHNSVUZCUlN4alFVRmpMRVZCUVVVc1VVRkJVU3hGUVVGRkxFMUJRVTBzUlVGQlJTeFpRVUZaTEVWQlFVVXNiMEpCUVc5Q0xFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlFVazdjVUpCUXpOR0xFTkJRVU1zUTBGQlF6dHZRa0ZEU0N4blFrRkJaMElzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRWRCUVVjc1EwRkJReXhGUVVGRExFbEJRVWtzUlVGQlJTeEZRVUZETEV0QlFVc3NSVUZCUlN4UlFVRlJMRVZCUVVNc1JVRkJReXhGUVVGUkxFVkJRVVU3ZDBKQlEzQkZMR2RDUVVGblFpeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8zZENRVU5zUXl4SlFVRkpMRXRCUVVzN05FSkJRVVVzV1VGQldTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPenMwUWtGRE4wSXNZVUZCWVN4RFFVRkRMRVZCUVVNc1VVRkJVU3hGUVVGRExFTkJRVU1zUTBGQlF6dHZRa0ZET1VJc1EwRkJReXhEUVVGRE8yZENRVU5LTEVOQlFVTXNRMEZCUXl4RFFVRkRPMkZCUTBvN1dVRkZSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eE5RVUZOTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03V1VGRE4wTXNUVUZCVFN4UlFVRlJMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU0xUlN4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0WlFVTTFReXhKUVVGSkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZEWml4TFFVRkxMRTFCUVUwc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdG5Ra0ZEZWtJc1VVRkJVU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNVVUZCVVN4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8yZENRVU51UXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTTdZVUZETDBJN1dVRkRSQ3hSUVVGUkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdXVUZGYUVJc1QwRkJUeXhSUVVGUkxFTkJRVU03VTBGRGFrSTdVVUZCUXl4UFFVRlBMRU5CUVVNc1JVRkJSVHRaUVVOV0xHZENRVUZuUWl4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRk5CUVZNc1JVRkJSU3hEUVVGRExFTkJRVU03V1VGRGFrUXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5xUWl4UFFVRlBMRWxCUVVrc1dVRkJXU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRUUVVOMFF6dEpRVU5JTEVOQlFVTTdTVUZGVHl4TFFVRkxMRU5CUVVNc2JVSkJRVzFDTEVOQlFVa3NUVUZCWjBJc1JVRkJSU3hOUVVGdlFpeEZRVUZGTEU5QlFUSkNMRVZCUVVVN1VVRkRlRWNzYlVSQlFXMUVPMUZCUTI1RUxEWkZRVUUyUlR0UlFVTTNSU3hwUjBGQmFVYzdVVUZEYWtjc1RVRkJUU3h0UWtGQmJVSXNSMEZCUnl4UlFVRlZMRU5CUVVNN1VVRkRka01zU1VGQlNUdFpRVU5HTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU40UkN4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMWxCUTNKRkxFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc2JVSkJRVzFDTEVkQlFVY3NUMEZCVHl4SFFVRkhMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU5zUml4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGRExFZEJRVWNzVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRPMWxCUXpsRExIZERRVUYzUXp0WlFVTjRReXhQUVVGUExGTkJRVk1zUTBGQlF6dFRRVU5zUWp0UlFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRk8xbEJRMVlzVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOcVFpeFBRVUZQTEVkQlFVY3NRMEZCUXp0VFFVTmFPMGxCUTBnc1EwRkJRenRKUVVWTkxFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlEzQkNMRTFCUVN0Q0xFVkJRVVVzVFVGQmIwSXNSVUZCUlN4VlFVRnZRaXhGUVVGRkxGTkJRV2xDTzFGQlJUbEdMRTFCUVUwc1EwRkJReXhIUVVGaExFVkJRVVVzUTBGQlF6dFJRVU4yUWl4TlFVRk5MRU5CUVVNc1IwRkJZU3hGUVVGRkxFTkJRVU03VVVGRGRrSXNUVUZCVFN4VFFVRlRMRWRCUVdFc1JVRkJSU3hEUVVGRE8xRkJReTlDTEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOYUxFbEJRVWtzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTllMRWxCUVVrc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5ZTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU42UkN4UFFVRlBMRWRCUVVjc1IwRkJSeXhSUVVGUkxFVkJRVVU3V1VGRGNrSXNkVVpCUVhWR08xbEJRM1pHTEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM1JFTEZWQlFWVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU42UXl4TlFVRk5MRlZCUVZVc1IwRkRaQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFdEJRVXNzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMSGxDUVVGNVFpeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETzFsQlF5OUhMRWxCUVVrc1ZVRkJWU3hKUVVGSkxGTkJRVk1zUlVGQlJUdG5Ra0ZETTBJc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0blFrRkRXQ3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMmRDUVVOWUxGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1lVRkRka0k3V1VGRFJDeEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTk9MRVZCUVVVc1JVRkJSU3hEUVVGRE8xbEJRMHdzU1VGQlNTeEZRVUZGTEV0QlFVc3NUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSVHRuUWtGRGVFSXNSVUZCUlN4RlFVRkZMRU5CUVVNN1owSkJRMHdzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1lVRkRZanRUUVVOR08xRkJSVVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGFrTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYWtNc1RVRkJUU3hoUVVGaExFZEJRVWNzU1VGQlNTeFpRVUZaTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1VVRkZiRVFzVDBGQlR5eEZRVUZETEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFJRVUZSTEVWQlFVVXNZVUZCWVN4RlFVRkRMRU5CUVVNN1NVRkRla1FzUTBGQlF6dERRVU5LSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0blpYUlRhVzFwYkdGeWFYUjVSbkp2YlVScGMzUmhibU5sZlNCbWNtOXRJQ2N1TGk5a2FYTjBZVzVqWlMxdFpYUnlhV056TFcxbGRHaHZaSE1uTzF4dWFXMXdiM0owSUh0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5d2dTMjV2ZDI1TlpYUnlhV056ZlNCbWNtOXRJQ2N1TGk5MGVYQmxaQzF0WlhSeWFXTnpKenRjYm1sdGNHOXlkQ0I3UkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaQ3dnUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaSE45SUdaeWIyMGdKeTR2ZEhsd1pYTW5PMXh1YVcxd2IzSjBJSHRwYm5ObGNuUlRiV0ZzYkdWeUxDQnBjMDVwYkgwZ1puSnZiU0FuTGk5MWRHbHNjeWM3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRk53WVhKelpVMWhkSEpwZUZKbGMzVnNkQ0E5SUh0Y2JpQWdhVG9nU1c1ME16SkJjbkpoZVN4Y2JpQWdham9nU1c1ME16SkJjbkpoZVN4Y2JpQWdaR2x6ZEdGdVkyVTZJRVpzYjJGME16SkJjbkpoZVN4Y2JpQWdhV1I0UHpvZ2JuVnRZbVZ5WEc1OU8xeHVYRzVsZUhCdmNuUWdkSGx3WlNCTGJtNVNaWE4xYkhRZ1BTQjdYRzRnSUd0dWJrUnBjM1JoYm1ObGN6b2diblZ0WW1WeVcxMWJYU3hjYmlBZ2EyNXVTVzVrWlhobGN6b2diblZ0WW1WeVcxMWJYVnh1ZlZ4dVpYaHdiM0owSUdOc1lYTnpJRk53WVhKelpVMWhkSEpwZUZObGNuWnBZMlVnZTF4dUlDQWdJSEJ5YVhaaGRHVWdYM2R2Y210bGNrTnZkVzUwT2lCdWRXMWlaWEk3WEc0Z0lDQWdZMjl1YzNSeWRXTjBiM0lvS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENBOUlFMWhkR2d1YldGNEtHNWhkbWxuWVhSdmNpNW9ZWEprZDJGeVpVTnZibU4xY25KbGJtTjVJQzBnTWl3Z01TazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NIVmliR2xqSUdGemVXNWpJR05oYkdNOFZENG9kbUZzZFdWek9pQkJjbkpoZVR4VVBpd2dabTVPWVcxbE9pQkxibTkzYmsxbGRISnBZM01zSUhSb2NtVnphRzlzWkRvZ2JuVnRZbVZ5TENCdmNIUnpPaUI3VzE4NklITjBjbWx1WjEwNklHRnVlWDBnUFNCN2ZTa2dlMXh1SUNBZ0lDQWdMeTl6YVhwbElHOW1JR1oxYkd3Z2JXRjBjbWw0WEc0Z0lDQWdJQ0JqYjI1emRDQnRZWFJUYVhwbElEMGdkbUZzZFdWekxteGxibWQwYUNBcUlDaDJZV3gxWlhNdWJHVnVaM1JvSUMwZ01Ta2dMeUF5TzF4dUlDQWdJQ0FnWTI5dWMzUWdZMmgxYm10VGFYcGxJRDBnVFdGMGFDNW1iRzl2Y2lodFlYUlRhWHBsSUM4Z2RHaHBjeTVmZDI5eWEyVnlRMjkxYm5RcE8xeHVYRzRnSUNBZ0lDQmpiMjV6ZENCdGFXNVVhSEpsYzJodmJHUWdQU0IyWVd4MVpYTXViR1Z1WjNSb0lENGdNakJmTURBd0lEOGdZWGRoYVhRZ2RHaHBjeTVuWlhSTmFXNXBiV0ZzVkdoeVpYTm9iMnhrS0haaGJIVmxjeXdnWm01T1lXMWxMQ0J2Y0hSektTQTZJREE3WEc0Z0lDQWdJQ0JwWmlBb2RHaHlaWE5vYjJ4a0lEd2diV2x1VkdoeVpYTm9iMnhrS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk52YkdVdWJHOW5LR0IxYzJsdVp5QjBhSEpsYzJodmJHUWdKSHR0YVc1VWFISmxjMmh2YkdSOVlDazdYRzRnSUNBZ0lDQWdJSFJvY21WemFHOXNaQ0E5SUcxcGJsUm9jbVZ6YUc5c1pEdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHOXdkSE5iSjNSb2NtVnphRzlzWkNkZElEMGdkR2h5WlhOb2IyeGtPMXh1SUNBZ0lDQWdZMjl1YzNRZ2NISnZiV2x6WlhNZ1BWeHVJQ0FnSUNBZ0lDQnVaWGNnUVhKeVlYazhVSEp2YldselpUeFRjR0Z5YzJWTllYUnlhWGhTWlhOMWJIUStQaWgwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ2s3WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJSGR2Y210bGNuTWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwWEc0Z0lDQWdJQ0FnSUM1bWFXeHNLRzUxYkd3cExtMWhjQ2dvS1NBOVBpQnVaWGNnVjI5eWEyVnlLRzVsZHlCVlVrd29KeTR2YzNCaGNuTmxMVzFoZEhKcGVDMTNiM0pyWlhJbkxDQnBiWEJ2Y25RdWJXVjBZUzUxY213cEtTazdYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnBaSGdnUFNBd095QnBaSGdnUENCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZERzZ2FXUjRLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NISnZiV2x6WlhOYmFXUjRYU0E5SUc1bGR5QlFjbTl0YVhObEtDaHlaWE52YkhabFYyOXlhMlZ5TENCeVpXcGxZM1JYYjNKclpYSXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCemRHRnlkRWxrZUNBOUlHbGtlQ0FxSUdOb2RXNXJVMmw2WlR0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCbGJtUkpaSGdnUFNCcFpIZ2dQVDA5SUhSb2FYTXVYM2R2Y210bGNrTnZkVzUwSUMwZ01TQS9JRzFoZEZOcGVtVWdPaUFvYVdSNElDc2dNU2tnS2lCamFIVnVhMU5wZW1VN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dWdVpFbGtlQ0E4UFNCemRHRnlkRWxrZUNsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVlhiM0pyWlhJb2UyazZJRzVsZHlCSmJuUXpNa0Z5Y21GNUtEQXBMQ0JxT2lCdVpYY2dTVzUwTXpKQmNuSmhlU2d3S1N3Z1pHbHpkR0Z1WTJVNklHNWxkeUJHYkc5aGRETXlRWEp5WVhrb01Da3NJR2xrZUgwcE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1d2IzTjBUV1Z6YzJGblpTaDdkbUZzZFdWekxDQnpkR0Z5ZEVsa2VDd2daVzVrU1dSNExDQjBhSEpsYzJodmJHUXNJR1p1VG1GdFpTd2diM0IwYzMwcE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1dmJtMWxjM05oWjJVZ1BTQW9lMlJoZEdFNklIdGxjbkp2Y2l3Z2FTd2dhaXdnWkdsemRHRnVZMlY5ZlNrNklIWnZhV1FnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHVnljbTl5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhkdmNtdGxjbk5iYVdSNFhTNTBaWEp0YVc1aGRHVW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZxWldOMFYyOXlhMlZ5S0dWeWNtOXlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhkdmNtdGxjbk5iYVdSNFhTNTBaWEp0YVc1aGRHVW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ6YjJ4MlpWZHZjbXRsY2loN2FTd2dhaXdnWkdsemRHRnVZMlVzSUdsa2VIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTjFiSFJ6SUQwZ1lYZGhhWFFnVUhKdmJXbHpaUzVoYkd3b2NISnZiV2x6WlhNcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnWm5Wc2JGTnBlbVVnUFNCeVpYTjFiSFJ6TG5KbFpIVmpaU2dvWVdOakxDQjJZV3dwSUQwK0lHRmpZeUFySUhaaGJDNXBMbXhsYm1kMGFDd2dNQ2s3WEc0Z0lDQWdJQ0JqYjI1emRDQnBJRDBnYm1WM0lFbHVkRE15UVhKeVlYa29ablZzYkZOcGVtVXBPMXh1SUNBZ0lDQWdZMjl1YzNRZ2FpQTlJRzVsZHlCSmJuUXpNa0Z5Y21GNUtHWjFiR3hUYVhwbEtUdGNiaUFnSUNBZ0lHTnZibk4wSUdScGMzUmhibU5sSUQwZ2JtVjNJRVpzYjJGME16SkJjbkpoZVNobWRXeHNVMmw2WlNrN1hHNGdJQ0FnSUNCc1pYUWdiMlptYzJWMElEMGdNRHRjYmlBZ0lDQWdJQzh2SUhObGRIUnBibWNnZEdobElISmxjM1ZzZEhOY2JpQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2NtVnpJRzltSUhKbGMzVnNkSE1wSUh0Y2JpQWdJQ0FnSUNBZ2FTNXpaWFFvY21Wekxta3NJRzltWm5ObGRDazdYRzRnSUNBZ0lDQWdJR291YzJWMEtISmxjeTVxTENCdlptWnpaWFFwTzF4dUlDQWdJQ0FnSUNCa2FYTjBZVzVqWlM1elpYUW9jbVZ6TG1ScGMzUmhibU5sTENCdlptWnpaWFFwTzF4dUlDQWdJQ0FnSUNCdlptWnpaWFFnS3owZ2NtVnpMbWt1YkdWdVozUm9PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdjbVYwZFhKdUlIdHBMQ0JxTENCa2FYTjBZVzVqWlgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJR0Z6ZVc1aklHZGxkRXRPVGloY2JpQWdJQ0FnSUhaaGJIVmxjem9nUVhKeVlYazhZVzU1UGl3Z1ptNU9ZVzFsT2lCTGJtOTNiazFsZEhKcFkzTXNJRzVPWldsbmFHSnZkWEp6T2lCdWRXMWlaWElnUFNBeE5Td2diM0IwY3pvZ2UxdGZPaUJ6ZEhKcGJtZGRPaUJoYm5sOUlEMGdlMzFjYmlBZ0lDQXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmhkMkZwZENCMGFHbHpMbTExYkhScFEyOXNkVzF1UzA1T0tGdDJZV3gxWlhOZExDQmJabTVPWVcxbFhTd2diazVsYVdkb1ltOTFjbk1zSUZ0dmNIUnpYU3dnV3pGZEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCd2RXSnNhV01nWVhONWJtTWdiWFZzZEdsRGIyeDFiVzVMVGs0b2RtRnNkV1Z6T2lCQmNuSmhlVHhCY25KaGVUeGhibmsrUGl3Z1ptNU9ZVzFsY3pvZ1MyNXZkMjVOWlhSeWFXTnpXMTBzSUc1T1pXbG5hR0p2ZFhKek9pQnVkVzFpWlhJZ1BTQXhOU3hjYmlBZ0lDQWdJRzl3ZEhNNklIdGJYem9nYzNSeWFXNW5YVG9nWVc1NWZWdGRMQ0IzWldsbmFIUnpPaUJ1ZFcxaVpYSmJYU3hjYmlBZ0lDQWdJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtPaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtJRDBnUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaSE11UlZWRFRFbEVSVUZPWEc0Z0lDQWdLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RtRnNkV1Z6TG14bGJtZDBhQ0FoUFQwZ1ptNU9ZVzFsY3k1c1pXNW5kR2dnZkh3Z2RtRnNkV1Z6TG14bGJtZDBhQ0FoUFQwZ2IzQjBjeTVzWlc1bmRHZ2dmSHdnZG1Gc2RXVnpMbXhsYm1kMGFDQWhQVDBnZDJWcFoyaDBjeTVzWlc1bmRHZ3BYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25kbUZzZFdWekxDQmthWE4wWVc1alpTQm1kVzVqZEdsdmJuTXNJRzl3ZEdsdmJuTWdZVzVrSUhkbGFXZG9kSE1nWVhKeVlYbHpJSE5vYjNWc1pDQm9ZWFpsSUhSb1pTQnpZVzFsSUd4bGJtZDBhQ2NwTzF4dVhHNGdJQ0FnSUNCcFppQW9kbUZzZFdWekxuTnZiV1VvS0hZcElEMCtJSFl1YkdWdVozUm9JQ0U5UFNCMllXeDFaWE5iTUYwdWJHVnVaM1JvS1NsY2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkaGJHd2dkbUZzZFdWeklHRnljbUY1Y3lCemFHOTFiR1FnYUdGMlpTQjBhR1VnYzJGdFpTQnNaVzVuZEdnbktUdGNibHh1SUNBZ0lDQWdZMjl1YzNRZ2JXRjBVMmw2WlNBOUlIWmhiSFZsYzFzd1hTNXNaVzVuZEdnZ0tpQW9kbUZzZFdWeld6QmRMbXhsYm1kMGFDQXRJREVwSUM4Z01qdGNiaUFnSUNBZ0lHTnZibk4wSUdOb2RXNXJVMmw2WlNBOUlFMWhkR2d1Wm14dmIzSW9iV0YwVTJsNlpTQXZJSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBLVHRjYmlBZ0lDQWdJR052Ym5OMElIQnliMjFwYzJWeklEMWNiaUFnSUNBZ0lDQWdibVYzSUVGeWNtRjVQRkJ5YjIxcGMyVThTMjV1VW1WemRXeDBQajRvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTzF4dUlDQWdJQ0FnWTI5dWMzUWdkMjl5YTJWeWN5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ2xjYmlBZ0lDQWdJQ0FnTG1acGJHd29iblZzYkNrdWJXRndLQ2dwSUQwK0lHNWxkeUJYYjNKclpYSW9ibVYzSUZWU1RDZ25MaTlyYm00dGQyOXlhMlZ5Snl3Z2FXMXdiM0owTG0xbGRHRXVkWEpzS1NrcE8xeHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FXUjRJRDBnTURzZ2FXUjRJRHdnZEdocGN5NWZkMjl5YTJWeVEyOTFiblE3SUdsa2VDc3JLU0I3WEc0Z0lDQWdJQ0FnSUhCeWIyMXBjMlZ6VzJsa2VGMGdQU0J1WlhjZ1VISnZiV2x6WlNnb2NtVnpiMngyWlZkdmNtdGxjaXdnY21WcVpXTjBWMjl5YTJWeUtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYzNSaGNuUkpaSGdnUFNCcFpIZ2dLaUJqYUhWdWExTnBlbVU3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWlc1a1NXUjRJRDBnYVdSNElEMDlQU0IwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ0F0SURFZ1B5QnRZWFJUYVhwbElEb2dLR2xrZUNBcklERXBJQ29nWTJoMWJtdFRhWHBsTzF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hsYm1SSlpIZ2dQRDBnYzNSaGNuUkpaSGdwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWE52YkhabFYyOXlhMlZ5S0h0cmJtNUVhWE4wWVc1alpYTTZJRzVsZHlCQmNuSmhlU2d3S1N3Z2EyNXVTVzVrWlhobGN6b2dibVYzSUVGeWNtRjVLREFwZlNrN1hHNGdJQ0FnSUNBZ0lDQWdkMjl5YTJWeWMxdHBaSGhkTG5CdmMzUk5aWE56WVdkbEtIdDJZV3gxWlhNc0lITjBZWEowU1dSNExDQmxibVJKWkhnc0lHWnVUbUZ0WlhNc0lHOXdkSE1zSUc1T1pXbG5hR0p2ZFhKekxDQjNaV2xuYUhSekxDQmhaMmR5WldkaGRHbHZiazFsZEdodlpIMHBPMXh1SUNBZ0lDQWdJQ0FnSUhkdmNtdGxjbk5iYVdSNFhTNXZibTFsYzNOaFoyVWdQU0FvZTJSaGRHRTZJSHRsY25KdmNpd2dhMjV1UkdsemRHRnVZMlZ6TENCcmJtNUpibVJsZUdWemZYMHBPaUIyYjJsa0lEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjNiM0pyWlhKelcybGtlRjB1ZEdWeWJXbHVZWFJsS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGFtVmpkRmR2Y210bGNpaGxjbkp2Y2lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjNiM0pyWlhKelcybGtlRjB1ZEdWeWJXbHVZWFJsS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMyOXNkbVZYYjNKclpYSW9lMnR1YmtScGMzUmhibU5sY3l3Z2EyNXVTVzVrWlhobGMzMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTjFiSFJ6SUQwZ1lYZGhhWFFnVUhKdmJXbHpaUzVoYkd3b2NISnZiV2x6WlhNcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYTI1dVVtVnpPaUJMYm01U1pYTjFiSFFnUFNCN1hHNGdJQ0FnSUNBZ0lHdHVia1JwYzNSaGJtTmxjem9nYm1WM0lFRnljbUY1S0haaGJIVmxjMXN3WFM1c1pXNW5kR2dwTG1acGJHd29iblZzYkNrdWJXRndLQ2dwSUQwK0lHNWxkeUJCY25KaGVUeHVkVzFpWlhJK0tHNU9aV2xuYUdKdmRYSnpLUzVtYVd4c0tEazVPVGs1S1Nrc1hHNGdJQ0FnSUNBZ0lHdHVia2x1WkdWNFpYTTZJRzVsZHlCQmNuSmhlU2gyWVd4MVpYTmJNRjB1YkdWdVozUm9LUzVtYVd4c0tHNTFiR3dwTG0xaGNDZ29LU0E5UGlCdVpYY2dRWEp5WVhrOGJuVnRZbVZ5UGlodVRtVnBaMmhpYjNWeWN5a3VabWxzYkNndE1Ta3BmVHRjYmlBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnY21WeklHOW1JSEpsYzNWc2RITXBJSHRjYmlBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMllXeDFaWE5iTUYwdWJHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQWdJQ0FnSUNCbWIzSWdLR3hsZENCcUlEMGdNRHNnYWlBOElISmxjeTVyYm01RWFYTjBZVzVqWlhOYmFWMC9MbXhsYm1kMGFDQS9QeUF3T3lBcksyb3BYRzRnSUNBZ0lDQWdJQ0FnSUNCcGJuTmxjblJUYldGc2JHVnlLR3R1YmxKbGN5NXJibTVFYVhOMFlXNWpaWE5iYVYwc0lHdHVibEpsY3k1cmJtNUpibVJsZUdWelcybGRMQ0J5WlhNdWEyNXVSR2x6ZEdGdVkyVnpXMmxkVzJwZExDQnlaWE11YTI1dVNXNWtaWGhsYzF0cFhWdHFYU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJyYm01U1pYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NIVmliR2xqSUdGemVXNWpJR2RsZEZOaGJYQnNaVVJwYzNSaGJtTmxjenhVUGloMllXeDFaWE02SUVGeWNtRjVQRlErTENCbWJrNWhiV1U2SUV0dWIzZHVUV1YwY21samN5eGNiaUFnSUNBZ0lHOXdkSE02SUh0Ylh6b2djM1J5YVc1blhUb2dZVzU1ZlNBOUlIdDlLVG9nVUhKdmJXbHpaVHhHYkc5aGRETXlRWEp5WVhrK0lIdGNiaUFnSUNBZ0lHTnZibk4wSUhSb2NtVnphRzlzWkZkdmNtdGxjbk1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVmZDI5eWEyVnlRMjkxYm5RcExtWnBiR3dvYm5Wc2JDbGNiaUFnSUNBZ0lDQWdMbTFoY0Nnb0tTQTlQaUJ1WlhjZ1YyOXlhMlZ5S0c1bGR5QlZVa3dvSnk0dmMzQmhjbk5sTFcxaGRISnBlQzEwYUhKbGMyaHZiR1F0ZDI5eWEyVnlKeXdnYVcxd2IzSjBMbTFsZEdFdWRYSnNLU2twTzF4dUlDQWdJQ0FnTHk4Z1pHRjBZU0J0WVhrZ1ltVWdjMjl5ZEdWa0lHSjVJR05zZFhOMFpYSnpMQ0IzYUdsamFDQjNhV3hzSUdocGJtUmxjaUIwYUdVZ2NtRnVaRzl0SUhOaGJYQnNhVzVuWEc0Z0lDQWdJQ0F2THlCemJ5QjNaU0J6YUhWbVpteGxJR2wwSUdacGNuTjBYRzRnSUNBZ0lDQmpiMjV6ZENCemFIVm1abXhsWkZaaGJIVmxjeUE5SUhaaGJIVmxjeTV6YkdsalpTZ3BPMXh1SUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SUhOb2RXWm1iR1ZrVm1Gc2RXVnpMbXhsYm1kMGFDQXRJREU3SUdrZ1BpQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2FpQTlJRTFoZEdndVpteHZiM0lvVFdGMGFDNXlZVzVrYjIwb0tTQXFJQ2hwSUNzZ01Ta3BPMXh1SUNBZ0lDQWdJQ0JiYzJoMVptWnNaV1JXWVd4MVpYTmJhVjBzSUhOb2RXWm1iR1ZrVm1Gc2RXVnpXMnBkWFNBOUlGdHphSFZtWm14bFpGWmhiSFZsYzF0cVhTd2djMmgxWm1ac1pXUldZV3gxWlhOYmFWMWRPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdFlYUlRhWHBsSUQwZ2RtRnNkV1Z6TG14bGJtZDBhQ0FxSUNoMllXeDFaWE11YkdWdVozUm9JQzBnTVNrZ0x5QXlPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmphSFZ1YTFOcGVtVWdQU0JOWVhSb0xtWnNiMjl5S0cxaGRGTnBlbVVnTHlCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUcxaGVGTmhiWEJzWlZOcGVtVWdQU0F4WHpBd01GOHdNREE3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSE5oYlhCc1pWTnBjMlVnUFNCTllYUm9MbTFoZUNoTllYUm9MbTFwYmlodFlYUlRhWHBsSUM4Z01UQXdNQ3dnYldGNFUyRnRjR3hsVTJsNlpTa3NJRTFoZEdndWJXbHVLRzFoZEZOcGVtVXNJRzFoZUZOaGJYQnNaVk5wZW1VcEtUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2RHVnpkRk5sZEZOcGVtVlFaWEpYYjNKclpYSWdQU0JOWVhSb0xtWnNiMjl5S0hOaGJYQnNaVk5wYzJVZ0x5QjBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDazdYRzRnSUNBZ0lDQWdJR052Ym5OMElIUlFjbTl0YVhObGN5QTlJRzVsZHlCQmNuSmhlVHhRY205dGFYTmxQSHRrYVhOMFlXNWpaVG9nUm14dllYUXpNa0Z5Y21GNWZUNCtLSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBLVHRjYmx4dUlDQWdJQ0FnSUNCbWIzSWdLR3hsZENCcFpIZ2dQU0F3T3lCcFpIZ2dQQ0IwYUdsekxsOTNiM0pyWlhKRGIzVnVkRHNnYVdSNEt5c3BJSHRjYmlBZ0lDQWdJQ0FnSUNCMFVISnZiV2x6WlhOYmFXUjRYU0E5SUc1bGR5QlFjbTl0YVhObEtDaHlaWE52YkhabFYyOXlhMlZ5TENCeVpXcGxZM1JYYjNKclpYSXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElITjBZWEowU1dSNElEMGdhV1I0SUNvZ1kyaDFibXRUYVhwbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdaVzVrU1dSNElEMGdhV1I0SUQwOVBTQjBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDQXRJREVnUHlCdFlYUlRhWHBsSURvZ0tHbGtlQ0FySURFcElDb2dZMmgxYm10VGFYcGxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHlaWE5vYjJ4a1YyOXlhMlZ5YzF0cFpIaGRMbkJ2YzNSTlpYTnpZV2RsS0h0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVnpPaUJ6YUhWbVpteGxaRlpoYkhWbGN5d2djM1JoY25SSlpIZ3NJR1Z1WkVsa2VDd2djMkZ0Y0d4bFRHVnVaM1JvT2lCMFpYTjBVMlYwVTJsNlpWQmxjbGR2Y210bGNpd2dabTVPWVcxbExDQnZjSFJ6WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9jbVZ6YUc5c1pGZHZjbXRsY25OYmFXUjRYUzV2Ym0xbGMzTmhaMlVnUFNBb2UyUmhkR0U2SUh0bGNuSnZjaXdnWkdsemRHRnVZMlY5ZlNrNklIWnZhV1FnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFISmxjMmh2YkdSWGIzSnJaWEp6VzJsa2VGMHVkR1Z5YldsdVlYUmxLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobGNuSnZjaWtnY21WcVpXTjBWMjl5YTJWeUtHVnljbTl5S1RzZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVlhiM0pyWlhJb2UyUnBjM1JoYm1ObGZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2NtVnpkV3gwY3lBOUlHRjNZV2wwSUZCeWIyMXBjMlV1WVd4c0tIUlFjbTl0YVhObGN5azdYRzRnSUNBZ0lDQWdJR052Ym5OMElHWjFiR3hUYVhwbElEMGdjbVZ6ZFd4MGN5NXlaV1IxWTJVb0tHRmpZeXdnZG1Gc0tTQTlQaUJoWTJNZ0t5QjJZV3d1WkdsemRHRnVZMlV1YkdWdVozUm9MQ0F3S1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWkdsemRHRnVZMlVnUFNCdVpYY2dSbXh2WVhRek1rRnljbUY1S0daMWJHeFRhWHBsS1R0Y2JpQWdJQ0FnSUNBZ2JHVjBJRzltWm5ObGRDQTlJREE3WEc0Z0lDQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2NtVnpJRzltSUhKbGMzVnNkSE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQmthWE4wWVc1alpTNXpaWFFvY21WekxtUnBjM1JoYm1ObExDQnZabVp6WlhRcE8xeHVJQ0FnSUNBZ0lDQWdJRzltWm5ObGRDQXJQU0J5WlhNdVpHbHpkR0Z1WTJVdWJHVnVaM1JvTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHUnBjM1JoYm1ObExuTnZjblFvS1R0Y2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHbHpkR0Z1WTJVN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ0lDQWdJSFJvY21WemFHOXNaRmR2Y210bGNuTS9MbVp2Y2tWaFkyZ29LSGNwSUQwK0lIYy9MblJsY20xcGJtRjBaU2dwS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjMjlzWlM1bGNuSnZjaWhsS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvTVNrdVptbHNiQ2d3TGpVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhCeWFYWmhkR1VnWVhONWJtTWdaMlYwVFdsdWFXMWhiRlJvY21WemFHOXNaRHhVUGloMllXeDFaWE02SUVGeWNtRjVQRlErTENCbWJrNWhiV1U2SUV0dWIzZHVUV1YwY21samN5d2diM0IwY3pvZ2UxdGZPaUJ6ZEhKcGJtZGRPaUJoYm5sOUlEMGdlMzBwSUh0Y2JpQWdJQ0FnSUM4dlYyVWdibVZsWkNCMGJ5QmpZV3hqZFd4aGRHVWdkR2hsSUcxcGJtbHRZV3dnZEdoeVpYTm9iMnhrSUdacGNuTjBMRnh1SUNBZ0lDQWdMeTlwYmlCdmNtUmxjaUIwYnlCblpYUWdiV0YwY21sNElITjFZMmdnZEdoaGRDQnBkQ0JrYjJWeklHNXZkQ0JsZUdObFpXUWdkR2hsSUcxaGVHbHRkVzBnYzJsNlpTQnZaaUF4UjBKY2JpQWdJQ0FnSUM4dmQyVWdhR0YyWlNBeklISmxkSFZ5YmlCaGNuSmhlWE1zSUdWaFkyZ2dOQ0JpYVhSbGN5QndaWElnWld4bGJXVnVkQ3dnYzI4Z2FXWWdkR2hsSUcxaGVHbHRkVzBnYzJsNlpTQnZaaUIwYUdVZ2JXRjBjbWw0SUdseklERkhRaXhjYmlBZ0lDQWdJR052Ym5OMElHMWhlRk53WVhKelpVMWhkSEpwZUZOcGVtVWdQU0EzTUY4d01EQmZNREF3TzF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JXRjBVMmw2WlNBOUlIWmhiSFZsY3k1c1pXNW5kR2dnS2lBb2RtRnNkV1Z6TG14bGJtZDBhQ0F0SURFcElDOGdNanRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaR2x6ZEdGdVkyVWdQU0JoZDJGcGRDQjBhR2x6TG1kbGRGTmhiWEJzWlVScGMzUmhibU5sY3loMllXeDFaWE1zSUdadVRtRnRaU3dnYjNCMGN5azdYRzRnSUNBZ0lDQWdJR052Ym5OMElHWnlZV04wYVc5dVNXNWtaWGdnUFNCTllYUm9MbVpzYjI5eUtHMWhlRk53WVhKelpVMWhkSEpwZUZOcGVtVWdMeUJ0WVhSVGFYcGxJQ29nWkdsemRHRnVZMlV1YkdWdVozUm9LVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkR2h5WlhOb2IyeGtJRDBnTVNBdElHUnBjM1JoYm1ObFcyWnlZV04wYVc5dVNXNWtaWGhkTzF4dUlDQWdJQ0FnSUNBdkx5QjBhSEpsYzJodmJHUWdQU0JOWVhSb0xtMWhlQ2gwYUhKbGMyaHZiR1FzSURBdU15azdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhSEpsYzJodmJHUTdYRzRnSUNBZ0lDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTnZiR1V1WlhKeWIzSW9aU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUF3TGpVN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJSE4wWVhScFl5QmpZV3hqVTNsdVl6eFVQaWhjYmlBZ0lDQWdJSFpoYkhWbGN6b2dRWEp5WVhrOFZENGdmQ0JCY25KaGVVeHBhMlU4VkQ0c0lHWnVUbUZ0WlRvZ1MyNXZkMjVOWlhSeWFXTnpMQ0JrYVhOMFlXNWpaVVp1T2lCR2RXNWpkR2x2Yml3Z2RHaHlaWE5vYjJ4a09pQnVkVzFpWlhKY2JpQWdJQ0FwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR2s2SUc1MWJXSmxjbHRkSUQwZ1cxMDdYRzRnSUNBZ0lDQmpiMjV6ZENCcU9pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQWdJQ0FnWTI5dWMzUWdaR2x6ZEdGdVkyVnpPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVJQ0FnSUNBZ2JHVjBJR051ZENBOUlEQTdYRzRnSUNBZ0lDQnNaWFFnYldrZ1BTQXdPMXh1SUNBZ0lDQWdiR1YwSUcxcUlEMGdNRHRjYmlBZ0lDQWdJR052Ym5OMElHWjFiR3hUYVhwbElEMGdkbUZzZFdWekxteGxibWQwYUNBcUlDaDJZV3gxWlhNdWJHVnVaM1JvSUMwZ01Ta2dMeUF5TzF4dUlDQWdJQ0FnZDJocGJHVWdLR051ZENBOElHWjFiR3hUYVhwbEtTQjdYRzRnSUNBZ0lDQWdJQzh2WTI5dWMzUWdkbUZzZFdVZ1BTQnpaWEV4VEdsemRGdHRhVjBnSmlZZ2MyVnhNVXhwYzNSYmJXcGRJRDhnYUdGdGJXbHVaeWh6WlhFeFRHbHpkRnR0YVYwc0lITmxjVEZNYVhOMFcyMXFYU2tnT2lBd08xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCMllXeDFaU0E5SUNGcGMwNXBiQ2gyWVd4MVpYTmJiV2xkS1NBbUppQWhhWE5PYVd3b2RtRnNkV1Z6VzIxcVhTa2dQMXh1SUNBZ0lDQWdJQ0FnSUdScGMzUmhibU5sUm00b2RtRnNkV1Z6VzIxcFhTd2dkbUZzZFdWelcyMXFYU2tnT2lBeE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCemFXMXBiR0Z5YVhSNUlEMWNiaUFnSUNBZ0lDQWdJQ0JQWW1wbFkzUXVkbUZzZFdWektFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpLUzV6YjIxbEtDaGhLU0E5UGlCaElEMDlQU0JtYms1aGJXVXBJRDhnWjJWMFUybHRhV3hoY21sMGVVWnliMjFFYVhOMFlXNWpaU2gyWVd4MVpTa2dPaUF4SUMwZ2RtRnNkV1U3WEc0Z0lDQWdJQ0FnSUdsbUlDaHphVzFwYkdGeWFYUjVJRDQ5SUhSb2NtVnphRzlzWkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2t1Y0hWemFDaHRhU2s3WEc0Z0lDQWdJQ0FnSUNBZ2FpNXdkWE5vS0cxcUtUdGNiaUFnSUNBZ0lDQWdJQ0JrYVhOMFlXNWpaWE11Y0hWemFDaDJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdZMjUwS3lzN1hHNGdJQ0FnSUNBZ0lHMXFLeXM3WEc0Z0lDQWdJQ0FnSUdsbUlDaHRhaUE5UFQwZ2RtRnNkV1Z6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHMXBLeXM3WEc0Z0lDQWdJQ0FnSUNBZ2JXb2dQU0J0YVNBcklERTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWTI5dWMzUWdhVUZ5Y21GNUlEMGdibVYzSUVsdWRETXlRWEp5WVhrb2FTazdYRzRnSUNBZ0lDQmpiMjV6ZENCcVFYSnlZWGtnUFNCdVpYY2dTVzUwTXpKQmNuSmhlU2hxS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJR1JwYzNSaGJtTmxRWEp5WVhrZ1BTQnVaWGNnUm14dllYUXpNa0Z5Y21GNUtHUnBjM1JoYm1ObGN5azdYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQjdhVG9nYVVGeWNtRjVMQ0JxT2lCcVFYSnlZWGtzSUdScGMzUmhibU5sT2lCa2FYTjBZVzVqWlVGeWNtRjVmVHRjYmlBZ0lDQjlYRzU5WEc0aVhYMD0iLCJpbXBvcnQgeyBWZWN0b3IgfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy90eXBlLWRlY2xhcmF0aW9ucyc7XG5pbXBvcnQgeyBUU05FIH0gZnJvbSAnQGtlY2tlbHQvdHNuZSc7XG5pbXBvcnQgeyBBdmFpbGFibGVNZXRyaWNzLCBNZWFzdXJlLCBpc0JpdEFycmF5TWV0cmljIH0gZnJvbSAnLi4vdHlwZWQtbWV0cmljcyc7XG5pbXBvcnQgeyBEaXN0YW5jZU1hdHJpeFNlcnZpY2UsIGRpc3RhbmNlTWF0cml4UHJveHkgfSBmcm9tICcuLi9kaXN0YW5jZS1tYXRyaXgnO1xuaW1wb3J0IHsgZ2V0QWdncmVnYXRpb25GdW5jdGlvbiB9IGZyb20gJy4uL2Rpc3RhbmNlLW1hdHJpeC91dGlscyc7XG5pbXBvcnQgeyBVTUFQIH0gZnJvbSAnLi4vdW1hcCc7XG5pbXBvcnQgeyBhc3NlcnQsIHRyYW5zcG9zZU1hdHJpeCB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3ZlY3Rvci1vcGVyYXRpb25zJztcbmltcG9ydCB7IFNwYXJzZU1hdHJpeFNlcnZpY2UgfSBmcm9tICcuLi9kaXN0YW5jZS1tYXRyaXgvc3BhcnNlLW1hdHJpeC1zZXJ2aWNlJztcbmltcG9ydCBCaXRBcnJheSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy9iaXQtYXJyYXknO1xuY2xhc3MgTXVsdGlDb2x1bW5SZWR1Y2VyIHtcbiAgICBkYXRhO1xuICAgIHdlaWdodHM7XG4gICAgYWdncmVnYXRpb25NZXRob2Q7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB0aGlzLmRhdGEgPSBvcHRpb25zLmRhdGE7XG4gICAgICAgIHRoaXMud2VpZ2h0cyA9IG9wdGlvbnMud2VpZ2h0cztcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbk1ldGhvZCA9IG9wdGlvbnMuYWdncmVnYXRpb25NZXRob2Q7XG4gICAgfVxufVxuY2xhc3MgTXVsdGlUU05FUmVkdWNlciBleHRlbmRzIE11bHRpQ29sdW1uUmVkdWNlciB7XG4gICAgcmVkdWNlcjtcbiAgICBpdGVyYXRpb25zO1xuICAgIGRpc3RhbmNlRm5hbWVzO1xuICAgIGRpc3RhbmNlRm5zO1xuICAgIGRpc3RhbmNlRm5BcmdzO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgVFNORVJlZHVjZXIuXG4gICAgICogQHBhcmFtIHtPcHRpb25zfSBvcHRpb25zIE9wdGlvbnMgdG8gcGFzcyB0byB0aGUgY29uc3RydWN0b3IuXG4gICAgICogQG1lbWJlcm9mIFRTTkVSZWR1Y2VyXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5yZWR1Y2VyID0gbmV3IFRTTkUob3B0aW9ucyk7XG4gICAgICAgIHRoaXMuaXRlcmF0aW9ucyA9IG9wdGlvbnM/Lml0ZXJhdGlvbnMgPz8gMTAwO1xuICAgICAgICB0aGlzLmRpc3RhbmNlRm5hbWVzID0gb3B0aW9ucy5kaXN0YW5jZUZuYW1lcztcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZucyA9IG9wdGlvbnMuZGlzdGFuY2VGbnM7XG4gICAgICAgIHRoaXMuZGlzdGFuY2VGbkFyZ3MgPSBvcHRpb25zLmRpc3RhbmNlRm5BcmdzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWJlZHMgdGhlIGRhdGEgZ2l2ZW4gaW50byB0aGUgdHdvLWRpbWVuc2lvbmFsIHNwYWNlIHVzaW5nIHQtU05FIG1ldGhvZC5cXFxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3BhcmFsbGVsRGlzdGFuY2VXb3JrZXJzXSBXaGV0aGVyIHRvIHVzZSBwYXJhbGxlbCBkaXN0YW5jZSB3b3JrZXJzLlxuICAgICAqIEByZXR1cm4ge2FueX0gQ2FydGVzaWFuIGNvb3JkaW5hdGUgb2YgdGhpcyBlbWJlZGRpbmcgYW5kIGRpc3RhbmNlIG1hdHJpeCB3aGVyZSBhcHBsaWNhYmxlLlxuICAgICAqL1xuICAgIGFzeW5jIHRyYW5zZm9ybSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YVswXS5sZW5ndGggPiAxMDAwMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTWF4aW11bSBudW1iZXIgb2Ygc2FtcGxlcyBmb3IgVC1TTkUgaXMgMTAwMDAnKTtcbiAgICAgICAgY29uc3QgbWF0cml4U2VydmljZSA9IG5ldyBEaXN0YW5jZU1hdHJpeFNlcnZpY2UodHJ1ZSwgZmFsc2UpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgYWdncmVnYXRlID0gZ2V0QWdncmVnYXRpb25GdW5jdGlvbih0aGlzLmFnZ3JlZ2F0aW9uTWV0aG9kLCB0aGlzLndlaWdodHMpO1xuICAgICAgICAgICAgY29uc3QgZGlzdGFuY2VzID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZGF0YS5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3QgPSBhd2FpdCBtYXRyaXhTZXJ2aWNlLmNhbGModGhpcy5kYXRhW2ldLCB0aGlzLmRpc3RhbmNlRm5hbWVzW2ldLCBmYWxzZSwgdGhpcy5kaXN0YW5jZUZuQXJnc1tpXSk7XG4gICAgICAgICAgICAgICAgZGlzdGFuY2VzLnB1c2goZGlzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IG5ldyBGbG9hdDMyQXJyYXkoZGlzdGFuY2VzWzBdLmxlbmd0aCkuZmlsbCgwKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlzdGFuY2VzWzBdLmxlbmd0aDsgKytpKVxuICAgICAgICAgICAgICAgIGRpc3RhbmNlW2ldID0gYWdncmVnYXRlKGRpc3RhbmNlcy5tYXAoKGQpID0+IGRbaV0pKTtcbiAgICAgICAgICAgIGNvbnN0IG1hdHJpeFByb3h5ID0gZGlzdGFuY2VNYXRyaXhQcm94eShkaXN0YW5jZSwgdGhpcy5kYXRhWzBdLmxlbmd0aCk7XG4gICAgICAgICAgICB0aGlzLnJlZHVjZXIuaW5pdERhdGFEaXN0KG1hdHJpeFByb3h5KTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVyYXRpb25zOyArK2kpXG4gICAgICAgICAgICAgICAgdGhpcy5yZWR1Y2VyLnN0ZXAoKTsgLy8gZXZlcnkgdGltZSB5b3UgY2FsbCB0aGlzLCBzb2x1dGlvbiBnZXRzIGJldHRlclxuICAgICAgICAgICAgbWF0cml4U2VydmljZS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlZHVjZXIuZ2V0U29sdXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgbWF0cml4U2VydmljZS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5jbGFzcyBNdWx0aVVNQVBSZWR1Y2VyIGV4dGVuZHMgTXVsdGlDb2x1bW5SZWR1Y2VyIHtcbiAgICByZWR1Y2VyO1xuICAgIGRpc3RhbmNlRm5hbWVzO1xuICAgIGRpc3RhbmNlRm5zO1xuICAgIHZlY3RvcnM7XG4gICAgcHJvZ3Jlc3NGdW5jO1xuICAgIGRpc3RhbmNlRm5BcmdzO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgVU1BUFJlZHVjZXIuXG4gICAgICogQHBhcmFtIHtPcHRpb25zfSBvcHRpb25zIE9wdGlvbnMgdG8gcGFzcyB0byB0aGUgY29uc3RydWN0b3IuXG4gICAgICogQG1lbWJlcm9mIFVNQVBSZWR1Y2VyXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgYXNzZXJ0KCdkaXN0YW5jZUZuYW1lcycgaW4gb3B0aW9ucyk7XG4gICAgICAgIGFzc2VydCgnZGlzdGFuY2VGbnMnIGluIG9wdGlvbnMpO1xuICAgICAgICB0aGlzLmRpc3RhbmNlRm5BcmdzID0gb3B0aW9ucy5kaXN0YW5jZUZuQXJncztcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZucyA9IG9wdGlvbnMuZGlzdGFuY2VGbnM7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NGdW5jID0gb3B0aW9ucy5wcm9ncmVzc0Z1bmM7XG4gICAgICAgIHRoaXMuZGlzdGFuY2VGbmFtZXMgPSBvcHRpb25zLmRpc3RhbmNlRm5hbWVzO1xuICAgICAgICAvL1VtYXAgdXNlcyB2ZWN0b3IgaW5kZXhpbmcsIHNvIHdlIG5lZWQgdG8gY3JlYXRlIGFuIGFycmF5IG9mIHZlY3RvcnMgYXMgaW5kZWNlcy5cbiAgICAgICAgdGhpcy52ZWN0b3JzID0gbmV3IEFycmF5KHRoaXMuZGF0YVswXS5sZW5ndGgpLmZpbGwoMCkubWFwKChfLCBpKSA9PiBpKTtcbiAgICAgICAgaWYgKHRoaXMuZGF0YVswXS5sZW5ndGggPCAxNSlcbiAgICAgICAgICAgIG9wdGlvbnMubk5laWdoYm9ycyA9IHRoaXMuZGF0YVswXS5sZW5ndGggLSAxO1xuICAgICAgICB0aGlzLnJlZHVjZXIgPSBuZXcgVU1BUChvcHRpb25zKTtcbiAgICAgICAgLy8gdGhpcy5yZWR1Y2VyLmRpc3RhbmNlRm4gPSB0aGlzLl9lbmNvZGVkRGlzdGFuY2UuYmluZCh0aGlzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRW1iZWRzIHRoZSBkYXRhIGdpdmVuIGludG8gdGhlIHR3by1kaW1lbnNpb25hbCBzcGFjZSB1c2luZyBVTUFQIG1ldGhvZC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtfcGFyYWxsZWxEaXN0YW5jZVdvcmtlcnNdIFdoZXRoZXIgdG8gdXNlIHBhcmFsbGVsIGRpc3RhbmNlIG1hdHJpeCB3b3JrZXJzLlxuICAgICAqIEByZXR1cm4ge2FueX0gQ2FydGVzaWFuIGNvb3JkaW5hdGUgb2YgdGhpcyBlbWJlZGRpbmcuXG4gICAgICovXG4gICAgYXN5bmMgdHJhbnNmb3JtKF9wYXJhbGxlbERpc3RhbmNlV29ya2Vycykge1xuICAgICAgICBjb25zb2xlLnRpbWUoJ2tubiBncmFwaCcpO1xuICAgICAgICBjb25zdCBrbm5SZXMgPSBhd2FpdCBuZXcgU3BhcnNlTWF0cml4U2VydmljZSgpXG4gICAgICAgICAgICAubXVsdGlDb2x1bW5LTk4odGhpcy5kYXRhLCB0aGlzLmRpc3RhbmNlRm5hbWVzLCB0aGlzLnJlZHVjZXIubmVpZ2hib3JzLCB0aGlzLmRpc3RhbmNlRm5BcmdzLCB0aGlzLndlaWdodHMsIHRoaXMuYWdncmVnYXRpb25NZXRob2QpO1xuICAgICAgICBjb25zb2xlLnRpbWVFbmQoJ2tubiBncmFwaCcpO1xuICAgICAgICB0aGlzLnJlZHVjZXIuc2V0UHJlY29tcHV0ZWRLTk4oa25uUmVzLmtubkluZGV4ZXMsIGtublJlcy5rbm5EaXN0YW5jZXMpO1xuICAgICAgICAvLyBuZWVkZWQgc28gdGhhdCBnYXJiYWdlIGNvbGxlY3RvciBjYW4gZnJlZSBtZW1vcnkgZnJvbSBkaXN0YW5jZSBtYXRyaXhcbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlbWJlZGRpbmcgPSBhd2FpdCB0aGlzLnJlZHVjZXIuZml0QXN5bmModGhpcy52ZWN0b3JzLCAoZXBvYykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NGdW5jKVxuICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3NGdW5jKGVwb2MsIHRoaXMucmVkdWNlci5nZXRORXBvY2hzKCksIHRoaXMucmVkdWNlci5nZXRFbWJlZGRpbmcoKSk7XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiBhcnJheUNhc3QyQ29vcmRpbmF0ZXMoZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcnJheShkYXRhLmxlbmd0aCkuZmlsbCgwKS5tYXAoKF8sIGkpID0+IChWZWN0b3IuZnJvbShkYXRhW2ldKSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcnJheUNhc3QyQ29vcmRpbmF0ZXMoZW1iZWRkaW5nKTtcbiAgICB9XG59XG5jb25zdCBBdmFpbGFibGVSZWR1Y2VycyA9IHtcbiAgICAnVU1BUCc6IE11bHRpVU1BUFJlZHVjZXIsXG4gICAgJ3QtU05FJzogTXVsdGlUU05FUmVkdWNlcixcbn07XG5leHBvcnQgY2xhc3MgTXVsdGlDb2xEaW1SZWR1Y2VyIHtcbiAgICByZWR1Y2VyO1xuICAgIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERpbWVuc2lvbmFsaXR5UmVkdWNlci5cbiAgICogQHBhcmFtIHthbnlbXX0gZGF0YSBWZWN0b3JzIHRvIGVtYmVkLlxuICAgKiBAcGFyYW0ge0tub3duTWV0aG9kc30gbWV0aG9kIEVtYmVkZGluZyBtZXRob2QgdG8gYmUgYXBwbGllZFxuICAgKiBAcGFyYW0ge0tub3duTWV0cmljc30gbWV0cmljIERpc3RhbmNlIG1ldHJpYyB0byBiZSBjb21wdXRlZCBiZXR3ZWVuIGVhY2ggb2YgdGhlIHZlY3RvcnMuXG4gICAqIEBwYXJhbSB7T3B0aW9uc30gW29wdGlvbnNdIE9wdGlvbnMgdG8gcGFzcyB0byB0aGUgaW1wbGVtZW50aW5nIGVtYmVkZGVycy5cbiAgICogQG1lbWJlcm9mIERpbWVuc2lvbmFsaXR5UmVkdWNlclxuICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhLCBtZXRob2QsIG1ldHJpY3MsIHdlaWdodHMsIGRpc3RhbmNlQWdncmVnYXRpb24sIG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgbWVhc3VyZXMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgbWV0cmljcy5sZW5ndGg7ICsraWR4KSB7XG4gICAgICAgICAgICBjb25zdCBtZWFzdXJlID0gbmV3IE1lYXN1cmUobWV0cmljc1tpZHhdKS5nZXRNZWFzdXJlKG9wdGlvbnMuZGlzdGFuY2VGbkFyZ3NbaWR4XSk7XG4gICAgICAgICAgICBtZWFzdXJlcy5wdXNoKG1lYXN1cmUpO1xuICAgICAgICAgICAgbGV0IGJpdEFycmF5TGVuZ3RoID0gMjA0ODtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpZHhdLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGFbaWR4XVtpXSAmJiBkYXRhW2lkeF1baV0uX2xlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBiaXRBcnJheUxlbmd0aCA9IGRhdGFbaWR4XVtpXS5fbGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNCaXRBcnJheU1ldHJpYyhtZXRyaWNzW2lkeF0pKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhW2lkeF0ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGFbaWR4XVtpXSAmJiBkYXRhW2lkeF1baV0uX2RhdGEpXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2lkeF1baV0gPSBuZXcgQml0QXJyYXkoZGF0YVtpZHhdW2ldLl9kYXRhLCBkYXRhW2lkeF1baV0uX2xlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbaWR4XVtpXSA9IG5ldyBCaXRBcnJheShiaXRBcnJheUxlbmd0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgPT0gJ1VNQVAnKSB7XG4gICAgICAgICAgICB0aGlzLnJlZHVjZXIgPSBuZXcgTXVsdGlVTUFQUmVkdWNlcih7XG4gICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuYW1lczogbWV0cmljcyxcbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuczogbWVhc3VyZXMsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VGbkFyZ3M6IG9wdGlvbnMuZGlzdGFuY2VGbkFyZ3MsXG4gICAgICAgICAgICAgICAgd2VpZ2h0czogd2VpZ2h0cyxcbiAgICAgICAgICAgICAgICBhZ2dyZWdhdGlvbk1ldGhvZDogZGlzdGFuY2VBZ2dyZWdhdGlvbixcbiAgICAgICAgICAgICAgICAuLi5vcHRpb25zXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtZXRob2QgPT0gJ3QtU05FJykge1xuICAgICAgICAgICAgdGhpcy5yZWR1Y2VyID0gbmV3IE11bHRpVFNORVJlZHVjZXIoe1xuICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VGbmFtZXM6IG1ldHJpY3MsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VGbnM6IG1lYXN1cmVzLFxuICAgICAgICAgICAgICAgIGRpc3RhbmNlRm5BcmdzOiBvcHRpb25zLmRpc3RhbmNlRm5BcmdzLFxuICAgICAgICAgICAgICAgIHdlaWdodHM6IHdlaWdodHMsXG4gICAgICAgICAgICAgICAgYWdncmVnYXRpb25NZXRob2Q6IGRpc3RhbmNlQWdncmVnYXRpb24sXG4gICAgICAgICAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAqIEVtYmVkcyB0aGUgZGF0YSBnaXZlbiBpbnRvIHRoZSB0d28tZGltZW5zaW9uYWwgc3BhY2UgdXNpbmcgdGhlIGNob3NlbiBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdHJhbnNwb3NlIFdoZXRoZXIgdG8gdHJhbnNmb3JtIGNvb3JkaW5hdGVzIHRvIGhhdmUgY29sdW1ucy1maXJzdCBvcmllbnRhdGlvbi5cbiAgICogQHBhcmFtIHtib29sZWFufSBwYXJhbGxlbERpc3RhbmNlV29ya2VycyBXaGV0aGVyIHRvIHVzZSBwYXJhbGxlbCBkaXN0YW5jZSBjb21wdXRhdGlvbi5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBlbWJlZGRpbmcgbWV0aG9kIHdhcyBub3QgZm91bmQuXG4gICAqIEByZXR1cm4ge2FueX0gQ2FydGVzaWFuIGNvb3JkaW5hdGUgb2YgdGhpcyBlbWJlZGRpbmcgYW5kIGRpc3RhbmNlIG1hdHJpeCB3aGVyZSBhcHBsaWNhYmxlLlxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIGFzeW5jIHRyYW5zZm9ybSh0cmFuc3Bvc2UgPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5yZWR1Y2VyID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlZHVjZXIgd2FzIG5vdCBkZWZpbmVkLicpO1xuICAgICAgICBsZXQgZW1iZWRkaW5nID0gYXdhaXQgdGhpcy5yZWR1Y2VyLnRyYW5zZm9ybSgpO1xuICAgICAgICBpZiAodHJhbnNwb3NlKVxuICAgICAgICAgICAgZW1iZWRkaW5nID0gdHJhbnNwb3NlTWF0cml4KGVtYmVkZGluZyk7XG4gICAgICAgIHJldHVybiBlbWJlZGRpbmc7XG4gICAgfVxuICAgIC8qKlxuICAgKiBSZXR1cm5zIG1ldHJpY3MgYXZhaWxhYmxlIGJ5IHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSB7QXZhaWxhYmxlRGF0YVR5cGVzfSB0eXBlTmFtZSB0eXBlIG5hbWVcbiAgICogQHJldHVybiB7c3RyaW5nW119IE1ldHJpYyBuYW1lcyB3aGljaCBleHBlY3RzIHRoZSBnaXZlbiBkYXRhIHR5cGVcbiAgICogQG1lbWJlcm9mIERpbWVuc2lvbmFsaXR5UmVkdWNlclxuICAgKi9cbiAgICBzdGF0aWMgYXZhaWxhYmxlTWV0cmljc0J5VHlwZSh0eXBlTmFtZSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljc1t0eXBlTmFtZV0pO1xuICAgIH1cbiAgICAvKipcbiAgICogUmV0dXJucyBkaW1lbnNpb25hbGl0eSByZWR1Y3Rpb24gbWV0aG9kcyBhdmFpbGFibGUuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIHN0YXRpYyBnZXQgYXZhaWxhYmxlTWV0aG9kcygpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZVJlZHVjZXJzKTtcbiAgICB9XG4gICAgLyoqXG4gICAqIFJldHVybnMgbWV0cmljcyBhdmFpbGFibGUuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIHN0YXRpYyBnZXQgYXZhaWxhYmxlTWV0cmljcygpIHtcbiAgICAgICAgbGV0IGFucyA9IFtdO1xuICAgICAgICBPYmplY3QudmFsdWVzKEF2YWlsYWJsZU1ldHJpY3MpLmZvckVhY2goKG9iaikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXJyYXkgPSBPYmplY3QudmFsdWVzKG9iaik7XG4gICAgICAgICAgICBhbnMgPSBbLi4uYW5zLCAuLi5hcnJheV07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYW5zO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJYVnNkR2t0WTI5c2RXMXVMV1JwYlMxeVpXUjFZMlZ5TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2liWFZzZEdrdFkyOXNkVzF1TFdScGJTMXlaV1IxWTJWeUxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNSVUZCSzBNc1RVRkJUU3hGUVVGVkxFMUJReTlFTEdsRVFVRnBSQ3hEUVVGRE8wRkJRM3BFTEU5QlFVOHNSVUZCUXl4SlFVRkpMRVZCUVVNc1RVRkJUU3hsUVVGbExFTkJRVU03UVVGRGJrTXNUMEZCVHl4RlFVRnhRaXhuUWtGQlowSXNSVUZCWjBJc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkRMRTFCUVUwc2EwSkJRV3RDTEVOQlFVTTdRVUZETDBjc1QwRkJUeXhGUVVGRExIRkNRVUZ4UWl4RlFVRkZMRzFDUVVGdFFpeEZRVUZETEUxQlFVMHNiMEpCUVc5Q0xFTkJRVU03UVVGRE9VVXNUMEZCVHl4RlFVRkRMSE5DUVVGelFpeEZRVUZETEUxQlFVMHNNRUpCUVRCQ0xFTkJRVU03UVVGRmFFVXNUMEZCVHl4RlFVRkRMRWxCUVVrc1JVRkJReXhOUVVGTkxGTkJRVk1zUTBGQlF6dEJRVU0zUWl4UFFVRlBMRVZCUVVNc1RVRkJUU3hGUVVGRkxHVkJRV1VzUlVGQlF5eE5RVUZOTEdsRVFVRnBSQ3hEUVVGRE8wRkJRM2hHTEU5QlFVOHNSVUZCUXl4dFFrRkJiVUlzUlVGQlF5eE5RVUZOTERCRFFVRXdReXhEUVVGRE8wRkJSVGRGTEU5QlFVOHNVVUZCVVN4TlFVRk5MSGxEUVVGNVF5eERRVUZETzBGQk1rSXZSQ3hOUVVGbExHdENRVUZyUWp0SlFVTnVRaXhKUVVGSkxFTkJRVms3U1VGRGFFSXNUMEZCVHl4RFFVRlhPMGxCUTJ4Q0xHbENRVUZwUWl4RFFVRTBRanRKUVVOMlJDeFpRVUZaTEU5QlFXZENPMUZCUXpGQ0xFbEJRVWtzUTBGQlF5eEpRVUZKTEVkQlFVY3NUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJRenRSUVVONlFpeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU03VVVGREwwSXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEhRVUZITEU5QlFVOHNRMEZCUXl4cFFrRkJhVUlzUTBGQlF6dEpRVU55UkN4RFFVRkRPME5CUzBvN1FVRkZSQ3hOUVVGTkxHZENRVUZwUWl4VFFVRlJMR3RDUVVGclFqdEpRVU51UXl4UFFVRlBMRU5CUVU4N1NVRkRaQ3hWUVVGVkxFTkJRVk03U1VGRGJrSXNZMEZCWXl4RFFVRnBRanRKUVVNdlFpeFhRVUZYTEVOQlFXbERPMGxCUXpWRExHTkJRV01zUTBGQmRVSTdTVUZGTDBNN096czdUMEZKUnp0SlFVTklMRmxCUVZrc1QwRkJaMEk3VVVGRE1VSXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRMllzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU5xUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hIUVVGSExFOUJRVThzUlVGQlJTeFZRVUZWTEVsQlFVa3NSMEZCUnl4RFFVRkRPMUZCUXpkRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NUMEZCVHl4RFFVRkRMR05CUVdNc1EwRkJRenRSUVVNM1F5eEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRTlCUVU4c1EwRkJReXhYUVVGWExFTkJRVU03VVVGRGRrTXNTVUZCU1N4RFFVRkRMR05CUVdNc1IwRkJSeXhQUVVGUExFTkJRVU1zWTBGQll5eERRVUZETzBsQlF5OURMRU5CUVVNN1NVRkZSRHM3T3p0UFFVbEhPMGxCUTBrc1MwRkJTeXhEUVVGRExGTkJRVk03VVVGRGNFSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSMEZCUnl4TFFVRkxPMWxCUXpkQ0xFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNPRU5CUVRoRExFTkJRVU1zUTBGQlF6dFJRVU5zUlN4TlFVRk5MR0ZCUVdFc1IwRkJSeXhKUVVGSkxIRkNRVUZ4UWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU0zUkN4SlFVRkpPMWxCUTBZc1RVRkJUU3hUUVVGVExFZEJRVWNzYzBKQlFYTkNMRU5CUVVNc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RlFVRkZMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFpRVU12UlN4TlFVRk5MRk5CUVZNc1IwRkJkMElzUlVGQlJTeERRVUZETzFsQlF6RkRMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0blFrRkRla01zVFVGQlRTeEpRVUZKTEVkQlFVY3NUVUZCVFN4aFFVRmhMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVNelJ5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8yRkJRM1JDTzFsQlEwUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJTU3haUVVGWkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTXZSQ3hMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1owSkJRekZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU1zVTBGQlV5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOMFJDeE5RVUZOTEZkQlFWY3NSMEZCUnl4dFFrRkJiVUlzUTBGQlF5eFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0WlFVTjJSU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZsQlFWa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenRaUVVWMlF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRU5CUVVNN1owSkJRM1JETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF5eHBSRUZCYVVRN1dVRkRlRVVzWVVGQllTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMWxCUXpGQ0xFOUJRVThzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJRenRUUVVOdVF6dFJRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZPMWxCUTFZc1lVRkJZU3hEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzFsQlF6RkNMRTFCUVUwc1EwRkJReXhEUVVGRE8xTkJRMVE3U1VGRFNDeERRVUZETzBOQlEwbzdRVUZGUkN4TlFVRk5MR2RDUVVGcFFpeFRRVUZSTEd0Q1FVRnJRanRKUVVOdVF5eFBRVUZQTEVOQlFVODdTVUZEWkN4alFVRmpMRU5CUVdsQ08wbEJReTlDTEZkQlFWY3NRMEZCWVR0SlFVTjRRaXhQUVVGUExFTkJRVmM3U1VGRGJFSXNXVUZCV1N4RFFVRjNSVHRKUVVOd1JpeGpRVUZqTEVOQlFYVkNPMGxCUXk5RE96czdPMDlCU1VjN1NVRkRTQ3haUVVGWkxFOUJRV2RDTzFGQlF6RkNMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU5tTEUxQlFVMHNRMEZCUXl4blFrRkJaMElzU1VGQlNTeFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTndReXhOUVVGTkxFTkJRVU1zWVVGQllTeEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTJwRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NUMEZCVHl4RFFVRkRMR05CUVdNc1EwRkJRenRSUVVNM1F5eEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRTlCUVU4c1EwRkJReXhYUVVGWkxFTkJRVU03VVVGRGVFTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhQUVVGUExFTkJRVU1zV1VGQldTeERRVUZETzFGQlJYcERMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzVDBGQlR5eERRVUZETEdOQlFXVXNRMEZCUXp0UlFVTTVReXhwUmtGQmFVWTdVVUZEYWtZc1NVRkJTU3hEUVVGRExFOUJRVThzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVjJSU3hKUVVGSkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hIUVVGSExFVkJRVVU3V1VGRE1VSXNUMEZCVHl4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGREwwTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTnFReXc0UkVGQk9FUTdTVUZEYUVVc1EwRkJRenRKUVVWRU96czdPMDlCU1VjN1NVRkRTU3hMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEhkQ1FVRnJRenRSUVVOMlJDeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE8xRkJRekZDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRTFCUVUwc1NVRkJTU3h0UWtGQmJVSXNSVUZCUlR0aFFVTXpReXhqUVVGakxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNVMEZCVXl4RlFVTndSU3hKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRU5CUVVNN1VVRkRMMFFzVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenRSUVVNM1FpeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMR2xDUVVGcFFpeERRVUZETEUxQlFVMHNRMEZCUXl4VlFVRlZMRVZCUVVVc1RVRkJUU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlJYWkZMSGRGUVVGM1JUdFJRVU40UlN4TlFVRk5MRWxCUVVrc1QwRkJUeXhEUVVGUExFTkJRVU1zVDBGQlR5eEZRVUZGTEVWQlFVVTdXVUZEYkVNc1ZVRkJWU3hEUVVGRExFZEJRVWNzUlVGQlJUdG5Ra0ZEWkN4UFFVRlBMRVZCUVVVc1EwRkJRenRaUVVOYUxFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTldMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJSVWdzVFVGQlRTeFRRVUZUTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVU3V1VGRGJrVXNTVUZCU1N4SlFVRkpMRU5CUVVNc1dVRkJXVHRuUWtGRGJrSXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4VlFVRlZMRVZCUVVVc1JVRkJSU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRjRVlzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZGU0N4VFFVRlRMSEZDUVVGeFFpeERRVUZETEVsQlFXZENPMWxCUXpkRExFOUJRVThzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRemxGTEVOQlFVTTdVVUZGUkN4UFFVRlBMSEZDUVVGeFFpeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMGxCUXpGRExFTkJRVU03UTBGRFNqdEJRVVZFTEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWM3U1VGRGVFSXNUVUZCVFN4RlFVRkZMR2RDUVVGblFqdEpRVU40UWl4UFFVRlBMRVZCUVVVc1owSkJRV2RDTzBOQlF6RkNMRU5CUVVNN1FVRkpSaXhOUVVGTkxFOUJRVThzYTBKQlFXdENPMGxCUTI1Q0xFOUJRVThzUTBGQmFVTTdTVUZEYUVRN096czdPenM3UzBGUFF6dEpRVU5FTEZsQlFWa3NTVUZCYTBJc1JVRkJSU3hOUVVFeVFpeEZRVUZGTEU5QlFYVkNMRVZCUTJ4R0xFOUJRV2xDTEVWQlFVVXNiVUpCUVRoRExFVkJRVVVzVDBGQlowSTdVVUZEYmtZc1RVRkJUU3hSUVVGUkxFZEJRWEZDTEVWQlFVVXNRMEZCUXp0UlFVTjBReXhMUVVGTExFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTXNSVUZCUlN4SFFVRkhMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVkQlFVY3NSVUZCUlR0WlFVTTNReXhOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNUMEZCVHl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEyeEdMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdXVUZEZGtJc1NVRkJTU3hqUVVGakxFZEJRVWNzU1VGQlNTeERRVUZETzFsQlF6RkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZPMmRDUVVONlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTzI5Q1FVTjRReXhqUVVGakxFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF6dHZRa0ZEZEVNc1RVRkJUVHRwUWtGRFVEdGhRVU5HTzFsQlEwUXNTVUZCU1N4blFrRkJaMElzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkJSVHRuUWtGRGJFTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVTdiMEpCUTNwRExFbEJRVWtzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhMUVVGTE8zZENRVU53UXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03TzNkQ1FVVjBSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1NVRkJTU3hSUVVGUkxFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTTdhVUpCUXk5RE8yRkJRMFk3VTBGRFJqdFJRVVZFTEVsQlFVa3NUVUZCVFN4SlFVRkpMRTFCUVUwc1JVRkJSVHRaUVVOd1FpeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRWxCUVVrc1owSkJRV2RDTEVOQlFVTTdaMEpCUTJ4RExFbEJRVWtzUlVGQlJTeEpRVUZKTzJkQ1FVTldMR05CUVdNc1JVRkJSU3hQUVVGUE8yZENRVU4yUWl4WFFVRlhMRVZCUVVVc1VVRkJVVHRuUWtGRGNrSXNZMEZCWXl4RlFVRkZMRTlCUVU4c1EwRkJReXhqUVVGak8yZENRVU4wUXl4UFFVRlBMRVZCUVVVc1QwRkJUenRuUWtGRGFFSXNhVUpCUVdsQ0xFVkJRVVVzYlVKQlFXMUNPMmRDUVVOMFF5eEhRVUZITEU5QlFVODdZVUZEV0N4RFFVRkRMRU5CUVVNN1UwRkRTanRoUVVGTkxFbEJRVWtzVFVGQlRTeEpRVUZKTEU5QlFVOHNSVUZCUlR0WlFVTTFRaXhKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NaMEpCUVdkQ0xFTkJRVU03WjBKQlEyeERMRWxCUVVrc1JVRkJSU3hKUVVGSk8yZENRVU5XTEdOQlFXTXNSVUZCUlN4UFFVRlBPMmRDUVVOMlFpeFhRVUZYTEVWQlFVVXNVVUZCVVR0blFrRkRja0lzWTBGQll5eEZRVUZGTEU5QlFVOHNRMEZCUXl4alFVRmpPMmRDUVVOMFF5eFBRVUZQTEVWQlFVVXNUMEZCVHp0blFrRkRhRUlzYVVKQlFXbENMRVZCUVVVc2JVSkJRVzFDTzJkQ1FVTjBReXhIUVVGSExFOUJRVTg3WVVGRFdDeERRVUZETEVOQlFVTTdVMEZEU2p0SlFVTklMRU5CUVVNN1NVRkZSRHM3T3pzN096czdTMEZSUXp0SlFVTk5MRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zV1VGQmNVSXNTMEZCU3p0UlFVTXZReXhKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEV0QlFVc3NVMEZCVXp0WlFVTTFRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERCQ1FVRXdRaXhEUVVGRExFTkJRVU03VVVGRk9VTXNTVUZCU1N4VFFVRlRMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMUZCUlM5RExFbEJRVWtzVTBGQlV6dFpRVU5ZTEZOQlFWTXNSMEZCUnl4bFFVRmxMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03VVVGRmVrTXNUMEZCVHl4VFFVRlRMRU5CUVVNN1NVRkRia0lzUTBGQlF6dEpRVVZFT3pzN096czdTMEZOUXp0SlFVTkVMRTFCUVUwc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4UlFVRTBRanRSUVVONFJDeFBRVUZQTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOcVJDeERRVUZETzBsQlJVUTdPenM3TzB0QlMwTTdTVUZEUkN4TlFVRk5MRXRCUVVzc1owSkJRV2RDTzFGQlEzcENMRTlCUVU4c1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhEUVVGRE8wbEJRM2hETEVOQlFVTTdTVUZGUkRzN096czdTMEZMUXp0SlFVTkVMRTFCUVUwc1MwRkJTeXhuUWtGQlowSTdVVUZEZWtJc1NVRkJTU3hIUVVGSExFZEJRV0VzUlVGQlJTeERRVUZETzFGQlEzWkNMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlR0WlFVTTVReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMnBETEVkQlFVY3NSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhGUVVGRkxFZEJRVWNzUzBGQlN5eERRVUZETEVOQlFVTTdVVUZETTBJc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRFNDeFBRVUZQTEVkQlFVY3NRMEZCUXp0SlFVTmlMRU5CUVVNN1EwRkRTaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3UTI5dmNtUnBibUYwWlhNc0lFUnBjM1JoYm1ObFRXVjBjbWxqTENCTllYUnlhWGdzSUU5d2RHbHZibk1zSUZabFkzUnZjaXdnVm1WamRHOXljMzFjYmlBZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmRIbHdaUzFrWldOc1lYSmhkR2x2Ym5Nbk8xeHVhVzF3YjNKMElIdFVVMDVGZlNCbWNtOXRJQ2RBYTJWamEyVnNkQzkwYzI1bEp6dGNibWx0Y0c5eWRDQjdRWFpoYVd4aFlteGxSR0YwWVZSNWNHVnpMQ0JCZG1GcGJHRmliR1ZOWlhSeWFXTnpMQ0JMYm05M2JrMWxkSEpwWTNNc0lFMWxZWE4xY21Vc0lHbHpRbWwwUVhKeVlYbE5aWFJ5YVdOOUlHWnliMjBnSnk0dUwzUjVjR1ZrTFcxbGRISnBZM01uTzF4dWFXMXdiM0owSUh0RWFYTjBZVzVqWlUxaGRISnBlRk5sY25acFkyVXNJR1JwYzNSaGJtTmxUV0YwY21sNFVISnZlSGw5SUdaeWIyMGdKeTR1TDJScGMzUmhibU5sTFcxaGRISnBlQ2M3WEc1cGJYQnZjblFnZTJkbGRFRm5aM0psWjJGMGFXOXVSblZ1WTNScGIyNTlJR1p5YjIwZ0p5NHVMMlJwYzNSaGJtTmxMVzFoZEhKcGVDOTFkR2xzY3ljN1hHNXBiWEJ2Y25RZ2UwUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNU5aWFJvYjJSOUlHWnliMjBnSnk0dUwyUnBjM1JoYm1ObExXMWhkSEpwZUM5MGVYQmxjeWM3WEc1cGJYQnZjblFnZTFWTlFWQjlJR1p5YjIwZ0p5NHVMM1Z0WVhBbk8xeHVhVzF3YjNKMElIdGhjM05sY25Rc0lIUnlZVzV6Y0c5elpVMWhkSEpwZUgwZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmRtVmpkRzl5TFc5d1pYSmhkR2x2Ym5Nbk8xeHVhVzF3YjNKMElIdFRjR0Z5YzJWTllYUnlhWGhUWlhKMmFXTmxmU0JtY205dElDY3VMaTlrYVhOMFlXNWpaUzF0WVhSeWFYZ3ZjM0JoY25ObExXMWhkSEpwZUMxelpYSjJhV05sSnp0Y2JtbHRjRzl5ZENCN1JHbHRVbVZrZFdOMGFXOXVUV1YwYUc5a2MzMGdabkp2YlNBbkxpOTBlWEJsY3ljN1hHNXBiWEJ2Y25RZ1FtbDBRWEp5WVhrZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdlltbDBMV0Z5Y21GNUp6dGNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTVlZOUVZCUGNIUnBiMjV6SUh0Y2JpQWdJQ0JzWldGeWJtbHVaMUpoZEdVL09pQnVkVzFpWlhJN1hHNGdJQ0FnYmtOdmJYQnZibVZ1ZEhNL09pQnVkVzFpWlhJN1hHNGdJQ0FnYmtWd2IyTm9jejg2SUc1MWJXSmxjanRjYmlBZ0lDQnVUbVZwWjJoaWIzSnpQem9nYm5WdFltVnlPMXh1SUNBZ0lITndjbVZoWkQ4NklHNTFiV0psY2p0Y2JpQWdJQ0J0YVc1RWFYTjBQem9nYm5WdFltVnlPMXh1SUNBZ0lIQnliMmR5WlhOelJuVnVZejg2SUNobGNHOWpPaUJ1ZFcxaVpYSXNJR1Z3YjJOb2MweGxibWQwYURvZ2JuVnRZbVZ5TENCbGJXSmxaR1JwYm1kek9pQnVkVzFpWlhKYlhWdGRLU0E5UGlCMmIybGtPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFbFVVMDVGVDNCMGFXOXVjeUI3WEc0Z0lDQWdaWEJ6YVd4dmJqODZJRzUxYldKbGNqdGNiaUFnSUNCd1pYSndiR1Y0YVhSNVB6b2diblZ0WW1WeU8xeHVJQ0FnSUdScGJUODZJRzUxYldKbGNqdGNibjFjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCSlJHbHRVbVZrZFdOMGFXOXVVR0Z5WVcwZ2UxeHVJQ0FnSUhWcFRtRnRaVG9nYzNSeWFXNW5PMXh1SUNBZ0lIWmhiSFZsT2lCdWRXMWlaWElnZkNCdWRXeHNPMXh1SUNBZ0lIUnZiMngwYVhBNklITjBjbWx1Wnp0Y2JpQWdJQ0J3YkdGalpXaHZiR1JsY2o4NklITjBjbWx1Wnp0Y2JpQWdJQ0J0YVc0L09pQnVkVzFpWlhJN1hHNGdJQ0FnYldGNFB6b2diblZ0WW1WeU8xeHVJQ0FnSUhOMFpYQS9PaUJ1ZFcxaVpYSTdYRzU5WEc1Y2JtRmljM1J5WVdOMElHTnNZWE56SUUxMWJIUnBRMjlzZFcxdVVtVmtkV05sY2lCN1hHNGdJQ0FnY0hKdmRHVmpkR1ZrSUdSaGRHRTZJRlpsWTNSdmNuTmJYVHRjYmlBZ0lDQndjbTkwWldOMFpXUWdkMlZwWjJoMGN6b2diblZ0WW1WeVcxMDdYRzRnSUNBZ2NISnZkR1ZqZEdWa0lHRm5aM0psWjJGMGFXOXVUV1YwYUc5a09pQkVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a08xeHVJQ0FnSUdOdmJuTjBjblZqZEc5eUtHOXdkR2x2Ym5NNklFOXdkR2x2Ym5NcElIdGNiaUFnSUNBZ0lIUm9hWE11WkdGMFlTQTlJRzl3ZEdsdmJuTXVaR0YwWVR0Y2JpQWdJQ0FnSUhSb2FYTXVkMlZwWjJoMGN5QTlJRzl3ZEdsdmJuTXVkMlZwWjJoMGN6dGNiaUFnSUNBZ0lIUm9hWE11WVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFnUFNCdmNIUnBiMjV6TG1GblozSmxaMkYwYVc5dVRXVjBhRzlrTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRmJXSmxaSE1nZEdobElHUmhkR0VnWjJsMlpXNGdhVzUwYnlCMGFHVWdkSGR2TFdScGJXVnVjMmx2Ym1Gc0lITndZV05sTGx4dUlDQWdJQ0FxSUVCeVpYUjFjbTRnZTJGdWVYMGdRMkZ5ZEdWemFXRnVJR052YjNKa2FXNWhkR1VnYjJZZ2RHaHBjeUJsYldKbFpHUnBibWNnWVc1a0lHUnBjM1JoYm1ObElHMWhkSEpwZUNCM2FHVnlaU0JoY0hCc2FXTmhZbXhsTGlBcUwxeHVJQ0FnSUdGaWMzUnlZV04wSUhSeVlXNXpabTl5YlNncE9pQlFjbTl0YVhObFBFMWhkSEpwZUQ0N1hHNTlYRzVjYm1Oc1lYTnpJRTExYkhScFZGTk9SVkpsWkhWalpYSWdaWGgwWlc1a2N5Qk5kV3gwYVVOdmJIVnRibEpsWkhWalpYSWdlMXh1SUNBZ0lIQnliM1JsWTNSbFpDQnlaV1IxWTJWeU9pQlVVMDVGTzF4dUlDQWdJSEJ5YjNSbFkzUmxaQ0JwZEdWeVlYUnBiMjV6T2lCdWRXMWlaWEk3WEc0Z0lDQWdjSEp2ZEdWamRHVmtJR1JwYzNSaGJtTmxSbTVoYldWek9pQkxibTkzYmsxbGRISnBZM05iWFR0Y2JpQWdJQ0J3Y205MFpXTjBaV1FnWkdsemRHRnVZMlZHYm5NNklDZ29ZVG9nWVc1NUxDQmlPaUJoYm5rcElEMCtJRzUxYldKbGNpbGJYVHRjYmlBZ0lDQndjbTkwWldOMFpXUWdaR2x6ZEdGdVkyVkdia0Z5WjNNNklIdGJYem9nYzNSeWFXNW5YVG9nWVc1NWZWdGRPMXh1WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUTNKbFlYUmxjeUJoYmlCcGJuTjBZVzVqWlNCdlppQlVVMDVGVW1Wa2RXTmxjaTVjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMDl3ZEdsdmJuTjlJRzl3ZEdsdmJuTWdUM0IwYVc5dWN5QjBieUJ3WVhOeklIUnZJSFJvWlNCamIyNXpkSEoxWTNSdmNpNWNiaUFnSUNBZ0tpQkFiV1Z0WW1WeWIyWWdWRk5PUlZKbFpIVmpaWEpjYmlBZ0lDQWdLaTljYmlBZ0lDQmpiMjV6ZEhKMVkzUnZjaWh2Y0hScGIyNXpPaUJQY0hScGIyNXpLU0I3WEc0Z0lDQWdJQ0J6ZFhCbGNpaHZjSFJwYjI1ektUdGNiaUFnSUNBZ0lIUm9hWE11Y21Wa2RXTmxjaUE5SUc1bGR5QlVVMDVGS0c5d2RHbHZibk1wTzF4dUlDQWdJQ0FnZEdocGN5NXBkR1Z5WVhScGIyNXpJRDBnYjNCMGFXOXVjejh1YVhSbGNtRjBhVzl1Y3lBL1B5QXhNREE3WEc0Z0lDQWdJQ0IwYUdsekxtUnBjM1JoYm1ObFJtNWhiV1Z6SUQwZ2IzQjBhVzl1Y3k1a2FYTjBZVzVqWlVadVlXMWxjenRjYmlBZ0lDQWdJSFJvYVhNdVpHbHpkR0Z1WTJWR2JuTWdQU0J2Y0hScGIyNXpMbVJwYzNSaGJtTmxSbTV6TzF4dUlDQWdJQ0FnZEdocGN5NWthWE4wWVc1alpVWnVRWEpuY3lBOUlHOXdkR2x2Ym5NdVpHbHpkR0Z1WTJWR2JrRnlaM003WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUlcxaVpXUnpJSFJvWlNCa1lYUmhJR2RwZG1WdUlHbHVkRzhnZEdobElIUjNieTFrYVcxbGJuTnBiMjVoYkNCemNHRmpaU0IxYzJsdVp5QjBMVk5PUlNCdFpYUm9iMlF1WEZ4Y2JpQWdJQ0FnS2lCQWNHRnlZVzBnZTJKdmIyeGxZVzU5SUZ0d1lYSmhiR3hsYkVScGMzUmhibU5sVjI5eWEyVnljMTBnVjJobGRHaGxjaUIwYnlCMWMyVWdjR0Z5WVd4c1pXd2daR2x6ZEdGdVkyVWdkMjl5YTJWeWN5NWNiaUFnSUNBZ0tpQkFjbVYwZFhKdUlIdGhibmw5SUVOaGNuUmxjMmxoYmlCamIyOXlaR2x1WVhSbElHOW1JSFJvYVhNZ1pXMWlaV1JrYVc1bklHRnVaQ0JrYVhOMFlXNWpaU0J0WVhSeWFYZ2dkMmhsY21VZ1lYQndiR2xqWVdKc1pTNWNiaUFnSUNBZ0tpOWNiaUFnSUNCd2RXSnNhV01nWVhONWJtTWdkSEpoYm5ObWIzSnRLQ2s2SUZCeWIyMXBjMlU4VFdGMGNtbDRQaUI3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVrWVhSaFd6QmRMbXhsYm1kMGFDQStJREV3TURBd0tWeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0owMWhlR2x0ZFcwZ2JuVnRZbVZ5SUc5bUlITmhiWEJzWlhNZ1ptOXlJRlF0VTA1RklHbHpJREV3TURBd0p5azdYRzRnSUNBZ0lDQmpiMjV6ZENCdFlYUnlhWGhUWlhKMmFXTmxJRDBnYm1WM0lFUnBjM1JoYm1ObFRXRjBjbWw0VTJWeWRtbGpaU2gwY25WbExDQm1ZV3h6WlNrN1hHNGdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmhaMmR5WldkaGRHVWdQU0JuWlhSQloyZHlaV2RoZEdsdmJrWjFibU4wYVc5dUtIUm9hWE11WVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFzSUhSb2FYTXVkMlZwWjJoMGN5azdYRzRnSUNBZ0lDQWdJR052Ym5OMElHUnBjM1JoYm1ObGN6b2dRWEp5WVhrOFJteHZZWFF6TWtGeWNtRjVQaUE5SUZ0ZE8xeHVJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJSFJvYVhNdVpHRjBZUzVzWlc1bmRHZzdJQ3NyYVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHUnBjM1FnUFNCaGQyRnBkQ0J0WVhSeWFYaFRaWEoyYVdObExtTmhiR01vZEdocGN5NWtZWFJoVzJsZExDQjBhR2x6TG1ScGMzUmhibU5sUm01aGJXVnpXMmxkTENCbVlXeHpaU3dnZEdocGN5NWthWE4wWVc1alpVWnVRWEpuYzF0cFhTazdYRzRnSUNBZ0lDQWdJQ0FnWkdsemRHRnVZMlZ6TG5CMWMyZ29aR2x6ZENrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pHbHpkR0Z1WTJVZ1BTQnVaWGNnUm14dllYUXpNa0Z5Y21GNUtHUnBjM1JoYm1ObGMxc3dYUzVzWlc1bmRHZ3BMbVpwYkd3b01DazdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnWkdsemRHRnVZMlZ6V3pCZExteGxibWQwYURzZ0t5dHBLVnh1SUNBZ0lDQWdJQ0FnSUdScGMzUmhibU5sVzJsZElEMGdZV2RuY21WbllYUmxLR1JwYzNSaGJtTmxjeTV0WVhBb0tHUXBJRDArSUdSYmFWMHBLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdiV0YwY21sNFVISnZlSGtnUFNCa2FYTjBZVzVqWlUxaGRISnBlRkJ5YjNoNUtHUnBjM1JoYm1ObExDQjBhR2x6TG1SaGRHRmJNRjB1YkdWdVozUm9LVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXlaV1IxWTJWeUxtbHVhWFJFWVhSaFJHbHpkQ2h0WVhSeWFYaFFjbTk0ZVNrN1hHNWNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IwYUdsekxtbDBaWEpoZEdsdmJuTTdJQ3NyYVNsY2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG5KbFpIVmpaWEl1YzNSbGNDZ3BPeUF2THlCbGRtVnllU0IwYVcxbElIbHZkU0JqWVd4c0lIUm9hWE1zSUhOdmJIVjBhVzl1SUdkbGRITWdZbVYwZEdWeVhHNGdJQ0FnSUNBZ0lHMWhkSEpwZUZObGNuWnBZMlV1ZEdWeWJXbHVZWFJsS0NrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkhWalpYSXVaMlYwVTI5c2RYUnBiMjRvS1R0Y2JpQWdJQ0FnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNBZ0lDQWdiV0YwY21sNFUyVnlkbWxqWlM1MFpYSnRhVzVoZEdVb0tUdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ1pUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNTlYRzVjYm1Oc1lYTnpJRTExYkhScFZVMUJVRkpsWkhWalpYSWdaWGgwWlc1a2N5Qk5kV3gwYVVOdmJIVnRibEpsWkhWalpYSWdlMXh1SUNBZ0lIQnliM1JsWTNSbFpDQnlaV1IxWTJWeU9pQlZUVUZRTzF4dUlDQWdJSEJ5YjNSbFkzUmxaQ0JrYVhOMFlXNWpaVVp1WVcxbGN6b2dTMjV2ZDI1TlpYUnlhV056VzEwN1hHNGdJQ0FnY0hKdmRHVmpkR1ZrSUdScGMzUmhibU5sUm01ek9pQkdkVzVqZEdsdmJsdGRPMXh1SUNBZ0lIQnliM1JsWTNSbFpDQjJaV04wYjNKek9pQnVkVzFpWlhKYlhUdGNiaUFnSUNCd2NtOTBaV04wWldRZ2NISnZaM0psYzNOR2RXNWpQem9nS0dWd2IyTTZJRzUxYldKbGNpd2daWEJ2WTJoelRHVnVaM1JvT2lCdWRXMWlaWElzSUdWdFltVmtaR2x1WjNNNklHNTFiV0psY2x0ZFcxMHBJRDArSUhadmFXUTdYRzRnSUNBZ2NISnZkR1ZqZEdWa0lHUnBjM1JoYm1ObFJtNUJjbWR6T2lCN1cxODZJSE4wY21sdVoxMDZJR0Z1ZVgxYlhUdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRjbVZoZEdWeklHRnVJR2x1YzNSaGJtTmxJRzltSUZWTlFWQlNaV1IxWTJWeUxseHVJQ0FnSUNBcUlFQndZWEpoYlNCN1QzQjBhVzl1YzMwZ2IzQjBhVzl1Y3lCUGNIUnBiMjV6SUhSdklIQmhjM01nZEc4Z2RHaGxJR052Ym5OMGNuVmpkRzl5TGx4dUlDQWdJQ0FxSUVCdFpXMWlaWEp2WmlCVlRVRlFVbVZrZFdObGNseHVJQ0FnSUNBcUwxeHVJQ0FnSUdOdmJuTjBjblZqZEc5eUtHOXdkR2x2Ym5NNklFOXdkR2x2Ym5NcElIdGNiaUFnSUNBZ0lITjFjR1Z5S0c5d2RHbHZibk1wTzF4dUlDQWdJQ0FnWVhOelpYSjBLQ2RrYVhOMFlXNWpaVVp1WVcxbGN5Y2dhVzRnYjNCMGFXOXVjeWs3WEc0Z0lDQWdJQ0JoYzNObGNuUW9KMlJwYzNSaGJtTmxSbTV6SnlCcGJpQnZjSFJwYjI1ektUdGNiaUFnSUNBZ0lIUm9hWE11WkdsemRHRnVZMlZHYmtGeVozTWdQU0J2Y0hScGIyNXpMbVJwYzNSaGJtTmxSbTVCY21kek8xeHVJQ0FnSUNBZ2RHaHBjeTVrYVhOMFlXNWpaVVp1Y3lBOUlHOXdkR2x2Ym5NdVpHbHpkR0Z1WTJWR2JuTWhPMXh1SUNBZ0lDQWdkR2hwY3k1d2NtOW5jbVZ6YzBaMWJtTWdQU0J2Y0hScGIyNXpMbkJ5YjJkeVpYTnpSblZ1WXp0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVrYVhOMFlXNWpaVVp1WVcxbGN5QTlJRzl3ZEdsdmJuTXVaR2x6ZEdGdVkyVkdibUZ0WlhNaE8xeHVJQ0FnSUNBZ0x5OVZiV0Z3SUhWelpYTWdkbVZqZEc5eUlHbHVaR1Y0YVc1bkxDQnpieUIzWlNCdVpXVmtJSFJ2SUdOeVpXRjBaU0JoYmlCaGNuSmhlU0J2WmlCMlpXTjBiM0p6SUdGeklHbHVaR1ZqWlhNdVhHNGdJQ0FnSUNCMGFHbHpMblpsWTNSdmNuTWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NWtZWFJoV3pCZExteGxibWQwYUNrdVptbHNiQ2d3S1M1dFlYQW9LRjhzSUdrcElEMCtJR2twTzF4dVhHNGdJQ0FnSUNCcFppQW9kR2hwY3k1a1lYUmhXekJkTG14bGJtZDBhQ0E4SURFMUtWeHVJQ0FnSUNBZ0lDQnZjSFJwYjI1ekxtNU9aV2xuYUdKdmNuTWdQU0IwYUdsekxtUmhkR0ZiTUYwdWJHVnVaM1JvSUMwZ01UdGNiaUFnSUNBZ0lIUm9hWE11Y21Wa2RXTmxjaUE5SUc1bGR5QlZUVUZRS0c5d2RHbHZibk1wTzF4dUlDQWdJQ0FnTHk4Z2RHaHBjeTV5WldSMVkyVnlMbVJwYzNSaGJtTmxSbTRnUFNCMGFHbHpMbDlsYm1OdlpHVmtSR2x6ZEdGdVkyVXVZbWx1WkNoMGFHbHpLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJGYldKbFpITWdkR2hsSUdSaGRHRWdaMmwyWlc0Z2FXNTBieUIwYUdVZ2RIZHZMV1JwYldWdWMybHZibUZzSUhOd1lXTmxJSFZ6YVc1bklGVk5RVkFnYldWMGFHOWtMbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXMTl3WVhKaGJHeGxiRVJwYzNSaGJtTmxWMjl5YTJWeWMxMGdWMmhsZEdobGNpQjBieUIxYzJVZ2NHRnlZV3hzWld3Z1pHbHpkR0Z1WTJVZ2JXRjBjbWw0SUhkdmNtdGxjbk11WEc0Z0lDQWdJQ29nUUhKbGRIVnliaUI3WVc1NWZTQkRZWEowWlhOcFlXNGdZMjl2Y21ScGJtRjBaU0J2WmlCMGFHbHpJR1Z0WW1Wa1pHbHVaeTVjYmlBZ0lDQWdLaTljYmlBZ0lDQndkV0pzYVdNZ1lYTjVibU1nZEhKaGJuTm1iM0p0S0Y5d1lYSmhiR3hsYkVScGMzUmhibU5sVjI5eWEyVnljejg2SUdKdmIyeGxZVzRwT2lCUWNtOXRhWE5sUEUxaGRISnBlRDRnZTF4dUlDQWdJQ0FnWTI5dWMyOXNaUzUwYVcxbEtDZHJibTRnWjNKaGNHZ25LVHRjYmlBZ0lDQWdJR052Ym5OMElHdHVibEpsY3lBOUlHRjNZV2wwSUc1bGR5QlRjR0Z5YzJWTllYUnlhWGhUWlhKMmFXTmxLQ2xjYmlBZ0lDQWdJQ0FnTG0xMWJIUnBRMjlzZFcxdVMwNU9LSFJvYVhNdVpHRjBZU3dnZEdocGN5NWthWE4wWVc1alpVWnVZVzFsY3l3Z2RHaHBjeTV5WldSMVkyVnlMbTVsYVdkb1ltOXljeXhjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpMbVJwYzNSaGJtTmxSbTVCY21kekxDQjBhR2x6TG5kbGFXZG9kSE1zSUhSb2FYTXVZV2RuY21WbllYUnBiMjVOWlhSb2IyUXBPMXh1SUNBZ0lDQWdZMjl1YzI5c1pTNTBhVzFsUlc1a0tDZHJibTRnWjNKaGNHZ25LVHRjYmlBZ0lDQWdJSFJvYVhNdWNtVmtkV05sY2k1elpYUlFjbVZqYjIxd2RYUmxaRXRPVGlocmJtNVNaWE11YTI1dVNXNWtaWGhsY3l3Z2EyNXVVbVZ6TG10dWJrUnBjM1JoYm1ObGN5azdYRzVjYmlBZ0lDQWdJQzh2SUc1bFpXUmxaQ0J6YnlCMGFHRjBJR2RoY21KaFoyVWdZMjlzYkdWamRHOXlJR05oYmlCbWNtVmxJRzFsYlc5eWVTQm1jbTl0SUdScGMzUmhibU5sSUcxaGRISnBlRnh1SUNBZ0lDQWdZWGRoYVhRZ2JtVjNJRkJ5YjIxcGMyVThkbTlwWkQ0b0tISmxjMjlzZG1VcElEMCtJSHRjYmlBZ0lDQWdJQ0FnYzJWMFZHbHRaVzkxZENnb0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpiMngyWlNncE8xeHVJQ0FnSUNBZ0lDQjlMQ0F6TURBcE8xeHVJQ0FnSUNBZ2ZTazdYRzVjYmlBZ0lDQWdJR052Ym5OMElHVnRZbVZrWkdsdVp5QTlJR0YzWVdsMElIUm9hWE11Y21Wa2RXTmxjaTVtYVhSQmMzbHVZeWgwYUdsekxuWmxZM1J2Y25Nc0lDaGxjRzlqS1NBOVBpQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbkJ5YjJkeVpYTnpSblZ1WXlsY2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG5CeWIyZHlaWE56Um5WdVl5aGxjRzlqTENCMGFHbHpMbkpsWkhWalpYSXVaMlYwVGtWd2IyTm9jeWdwTENCMGFHbHpMbkpsWkhWalpYSXVaMlYwUlcxaVpXUmthVzVuS0NrcE8xeHVJQ0FnSUNBZ2ZTazdYRzVjYmlBZ0lDQWdJR1oxYm1OMGFXOXVJR0Z5Y21GNVEyRnpkREpEYjI5eVpHbHVZWFJsY3loa1lYUmhPaUJ1ZFcxaVpYSmJYVnRkS1RvZ1EyOXZjbVJwYm1GMFpYTWdlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUVGeWNtRjVLR1JoZEdFdWJHVnVaM1JvS1M1bWFXeHNLREFwTG0xaGNDZ29YeXdnYVNrZ1BUNGdLRlpsWTNSdmNpNW1jbTl0S0dSaGRHRmJhVjBwS1NrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCaGNuSmhlVU5oYzNReVEyOXZjbVJwYm1GMFpYTW9aVzFpWldSa2FXNW5LVHRjYmlBZ0lDQjlYRzU5WEc1Y2JtTnZibk4wSUVGMllXbHNZV0pzWlZKbFpIVmpaWEp6SUQwZ2UxeHVJQ0FuVlUxQlVDYzZJRTExYkhScFZVMUJVRkpsWkhWalpYSXNYRzRnSUNkMExWTk9SU2M2SUUxMWJIUnBWRk5PUlZKbFpIVmpaWElzWEc1OU8xeHVYRzVsZUhCdmNuUWdkSGx3WlNCTGJtOTNiazFsZEdodlpITWdQU0JyWlhsdlppQjBlWEJsYjJZZ1FYWmhhV3hoWW14bFVtVmtkV05sY25NN1hHNWNibVY0Y0c5eWRDQmpiR0Z6Y3lCTmRXeDBhVU52YkVScGJWSmxaSFZqWlhJZ2UxeHVJQ0FnSUhCeWFYWmhkR1VnY21Wa2RXTmxjam9nVFhWc2RHbERiMngxYlc1U1pXUjFZMlZ5SUh3Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUM4cUtseHVJQ0FnS2lCRGNtVmhkR1Z6SUdGdUlHbHVjM1JoYm1ObElHOW1JRVJwYldWdWMybHZibUZzYVhSNVVtVmtkV05sY2k1Y2JpQWdJQ29nUUhCaGNtRnRJSHRoYm5sYlhYMGdaR0YwWVNCV1pXTjBiM0p6SUhSdklHVnRZbVZrTGx4dUlDQWdLaUJBY0dGeVlXMGdlMHR1YjNkdVRXVjBhRzlrYzMwZ2JXVjBhRzlrSUVWdFltVmtaR2x1WnlCdFpYUm9iMlFnZEc4Z1ltVWdZWEJ3YkdsbFpGeHVJQ0FnS2lCQWNHRnlZVzBnZTB0dWIzZHVUV1YwY21samMzMGdiV1YwY21saklFUnBjM1JoYm1ObElHMWxkSEpwWXlCMGJ5QmlaU0JqYjIxd2RYUmxaQ0JpWlhSM1pXVnVJR1ZoWTJnZ2IyWWdkR2hsSUhabFkzUnZjbk11WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUM0IwYVc5dWMzMGdXMjl3ZEdsdmJuTmRJRTl3ZEdsdmJuTWdkRzhnY0dGemN5QjBieUIwYUdVZ2FXMXdiR1Z0Wlc1MGFXNW5JR1Z0WW1Wa1pHVnljeTVjYmlBZ0lDb2dRRzFsYldKbGNtOW1JRVJwYldWdWMybHZibUZzYVhSNVVtVmtkV05sY2x4dUlDQWdLaTljYmlBZ0lDQmpiMjV6ZEhKMVkzUnZjaWhrWVhSaE9pQkJjbkpoZVR4aGJubGJYVDRzSUcxbGRHaHZaRG9nUkdsdFVtVmtkV04wYVc5dVRXVjBhRzlrY3l3Z2JXVjBjbWxqY3pvZ1MyNXZkMjVOWlhSeWFXTnpXMTBzWEc0Z0lDQWdJQ0IzWldsbmFIUnpPaUJ1ZFcxaVpYSmJYU3dnWkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmpvZ1JHbHpkR0Z1WTJWQloyZHlaV2RoZEdsdmJrMWxkR2h2WkN3Z2IzQjBhVzl1Y3pvZ1QzQjBhVzl1Y3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYldWaGMzVnlaWE02SUVScGMzUmhibU5sVFdWMGNtbGpXMTBnUFNCYlhUdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHbGtlQ0E5SURBN0lHbGtlQ0E4SUcxbGRISnBZM011YkdWdVozUm9PeUFySzJsa2VDa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnRaV0Z6ZFhKbElEMGdibVYzSUUxbFlYTjFjbVVvYldWMGNtbGpjMXRwWkhoZEtTNW5aWFJOWldGemRYSmxLRzl3ZEdsdmJuTXVaR2x6ZEdGdVkyVkdia0Z5WjNOYmFXUjRYU2s3WEc0Z0lDQWdJQ0FnSUcxbFlYTjFjbVZ6TG5CMWMyZ29iV1ZoYzNWeVpTazdYRzRnSUNBZ0lDQWdJR3hsZENCaWFYUkJjbkpoZVV4bGJtZDBhQ0E5SURJd05EZzdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnWkdGMFlWdHBaSGhkTG14bGJtZDBhRHNnS3l0cEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHUmhkR0ZiYVdSNFhWdHBYU0FtSmlCa1lYUmhXMmxrZUYxYmFWMHVYMnhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ltbDBRWEp5WVhsTVpXNW5kR2dnUFNCa1lYUmhXMmxrZUYxYmFWMHVYMnhsYm1kMGFEdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnBaaUFvYVhOQ2FYUkJjbkpoZVUxbGRISnBZeWh0WlhSeWFXTnpXMmxrZUYwcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCa1lYUmhXMmxrZUYwdWJHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hrWVhSaFcybGtlRjFiYVYwZ0ppWWdaR0YwWVZ0cFpIaGRXMmxkTGw5a1lYUmhLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmtZWFJoVzJsa2VGMWJhVjBnUFNCdVpYY2dRbWwwUVhKeVlYa29aR0YwWVZ0cFpIaGRXMmxkTGw5a1lYUmhMQ0JrWVhSaFcybGtlRjFiYVYwdVgyeGxibWQwYUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdSaGRHRmJhV1I0WFZ0cFhTQTlJRzVsZHlCQ2FYUkJjbkpoZVNoaWFYUkJjbkpoZVV4bGJtZDBhQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNodFpYUm9iMlFnUFQwZ0oxVk5RVkFuS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Y21Wa2RXTmxjaUE5SUc1bGR5Qk5kV3gwYVZWTlFWQlNaV1IxWTJWeUtIdGNiaUFnSUNBZ0lDQWdJQ0JrWVhSaE9pQmtZWFJoTEZ4dUlDQWdJQ0FnSUNBZ0lHUnBjM1JoYm1ObFJtNWhiV1Z6T2lCdFpYUnlhV056TEZ4dUlDQWdJQ0FnSUNBZ0lHUnBjM1JoYm1ObFJtNXpPaUJ0WldGemRYSmxjeXhjYmlBZ0lDQWdJQ0FnSUNCa2FYTjBZVzVqWlVadVFYSm5jem9nYjNCMGFXOXVjeTVrYVhOMFlXNWpaVVp1UVhKbmN5eGNiaUFnSUNBZ0lDQWdJQ0IzWldsbmFIUnpPaUIzWldsbmFIUnpMRnh1SUNBZ0lDQWdJQ0FnSUdGblozSmxaMkYwYVc5dVRXVjBhRzlrT2lCa2FYTjBZVzVqWlVGblozSmxaMkYwYVc5dUxGeHVJQ0FnSUNBZ0lDQWdJQzR1TG05d2RHbHZibk5jYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHMWxkR2h2WkNBOVBTQW5kQzFUVGtVbktTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWNtVmtkV05sY2lBOUlHNWxkeUJOZFd4MGFWUlRUa1ZTWldSMVkyVnlLSHRjYmlBZ0lDQWdJQ0FnSUNCa1lYUmhPaUJrWVhSaExGeHVJQ0FnSUNBZ0lDQWdJR1JwYzNSaGJtTmxSbTVoYldWek9pQnRaWFJ5YVdOekxGeHVJQ0FnSUNBZ0lDQWdJR1JwYzNSaGJtTmxSbTV6T2lCdFpXRnpkWEpsY3l4Y2JpQWdJQ0FnSUNBZ0lDQmthWE4wWVc1alpVWnVRWEpuY3pvZ2IzQjBhVzl1Y3k1a2FYTjBZVzVqWlVadVFYSm5jeXhjYmlBZ0lDQWdJQ0FnSUNCM1pXbG5hSFJ6T2lCM1pXbG5hSFJ6TEZ4dUlDQWdJQ0FnSUNBZ0lHRm5aM0psWjJGMGFXOXVUV1YwYUc5a09pQmthWE4wWVc1alpVRm5aM0psWjJGMGFXOXVMRnh1SUNBZ0lDQWdJQ0FnSUM0dUxtOXdkR2x2Ym5OY2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FYRzRnSUNBcUlFVnRZbVZrY3lCMGFHVWdaR0YwWVNCbmFYWmxiaUJwYm5SdklIUm9aU0IwZDI4dFpHbHRaVzV6YVc5dVlXd2djM0JoWTJVZ2RYTnBibWNnZEdobElHTm9iM05sYmlCdFpYUm9iMlF1WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ2RISmhibk53YjNObElGZG9aWFJvWlhJZ2RHOGdkSEpoYm5ObWIzSnRJR052YjNKa2FXNWhkR1Z6SUhSdklHaGhkbVVnWTI5c2RXMXVjeTFtYVhKemRDQnZjbWxsYm5SaGRHbHZiaTVjYmlBZ0lDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQndZWEpoYkd4bGJFUnBjM1JoYm1ObFYyOXlhMlZ5Y3lCWGFHVjBhR1Z5SUhSdklIVnpaU0J3WVhKaGJHeGxiQ0JrYVhOMFlXNWpaU0JqYjIxd2RYUmhkR2x2Ymk1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3UlhKeWIzSjlJRWxtSUhSb1pTQmxiV0psWkdScGJtY2diV1YwYUc5a0lIZGhjeUJ1YjNRZ1ptOTFibVF1WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMkZ1ZVgwZ1EyRnlkR1Z6YVdGdUlHTnZiM0prYVc1aGRHVWdiMllnZEdocGN5QmxiV0psWkdScGJtY2dZVzVrSUdScGMzUmhibU5sSUcxaGRISnBlQ0IzYUdWeVpTQmhjSEJzYVdOaFlteGxMbHh1SUNBZ0tpQkFiV1Z0WW1WeWIyWWdSR2x0Wlc1emFXOXVZV3hwZEhsU1pXUjFZMlZ5WEc0Z0lDQXFMMXh1SUNBZ0lIQjFZbXhwWXlCaGMzbHVZeUIwY21GdWMyWnZjbTBvZEhKaGJuTndiM05sT2lCaWIyOXNaV0Z1SUQwZ1ptRnNjMlVwT2lCUWNtOXRhWE5sUEUxaGRISnBlRDRnZTF4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11Y21Wa2RXTmxjaUE5UFQwZ2RXNWtaV1pwYm1Wa0tWeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oxSmxaSFZqWlhJZ2QyRnpJRzV2ZENCa1pXWnBibVZrTGljcE8xeHVYRzRnSUNBZ0lDQnNaWFFnWlcxaVpXUmthVzVuSUQwZ1lYZGhhWFFnZEdocGN5NXlaV1IxWTJWeUxuUnlZVzV6Wm05eWJTZ3BPMXh1WEc0Z0lDQWdJQ0JwWmlBb2RISmhibk53YjNObEtWeHVJQ0FnSUNBZ0lDQmxiV0psWkdScGJtY2dQU0IwY21GdWMzQnZjMlZOWVhSeWFYZ29aVzFpWldSa2FXNW5LVHRjYmx4dUlDQWdJQ0FnY21WMGRYSnVJR1Z0WW1Wa1pHbHVaenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QnRaWFJ5YVdOeklHRjJZV2xzWVdKc1pTQmllU0IwZVhCbExseHVJQ0FnS2x4dUlDQWdLaUJBY0dGeVlXMGdlMEYyWVdsc1lXSnNaVVJoZEdGVWVYQmxjMzBnZEhsd1pVNWhiV1VnZEhsd1pTQnVZVzFsWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM04wY21sdVoxdGRmU0JOWlhSeWFXTWdibUZ0WlhNZ2QyaHBZMmdnWlhod1pXTjBjeUIwYUdVZ1oybDJaVzRnWkdGMFlTQjBlWEJsWEc0Z0lDQXFJRUJ0WlcxaVpYSnZaaUJFYVcxbGJuTnBiMjVoYkdsMGVWSmxaSFZqWlhKY2JpQWdJQ292WEc0Z0lDQWdjM1JoZEdsaklHRjJZV2xzWVdKc1pVMWxkSEpwWTNOQ2VWUjVjR1VvZEhsd1pVNWhiV1U2SUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsY3lrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUU5aWFtVmpkQzVyWlhsektFRjJZV2xzWVdKc1pVMWxkSEpwWTNOYmRIbHdaVTVoYldWZEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCa2FXMWxibk5wYjI1aGJHbDBlU0J5WldSMVkzUnBiMjRnYldWMGFHOWtjeUJoZG1GcGJHRmliR1V1WEc0Z0lDQXFYRzRnSUNBcUlFQnlaV0ZrYjI1c2VWeHVJQ0FnS2lCQWJXVnRZbVZ5YjJZZ1JHbHRaVzV6YVc5dVlXeHBkSGxTWldSMVkyVnlYRzRnSUNBcUwxeHVJQ0FnSUhOMFlYUnBZeUJuWlhRZ1lYWmhhV3hoWW14bFRXVjBhRzlrY3lncElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1YTJWNWN5aEJkbUZwYkdGaWJHVlNaV1IxWTJWeWN5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ2JXVjBjbWxqY3lCaGRtRnBiR0ZpYkdVdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ5WldGa2IyNXNlVnh1SUNBZ0tpQkFiV1Z0WW1WeWIyWWdSR2x0Wlc1emFXOXVZV3hwZEhsU1pXUjFZMlZ5WEc0Z0lDQXFMMXh1SUNBZ0lITjBZWFJwWXlCblpYUWdZWFpoYVd4aFlteGxUV1YwY21samN5Z3BJSHRjYmlBZ0lDQWdJR3hsZENCaGJuTTZJSE4wY21sdVoxdGRJRDBnVzEwN1hHNGdJQ0FnSUNCUFltcGxZM1F1ZG1Gc2RXVnpLRUYyWVdsc1lXSnNaVTFsZEhKcFkzTXBMbVp2Y2tWaFkyZ29LRzlpYWlrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmhjbkpoZVNBOUlFOWlhbVZqZEM1MllXeDFaWE1vYjJKcUtUdGNiaUFnSUNBZ0lDQWdZVzV6SUQwZ1d5NHVMbUZ1Y3l3Z0xpNHVZWEp5WVhsZE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQnlaWFIxY200Z1lXNXpPMXh1SUNBZ0lIMWNibjFjYmlKZGZRPT0iLCIvKiogUHJveHkgZm9yIERpc3RhbmNlTWF0cml4IGNsYXNzLiBBbGxvd3MgdG8gaW5kZXggbWF0cml4IGFzIG1hdHJpeFtpXVtqXVxuICogTm90ZTogbXVjaCBzbG93ZXIgdGhhbiBkaXJlY3QgaW5kZXhpbmcsIGJ1dCBzdGlsbCBtdWNoIGZhc3RlciB0aGFuIHJlY2FsY3VsYXRpbmcgZGlzdGFuY2VzLlxuICogd2lsbCBiZSB1c2VkIGZvciBULVNORSBtYWlubHkuXG4gKiBAcGFyYW0ge0Zsb2F0MzJBcnJheX1jb25kZW5zZWRBcnJheSAtIGFycmF5IG9mIGRpc3RhbmNlcyBiZXR3ZWVuIGFsbCBwYWlycyBvZiBvYmplY3RzXG4gKiBAcGFyYW0ge251bWJlcn1zaXplIC0gbnVtYmVyIG9mIGNvbXBhcmVibGVzIGluIG1hdHJpeFxuICogQHJldHVybiB7RmxvYXQzMkFycmF5fSAtIHByb3h5IGZvciBjb25kZW5zZWRBcnJheVxuKi9cbmV4cG9ydCBmdW5jdGlvbiBkaXN0YW5jZU1hdHJpeFByb3h5KGNvbmRlbnNlZEFycmF5LCBzaXplKSB7XG4gICAgY29uc3QgbGluZWFyRnVuYyA9IGRtTGluZWFySW5kZXgoc2l6ZSk7XG4gICAgZnVuY3Rpb24gbGluZWFySW5kZXgoaSwgaikge1xuICAgICAgICBjb25zdCBpTnVtID0gTnVtYmVyKGkpO1xuICAgICAgICBjb25zdCBqTnVtID0gTnVtYmVyKGopO1xuICAgICAgICByZXR1cm4gbGluZWFyRnVuYyhpTnVtLCBqTnVtKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaWR4MkhhbmRsZXIoaWR4MSkge1xuICAgICAgICByZXR1cm4gKHtcbiAgICAgICAgICAgIGdldCh0YXJnZXQsIGlkeDIsIF9yZWNlaXZlcikge1xuICAgICAgICAgICAgICAgIGlmIChpZHgxID09PSBpZHgyKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICBjb25zdCBsaW5lYXJJZHggPSBOdW1iZXIoaWR4MSkgPiBOdW1iZXIoaWR4MikgPyBsaW5lYXJJbmRleChpZHgyLCBpZHgxKSA6IGxpbmVhckluZGV4KGlkeDEsIGlkeDIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXRbbGluZWFySWR4XTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBpZHgxSGFuZGxlciA9IHtcbiAgICAgICAgZ2V0KHRhcmdldCwgaWR4MSwgX3JlY2VpdmVyKSB7XG4gICAgICAgICAgICBpZiAoaWR4MSA9PT0gJ2xlbmd0aCcpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHNpemU7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb3h5KHRhcmdldCwgaWR4MkhhbmRsZXIoaWR4MSkpO1xuICAgICAgICB9LFxuICAgIH07XG4gICAgcmV0dXJuIG5ldyBQcm94eShjb25kZW5zZWRBcnJheSwgaWR4MUhhbmRsZXIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRtTGluZWFySW5kZXgoc2l6ZSkge1xuICAgIHJldHVybiAoaSwgaikgPT4gc2l6ZSAqIGkgKyBqIC0gTWF0aC5mbG9vcigoKGkgKyAyKSAqIChpICsgMSkpIC8gMik7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2ljSEp2ZUhrdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUp3Y205NGVTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZGUVRzN096czdPMFZCVFVVN1FVRkRSaXhOUVVGTkxGVkJRVlVzYlVKQlFXMUNMRU5CUVVNc1kwRkJORUlzUlVGQlJTeEpRVUZaTzBsQlF6VkZMRTFCUVUwc1ZVRkJWU3hIUVVGSExHRkJRV0VzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTjJReXhUUVVGVExGZEJRVmNzUTBGQlF5eERRVUZyUWl4RlFVRkZMRU5CUVd0Q08xRkJRM3BFTEUxQlFVMHNTVUZCU1N4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4yUWl4TlFVRk5MRWxCUVVrc1IwRkJSeXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZGtJc1QwRkJUeXhWUVVGVkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUTJoRExFTkJRVU03U1VGRlJDeFRRVUZUTEZkQlFWY3NRMEZCUXl4SlFVRnhRanRSUVVONFF5eFBRVUZQTEVOQlEwdzdXVUZEUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlJTeFRRVUZUTzJkQ1FVTjZRaXhKUVVGSkxFbEJRVWtzUzBGQlN5eEpRVUZKTzI5Q1FVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8yZENRVU0xUWl4TlFVRk5MRk5CUVZNc1IwRkJSeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8yZENRVU5zUnl4UFFVRlBMRTFCUVUwc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFpRVU16UWl4RFFVRkRPMU5CUTBZc1EwRkRSaXhEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVU5FTEUxQlFVMHNWMEZCVnl4SFFVRXJRanRSUVVNNVF5eEhRVUZITEVOQlFVTXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hUUVVGVE8xbEJRM3BDTEVsQlFVa3NTVUZCU1N4TFFVRkxMRkZCUVZFN1owSkJRVVVzVDBGQlR5eEpRVUZKTEVOQlFVTTdXVUZEYmtNc1QwRkJUeXhKUVVGSkxFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNWMEZCVnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRE9VTXNRMEZCUXp0TFFVTkdMRU5CUVVNN1NVRkZSaXhQUVVGUExFbEJRVWtzUzBGQlN5eERRVUZETEdOQlFXTXNSVUZCUlN4WFFVRlhMRU5CUVVNc1EwRkJRenRCUVVOb1JDeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR0ZCUVdFc1EwRkJReXhKUVVGWk8wbEJRM2hETEU5QlFVOHNRMEZCUXl4RFFVRlRMRVZCUVVVc1EwRkJVeXhGUVVGRkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU4wUml4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWEc1Y2JpOHFLaUJRY205NGVTQm1iM0lnUkdsemRHRnVZMlZOWVhSeWFYZ2dZMnhoYzNNdUlFRnNiRzkzY3lCMGJ5QnBibVJsZUNCdFlYUnlhWGdnWVhNZ2JXRjBjbWw0VzJsZFcycGRYRzRnS2lCT2IzUmxPaUJ0ZFdOb0lITnNiM2RsY2lCMGFHRnVJR1JwY21WamRDQnBibVJsZUdsdVp5d2dZblYwSUhOMGFXeHNJRzExWTJnZ1ptRnpkR1Z5SUhSb1lXNGdjbVZqWVd4amRXeGhkR2x1WnlCa2FYTjBZVzVqWlhNdVhHNGdLaUIzYVd4c0lHSmxJSFZ6WldRZ1ptOXlJRlF0VTA1RklHMWhhVzVzZVM1Y2JpQXFJRUJ3WVhKaGJTQjdSbXh2WVhRek1rRnljbUY1ZldOdmJtUmxibk5sWkVGeWNtRjVJQzBnWVhKeVlYa2diMllnWkdsemRHRnVZMlZ6SUdKbGRIZGxaVzRnWVd4c0lIQmhhWEp6SUc5bUlHOWlhbVZqZEhOY2JpQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZYTnBlbVVnTFNCdWRXMWlaWElnYjJZZ1kyOXRjR0Z5WldKc1pYTWdhVzRnYldGMGNtbDRYRzRnS2lCQWNtVjBkWEp1SUh0R2JHOWhkRE15UVhKeVlYbDlJQzBnY0hKdmVIa2dabTl5SUdOdmJtUmxibk5sWkVGeWNtRjVYRzRxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdScGMzUmhibU5sVFdGMGNtbDRVSEp2ZUhrb1kyOXVaR1Z1YzJWa1FYSnlZWGs2SUVac2IyRjBNekpCY25KaGVTd2djMmw2WlRvZ2JuVnRZbVZ5S1RvZ1JteHZZWFF6TWtGeWNtRjVJSHRjYmlBZ1kyOXVjM1FnYkdsdVpXRnlSblZ1WXlBOUlHUnRUR2x1WldGeVNXNWtaWGdvYzJsNlpTazdYRzRnSUdaMWJtTjBhVzl1SUd4cGJtVmhja2x1WkdWNEtHazZJSE41YldKdmJDQjhJSE4wY21sdVp5d2dham9nYzNsdFltOXNJSHdnYzNSeWFXNW5LU0I3WEc0Z0lDQWdZMjl1YzNRZ2FVNTFiU0E5SUU1MWJXSmxjaWhwS1R0Y2JpQWdJQ0JqYjI1emRDQnFUblZ0SUQwZ1RuVnRZbVZ5S0dvcE8xeHVJQ0FnSUhKbGRIVnliaUJzYVc1bFlYSkdkVzVqS0dsT2RXMHNJR3BPZFcwcE8xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdhV1I0TWtoaGJtUnNaWElvYVdSNE1Ub2djM2x0WW05c0lId2djM1J5YVc1bktUcFFjbTk0ZVVoaGJtUnNaWEk4Um14dllYUXpNa0Z5Y21GNVBpQjdYRzRnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ1oyVjBLSFJoY21kbGRDd2dhV1I0TWl3Z1gzSmxZMlZwZG1WeUtTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHbGtlREVnUFQwOUlHbGtlRElwSUhKbGRIVnliaUF3TzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUd4cGJtVmhja2xrZUNBOUlFNTFiV0psY2locFpIZ3hLU0ErSUU1MWJXSmxjaWhwWkhneUtTQS9JR3hwYm1WaGNrbHVaR1Y0S0dsa2VESXNJR2xrZURFcElEb2diR2x1WldGeVNXNWtaWGdvYVdSNE1Td2dhV1I0TWlrN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUmhjbWRsZEZ0c2FXNWxZWEpKWkhoZE8xeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdmVnh1SUNBZ0lDazdYRzRnSUgxY2JpQWdZMjl1YzNRZ2FXUjRNVWhoYm1Sc1pYSTZJRkJ5YjNoNVNHRnVaR3hsY2p4R2JHOWhkRE15UVhKeVlYaytJRDBnZTF4dUlDQWdJR2RsZENoMFlYSm5aWFFzSUdsa2VERXNJRjl5WldObGFYWmxjaWtnZTF4dUlDQWdJQ0FnYVdZZ0tHbGtlREVnUFQwOUlDZHNaVzVuZEdnbktTQnlaWFIxY200Z2MybDZaVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVUhKdmVIa29kR0Z5WjJWMExDQnBaSGd5U0dGdVpHeGxjaWhwWkhneEtTazdYRzRnSUNBZ2ZTeGNiaUFnZlR0Y2JseHVJQ0J5WlhSMWNtNGdibVYzSUZCeWIzaDVLR052Ym1SbGJuTmxaRUZ5Y21GNUxDQnBaSGd4U0dGdVpHeGxjaWs3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmtiVXhwYm1WaGNrbHVaR1Y0S0hOcGVtVTZJRzUxYldKbGNpazZJQ2hwT2lCdWRXMWlaWElzSUdvNklHNTFiV0psY2lrZ1BUNGdiblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJQ2hwT2lCdWRXMWlaWElzSUdvNklHNTFiV0psY2lrZ1BUNGdjMmw2WlNBcUlHa2dLeUJxSUMwZ1RXRjBhQzVtYkc5dmNpZ29LR2tnS3lBeUtTQXFJQ2hwSUNzZ01Ta3BJQzhnTWlrN1hHNTlYRzRpWFgwPSIsImltcG9ydCB7IE11bHRpQ29sRGltUmVkdWNlciB9IGZyb20gJy4vbXVsdGktY29sdW1uLWRpbS1yZWR1Y2VyJztcbi8qKlxuICogV29ya2VyIHRocmVhZCByZWNlaXZpbmcgZGF0YSBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0ge2FueVtdfSBjb2x1bW5EYXRhIFNhbXBsZXMgdG8gcHJvY2Vzcy5cbiAqIEBwYXJhbSB7S25vd25NZXRob2RzfSBtZXRob2QgRW1iZWRkaW5nIG1ldGhvZC5cbiAqIEBwYXJhbSB7S25vd25NZXRyaWNzfSBtZWFzdXJlIERpc3RhbmNlIG1ldHJpYy5cbiAqIEBwYXJhbSB7YW55fSBvcHRpb25zIE9wdGlvbnMgdG8gcGFzcyB0byBhbGdvcml0aG0uXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHBhcmFsbGVsRGlzdGFuY2VXb3JrZXJzIFdoZXRoZXIgdG8gdXNlIHBhcmFsbGVsIGRpc3RhbmNlIHdvcmtlcnMuXG4gKiBAcmV0dXJuIHthbnl9IEVtYmVkZGluZyAoYW5kIGRpc3RhbmNlIG1hdHJpeCB3aGVyZSBhcHBsaWNhYmxlKS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gb25NZXNzYWdlKGNvbHVtbnNEYXRhLCBtZXRob2QsIG1ldHJpY3MsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kLCBvcHRpb25zKSB7XG4gICAgY29uc3QgcmVkdWNlciA9IG5ldyBNdWx0aUNvbERpbVJlZHVjZXIoY29sdW1uc0RhdGEsIG1ldGhvZCwgbWV0cmljcywgd2VpZ2h0cywgYWdncmVnYXRpb25NZXRob2QsIHsgLi4ub3B0aW9ucywgcHJvZ3Jlc3NGdW5jIH0pO1xuICAgIHJldHVybiBhd2FpdCByZWR1Y2VyLnRyYW5zZm9ybSh0cnVlKTtcbn1cbmFzeW5jIGZ1bmN0aW9uIHByb2dyZXNzRnVuYyhlcG9jaE51bSwgZXBvY2hzTGVuZ3RoLCBlbWJlZGRpbmcpIHtcbiAgICBpZiAoZXBvY2hOdW0gJSA1ID09PSAwKVxuICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKHsgZXBvY2hOdW0sIGVwb2Noc0xlbmd0aCwgZW1iZWRkaW5nIH0pO1xufVxuc2VsZi5vbm1lc3NhZ2UgPSBhc3luYyAoeyBkYXRhOiB7IGNvbHVtbnNEYXRhLCBtZXRob2QsIGRpc3RhbmNlTWV0cmljcywgb3B0aW9ucywgd2VpZ2h0cywgYWdncmVnYXRpb25NZXRob2QgfSB9KSA9PiB7XG4gICAgbGV0IGRhdGE7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZW1iZWRkaW5nID0gYXdhaXQgb25NZXNzYWdlKGNvbHVtbnNEYXRhLCBtZXRob2QsIGRpc3RhbmNlTWV0cmljcywgd2VpZ2h0cywgYWdncmVnYXRpb25NZXRob2QsIG9wdGlvbnMpO1xuICAgICAgICBkYXRhID0geyBlbWJlZGRpbmcgfTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgZGF0YSA9IHsgZXJyb3I6IGUgfTtcbiAgICB9XG4gICAgc2VsZi5wb3N0TWVzc2FnZSh7XG4gICAgICAgIGVycm9yOiBkYXRhLmVycm9yLFxuICAgICAgICBlbWJlZGRpbmc6IGRhdGEuZW1iZWRkaW5nLFxuICAgIH0pO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJYVnNhWFF0WTI5c2RXMXVMV1JwYlMxeVpXUjFZMlZ5TFhkdmNtdGxjaTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkltMTFiR2wwTFdOdmJIVnRiaTFrYVcwdGNtVmtkV05sY2kxM2IzSnJaWEl1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlNVRXNUMEZCVHl4RlFVRkRMR3RDUVVGclFpeEZRVUZETEUxQlFVMHNORUpCUVRSQ0xFTkJRVU03UVVGRk9VUTdPenM3T3pzN096dEhRVk5ITzBGQlEwZ3NTMEZCU3l4VlFVRlZMRk5CUVZNc1EwRkJReXhYUVVGNVFpeEZRVUZGTEUxQlFUSkNMRVZCUVVVc1QwRkJkVUlzUlVGRGRFY3NUMEZCYVVJc1JVRkJSU3hwUWtGQk5FTXNSVUZETDBRc1QwRkJXVHRKUVVOYUxFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NhMEpCUVd0Q0xFTkJRM0JETEZkQlFWY3NSVUZEV0N4TlFVRk5MRVZCUTA0c1QwRkJUeXhGUVVOUUxFOUJRVThzUlVGRFVDeHBRa0ZCYVVJc1JVRkRha0lzUlVGQlF5eEhRVUZITEU5QlFVOHNSVUZCUlN4WlFVRlpMRVZCUVVNc1EwRkRNMElzUTBGQlF6dEpRVU5HTEU5QlFVOHNUVUZCVFN4UFFVRlBMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBGQlEzWkRMRU5CUVVNN1FVRkZSQ3hMUVVGTExGVkJRVlVzV1VGQldTeERRVUZETEZGQlFXZENMRVZCUVVVc1dVRkJiMElzUlVGQlJTeFRRVUZ4UWp0SlFVTjJSaXhKUVVGSkxGRkJRVkVzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXp0UlFVTndRaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVTXNVVUZCVVN4RlFVRkZMRmxCUVZrc1JVRkJSU3hUUVVGVExFVkJRVU1zUTBGQlF5eERRVUZETzBGQlF6RkVMRU5CUVVNN1FVRkZSQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEV0QlFVc3NSVUZCUlN4RlFVRkRMRWxCUVVrc1JVRkJSU3hGUVVGRExGZEJRVmNzUlVGQlJTeE5RVUZOTEVWQlFVVXNaVUZCWlN4RlFVRkZMRTlCUVU4c1JVRkJSU3hQUVVGUExFVkJRVVVzYVVKQlFXbENMRVZCUVVNc1JVRkJReXhGUVVGRkxFVkJRVVU3U1VGRE4wY3NTVUZCU1N4SlFVRnZReXhEUVVGRE8wbEJRM3BETEVsQlFVazdVVUZEUml4TlFVRk5MRk5CUVZNc1IwRkJSeXhOUVVGTkxGTkJRVk1zUTBGQlF5eFhRVUZYTEVWQlFVVXNUVUZCVFN4RlFVRkZMR1ZCUVdVc1JVRkJSU3hQUVVGUExFVkJRVVVzYVVKQlFXbENMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRE4wY3NTVUZCU1N4SFFVRkhMRVZCUVVNc1UwRkJVeXhGUVVGRExFTkJRVU03UzBGRGNFSTdTVUZCUXl4UFFVRlBMRU5CUVUwc1JVRkJSVHRSUVVObUxFbEJRVWtzUjBGQlJ5eEZRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRVZCUVVNc1EwRkJRenRMUVVOdVFqdEpRVU5FTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNN1VVRkRaaXhMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVczdVVUZEYWtJc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTzB0QlF6RkNMRU5CUVVNc1EwRkJRenRCUVVOTUxFTkJRVU1zUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdUV0YwY21sNGZTQm1jbTl0SUNkQVpHRjBZV2R5YjJzdGJHbGljbUZ5YVdWekwzVjBhV3h6TDNOeVl5OTBlWEJsTFdSbFkyeGhjbUYwYVc5dWN5YzdYRzVwYlhCdmNuUWdlMHR1YjNkdVRXVjBjbWxqYzMwZ1puSnZiU0FuTGk0dmRIbHdaV1F0YldWMGNtbGpjeTkwZVhCbFpDMXRaWFJ5YVdOekp6dGNibWx0Y0c5eWRDQjdSR2x0VW1Wa2RXTjBhVzl1VFdWMGFHOWtjMzBnWm5KdmJTQW5MaTkwZVhCbGN5YzdYRzVwYlhCdmNuUWdlMFJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUjlJR1p5YjIwZ0p5NHVMMlJwYzNSaGJtTmxMVzFoZEhKcGVDOTBlWEJsY3ljN1hHNXBiWEJ2Y25RZ2UwMTFiSFJwUTI5c1JHbHRVbVZrZFdObGNuMGdabkp2YlNBbkxpOXRkV3gwYVMxamIyeDFiVzR0WkdsdExYSmxaSFZqWlhJbk8xeHVYRzR2S2lwY2JpQXFJRmR2Y210bGNpQjBhSEpsWVdRZ2NtVmpaV2wyYVc1bklHUmhkR0VnWm5WdVkzUnBiMjR1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRoYm5sYlhYMGdZMjlzZFcxdVJHRjBZU0JUWVcxd2JHVnpJSFJ2SUhCeWIyTmxjM011WEc0Z0tpQkFjR0Z5WVcwZ2UwdHViM2R1VFdWMGFHOWtjMzBnYldWMGFHOWtJRVZ0WW1Wa1pHbHVaeUJ0WlhSb2IyUXVYRzRnS2lCQWNHRnlZVzBnZTB0dWIzZHVUV1YwY21samMzMGdiV1ZoYzNWeVpTQkVhWE4wWVc1alpTQnRaWFJ5YVdNdVhHNGdLaUJBY0dGeVlXMGdlMkZ1ZVgwZ2IzQjBhVzl1Y3lCUGNIUnBiMjV6SUhSdklIQmhjM01nZEc4Z1lXeG5iM0pwZEdodExseHVJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0J3WVhKaGJHeGxiRVJwYzNSaGJtTmxWMjl5YTJWeWN5QlhhR1YwYUdWeUlIUnZJSFZ6WlNCd1lYSmhiR3hsYkNCa2FYTjBZVzVqWlNCM2IzSnJaWEp6TGx4dUlDb2dRSEpsZEhWeWJpQjdZVzU1ZlNCRmJXSmxaR1JwYm1jZ0tHRnVaQ0JrYVhOMFlXNWpaU0J0WVhSeWFYZ2dkMmhsY21VZ1lYQndiR2xqWVdKc1pTa3VYRzRnS2k5Y2JtRnplVzVqSUdaMWJtTjBhVzl1SUc5dVRXVnpjMkZuWlNoamIyeDFiVzV6UkdGMFlUb2dRWEp5WVhrOFlXNTVXMTArTENCdFpYUm9iMlE2SUVScGJWSmxaSFZqZEdsdmJrMWxkR2h2WkhNc0lHMWxkSEpwWTNNNklFdHViM2R1VFdWMGNtbGpjMXRkTEZ4dUlDQjNaV2xuYUhSek9pQnVkVzFpWlhKYlhTd2dZV2RuY21WbllYUnBiMjVOWlhSb2IyUTZJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUXNYRzRnSUc5d2RHbHZibk02SUdGdWVTazZJRkJ5YjIxcGMyVThUV0YwY21sNFBpQjdYRzRnSUdOdmJuTjBJSEpsWkhWalpYSWdQU0J1WlhjZ1RYVnNkR2xEYjJ4RWFXMVNaV1IxWTJWeUtGeHVJQ0FnSUdOdmJIVnRibk5FWVhSaExGeHVJQ0FnSUcxbGRHaHZaQ3hjYmlBZ0lDQnRaWFJ5YVdOekxGeHVJQ0FnSUhkbGFXZG9kSE1zWEc0Z0lDQWdZV2RuY21WbllYUnBiMjVOWlhSb2IyUXNYRzRnSUNBZ2V5NHVMbTl3ZEdsdmJuTXNJSEJ5YjJkeVpYTnpSblZ1WTMxY2JpQWdLVHRjYmlBZ2NtVjBkWEp1SUdGM1lXbDBJSEpsWkhWalpYSXVkSEpoYm5ObWIzSnRLSFJ5ZFdVcE8xeHVmVnh1WEc1aGMzbHVZeUJtZFc1amRHbHZiaUJ3Y205bmNtVnpjMFoxYm1Nb1pYQnZZMmhPZFcwNklHNTFiV0psY2l3Z1pYQnZZMmh6VEdWdVozUm9PaUJ1ZFcxaVpYSXNJR1Z0WW1Wa1pHbHVaem9nYm5WdFltVnlXMTFiWFNrZ2UxeHVJQ0JwWmlBb1pYQnZZMmhPZFcwZ0pTQTFJRDA5UFNBd0tWeHVJQ0FnSUhObGJHWXVjRzl6ZEUxbGMzTmhaMlVvZTJWd2IyTm9UblZ0TENCbGNHOWphSE5NWlc1bmRHZ3NJR1Z0WW1Wa1pHbHVaMzBwTzF4dWZWeHVYRzV6Wld4bUxtOXViV1Z6YzJGblpTQTlJR0Z6ZVc1aklDaDdaR0YwWVRvZ2UyTnZiSFZ0Ym5ORVlYUmhMQ0J0WlhSb2IyUXNJR1JwYzNSaGJtTmxUV1YwY21samN5d2diM0IwYVc5dWN5d2dkMlZwWjJoMGN5d2dZV2RuY21WbllYUnBiMjVOWlhSb2IyUjlmU2tnUFQ0Z2UxeHVJQ0JzWlhRZ1pHRjBZVG9nZTJWeWNtOXlQem9nWVc1NUxDQmxiV0psWkdScGJtYy9PaUJoYm5sOU8xeHVJQ0IwY25rZ2UxeHVJQ0FnSUdOdmJuTjBJR1Z0WW1Wa1pHbHVaeUE5SUdGM1lXbDBJRzl1VFdWemMyRm5aU2hqYjJ4MWJXNXpSR0YwWVN3Z2JXVjBhRzlrTENCa2FYTjBZVzVqWlUxbGRISnBZM01zSUhkbGFXZG9kSE1zSUdGblozSmxaMkYwYVc5dVRXVjBhRzlrTENCdmNIUnBiMjV6S1R0Y2JpQWdJQ0JrWVhSaElEMGdlMlZ0WW1Wa1pHbHVaMzA3WEc0Z0lIMGdZMkYwWTJnZ0tHVTZJR0Z1ZVNrZ2UxeHVJQ0FnSUdSaGRHRWdQU0I3WlhKeWIzSTZJR1Y5TzF4dUlDQjlYRzRnSUhObGJHWXVjRzl6ZEUxbGMzTmhaMlVvZTF4dUlDQWdJR1Z5Y205eU9pQmtZWFJoTG1WeWNtOXlMRnh1SUNBZ0lHVnRZbVZrWkdsdVp6b2daR0YwWVM1bGJXSmxaR1JwYm1jc1hHNGdJSDBwTzF4dWZUdGNiaUpkZlE9PSIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UU05FID0gdm9pZCAwO1xudmFyIHRzbmVfMSA9IHJlcXVpcmUoXCIuL3RzbmVcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUU05FXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0c25lXzEuVFNORTsgfSB9KTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UU05FID0gdm9pZCAwO1xuY2xhc3MgVFNORSB7XG4gICAgY29uc3RydWN0b3Iob3B0KSB7XG4gICAgICAgIC8vIHJldHVybiAwIG1lYW4gdW5pdCBzdGFuZGFyZCBkZXZpYXRpb24gcmFuZG9tIG51bWJlclxuICAgICAgICB0aGlzLnJldHVyblYgPSBmYWxzZTtcbiAgICAgICAgdGhpcy52VmFsdWUgPSAwLjA7XG4gICAgICAgIHRoaXMuaXRlciA9IDA7XG4gICAgICAgIG9wdCA9IG9wdCB8fCB7fTtcbiAgICAgICAgdGhpcy5wZXJwbGV4aXR5ID0gdGhpcy5nZXRvcHQob3B0LCAncGVycGxleGl0eScsIDMwKTsgLy8gZWZmZWN0aXZlIG51bWJlciBvZiBuZWFyZXN0IG5laWdoYm9yc1xuICAgICAgICB0aGlzLmRpbSA9IHRoaXMuZ2V0b3B0KG9wdCwgJ2RpbScsIDIpOyAvLyBieSBkZWZhdWx0IDItRCB0U05FXG4gICAgICAgIHRoaXMuZXBzaWxvbiA9IHRoaXMuZ2V0b3B0KG9wdCwgJ2Vwc2lsb24nLCAxMCk7IC8vIGxlYXJuaW5nIHJhdGVcbiAgICB9XG4gICAgYXNzZXJ0KGNvbmRpdGlvbiwgbWVzc2FnZSkge1xuICAgICAgICBpZiAoIWNvbmRpdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbWVzc2FnZSB8fCAnQXNzZXJ0aW9uIGZhaWxlZCc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gc3ludGF4IHN1Z2FyXG4gICAgZ2V0b3B0KG9wdCwgZmllbGQsIGRlZmF1bHR2YWwpIHtcbiAgICAgICAgaWYgKG9wdC5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRbZmllbGRdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHR2YWw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2F1c3NSYW5kb20oKSB7XG4gICAgICAgIGlmICh0aGlzLnJldHVyblYpIHtcbiAgICAgICAgICAgIHRoaXMucmV0dXJuViA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudlZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHUgPSAyICogTWF0aC5yYW5kb20oKSAtIDE7XG4gICAgICAgIGNvbnN0IHYgPSAyICogTWF0aC5yYW5kb20oKSAtIDE7XG4gICAgICAgIGNvbnN0IHIgPSB1ICogdSArIHYgKiB2O1xuICAgICAgICBpZiAociA9PT0gMCB8fCByID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2F1c3NSYW5kb20oKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjID0gTWF0aC5zcXJ0KC0yICogTWF0aC5sb2cocikgLyByKTtcbiAgICAgICAgdGhpcy52VmFsdWUgPSB2ICogYzsgLy8gY2FjaGUgdGhpcyBmb3IgbmV4dCBmdW5jdGlvbiBjYWxsIGZvciBlZmZpY2llbmN5XG4gICAgICAgIHRoaXMucmV0dXJuViA9IHRydWU7XG4gICAgICAgIHJldHVybiB1ICogYztcbiAgICB9XG4gICAgLy8gcmV0dXJuIHJhbmRvbSBub3JtYWwgbnVtYmVyXG4gICAgcmFuZG4obXUsIHN0ZCkgeyByZXR1cm4gbXUgKyB0aGlzLmdhdXNzUmFuZG9tKCkgKiBzdGQ7IH1cbiAgICAvLyB1dGlsaXRpdHkgdGhhdCBjcmVhdGVzIGNvbnRpZ3VvdXMgdmVjdG9yIG9mIHplcm9zIG9mIHNpemUgblxuICAgIHplcm9zKG4pIHtcbiAgICAgICAgaWYgKHR5cGVvZiAobikgPT09ICd1bmRlZmluZWQnIHx8IGlzTmFOKG4pKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBBcnJheUJ1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIC8vIGxhY2tpbmcgYnJvd3NlciBzdXBwb3J0XG4gICAgICAgICAgICBjb25zdCBhcnIgPSBuZXcgQXJyYXkobik7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgICAgIGFycltpXSA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYXJyO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGbG9hdDY0QXJyYXkobik7IC8vIHR5cGVkIGFycmF5cyBhcmUgZmFzdGVyXG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gdXRpbGl0eSB0aGF0IHJldHVybnMgMmQgYXJyYXkgZmlsbGVkIHdpdGggcmFuZG9tIG51bWJlcnNcbiAgICAvLyBvciB3aXRoIHZhbHVlIHMsIGlmIHByb3ZpZGVkXG4gICAgcmFuZG4yZChuLCBkLCBzKSB7XG4gICAgICAgIGNvbnN0IHVzZXMgPSB0eXBlb2YgcyAhPT0gJ3VuZGVmaW5lZCc7XG4gICAgICAgIGNvbnN0IHggPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHhoZXJlID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGQ7IGorKykge1xuICAgICAgICAgICAgICAgIGlmICh1c2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHhoZXJlLnB1c2gocyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB4aGVyZS5wdXNoKHRoaXMucmFuZG4oMC4wLCAxZS00KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgeC5wdXNoKHhoZXJlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geDtcbiAgICB9XG4gICAgLy8gY29tcHV0ZSBMMiBkaXN0YW5jZSBiZXR3ZWVuIHR3byB2ZWN0b3JzXG4gICAgTDIoeDEsIHgyKSB7XG4gICAgICAgIGNvbnN0IEQgPSB4MS5sZW5ndGg7XG4gICAgICAgIGxldCBkID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBEOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHgxaSA9IHgxW2ldO1xuICAgICAgICAgICAgY29uc3QgeDJpID0geDJbaV07XG4gICAgICAgICAgICBkICs9ICh4MWkgLSB4MmkpICogKHgxaSAtIHgyaSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuICAgIC8vIGNvbXB1dGUgcGFpcndpc2UgZGlzdGFuY2UgaW4gYWxsIHZlY3RvcnMgaW4gWFxuICAgIHh0b2QoWCkge1xuICAgICAgICBjb25zdCBOID0gWC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGRpc3QgPSB0aGlzLnplcm9zKE4gKiBOKTsgLy8gYWxsb2NhdGUgY29udGlndW91cyBhcnJheVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgTjsgaisrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IHRoaXMuTDIoWFtpXSwgWFtqXSk7XG4gICAgICAgICAgICAgICAgZGlzdFtpICogTiArIGpdID0gZDtcbiAgICAgICAgICAgICAgICBkaXN0W2ogKiBOICsgaV0gPSBkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXN0O1xuICAgIH1cbiAgICAvLyBjb21wdXRlIChwX3tpfGp9ICsgcF97anxpfSkvKDJuKVxuICAgIGQycChELCBwZXJwbGV4aXR5LCB0b2wpIHtcbiAgICAgICAgY29uc3QgbmYgPSBNYXRoLnNxcnQoRC5sZW5ndGgpOyAvLyB0aGlzIGJldHRlciBiZSBhbiBpbnRlZ2VyXG4gICAgICAgIGNvbnN0IG4gPSBNYXRoLmZsb29yKG5mKTtcbiAgICAgICAgdGhpcy5hc3NlcnQobiA9PT0gbmYsICdEIHNob3VsZCBoYXZlIHNxdWFyZSBudW1iZXIgb2YgZWxlbWVudHMuJyk7XG4gICAgICAgIGNvbnN0IGhUYXJnZXQgPSBNYXRoLmxvZyhwZXJwbGV4aXR5KTsgLy8gdGFyZ2V0IGVudHJvcHkgb2YgZGlzdHJpYnV0aW9uXG4gICAgICAgIGNvbnN0IFAgPSB0aGlzLnplcm9zKG4gKiBuKTsgLy8gdGVtcG9yYXJ5IHByb2JhYmlsaXR5IG1hdHJpeFxuICAgICAgICBjb25zdCBwcm93ID0gdGhpcy56ZXJvcyhuKTsgLy8gYSB0ZW1wb3Jhcnkgc3RvcmFnZSBjb21wYXJ0bWVudFxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgbGV0IGJldGFtaW4gPSAtSW5maW5pdHk7XG4gICAgICAgICAgICBsZXQgYmV0YW1heCA9IEluZmluaXR5O1xuICAgICAgICAgICAgbGV0IGJldGEgPSAxOyAvLyBpbml0aWFsIHZhbHVlIG9mIHByZWNpc2lvblxuICAgICAgICAgICAgbGV0IGRvbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IG1heHRyaWVzID0gNTA7XG4gICAgICAgICAgICAvLyBwZXJmb3JtIGJpbmFyeSBzZWFyY2ggdG8gZmluZCBhIHN1aXRhYmxlIHByZWNpc2lvbiBiZXRhXG4gICAgICAgICAgICAvLyBzbyB0aGF0IHRoZSBlbnRyb3B5IG9mIHRoZSBkaXN0cmlidXRpb24gaXMgYXBwcm9wcmlhdGVcbiAgICAgICAgICAgIGxldCBudW0gPSAwO1xuICAgICAgICAgICAgd2hpbGUgKCFkb25lKSB7XG4gICAgICAgICAgICAgICAgLy9kZWJ1Z2dlcjtcbiAgICAgICAgICAgICAgICAvLyBjb21wdXRlIGVudHJvcHkgYW5kIGtlcm5lbCByb3cgd2l0aCBiZXRhIHByZWNpc2lvblxuICAgICAgICAgICAgICAgIGxldCBwc3VtID0gMC4wO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgbjsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBwaiA9IE1hdGguZXhwKC1EW2kgKiBuICsgal0gKiBiZXRhKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IGopIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBqID0gMDtcbiAgICAgICAgICAgICAgICAgICAgfSAvLyB3ZSBkb250IGNhcmUgYWJvdXQgZGlhZ29uYWxzXG4gICAgICAgICAgICAgICAgICAgIHByb3dbal0gPSBwajtcbiAgICAgICAgICAgICAgICAgICAgcHN1bSArPSBwajtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gbm9ybWFsaXplIHAgYW5kIGNvbXB1dGUgZW50cm9weVxuICAgICAgICAgICAgICAgIGxldCBuSGVyZSA9IDAuMDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG47IGorKykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcGo7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwc3VtID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwaiA9IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwaiA9IHByb3dbal0gLyBwc3VtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHByb3dbal0gPSBwajtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBqID4gMWUtNykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbkhlcmUgLT0gcGogKiBNYXRoLmxvZyhwaik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gYWRqdXN0IGJldGEgYmFzZWQgb24gcmVzdWx0XG4gICAgICAgICAgICAgICAgaWYgKG5IZXJlID4gaFRhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBlbnRyb3B5IHdhcyB0b28gaGlnaCAoZGlzdHJpYnV0aW9uIHRvbyBkaWZmdXNlKVxuICAgICAgICAgICAgICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIGluY3JlYXNlIHRoZSBwcmVjaXNpb24gZm9yIG1vcmUgcGVha3kgZGlzdHJpYnV0aW9uXG4gICAgICAgICAgICAgICAgICAgIGJldGFtaW4gPSBiZXRhOyAvLyBtb3ZlIHVwIHRoZSBib3VuZHNcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJldGFtYXggPT09IEluZmluaXR5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZXRhID0gYmV0YSAqIDI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZXRhID0gKGJldGEgKyBiZXRhbWF4KSAvIDI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnZlcnNlIGNhc2UuIG1ha2UgZGlzdHJ1YnRpb24gbGVzcyBwZWFreVxuICAgICAgICAgICAgICAgICAgICBiZXRhbWF4ID0gYmV0YTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJldGFtaW4gPT09IC1JbmZpbml0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmV0YSA9IGJldGEgLyAyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmV0YSA9IChiZXRhICsgYmV0YW1pbikgLyAyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHN0b3BwaW5nIGNvbmRpdGlvbnM6IHRvbyBtYW55IHRyaWVzIG9yIGdvdCBhIGdvb2QgcHJlY2lzaW9uXG4gICAgICAgICAgICAgICAgbnVtKys7XG4gICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKG5IZXJlIC0gaFRhcmdldCkgPCB0b2wpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChudW0gPj0gbWF4dHJpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ2RhdGEgcG9pbnQgJyArIGkgKyAnIGdldHMgcHJlY2lzaW9uICcgKyBiZXRhICsgJyBhZnRlciAnICsgbnVtICsgJyBiaW5hcnkgc2VhcmNoIHN0ZXBzLicpO1xuICAgICAgICAgICAgLy8gY29weSBvdmVyIHRoZSBmaW5hbCBwcm93IHRvIFAgYXQgcm93IGlcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgbjsgaisrKSB7XG4gICAgICAgICAgICAgICAgUFtpICogbiArIGpdID0gcHJvd1tqXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBlbmQgbG9vcCBvdmVyIGV4YW1wbGVzIGlcbiAgICAgICAgLy8gc3ltbWV0cml6ZSBQIGFuZCBub3JtYWxpemUgaXQgdG8gc3VtIHRvIDEgb3ZlciBhbGwgaWpcbiAgICAgICAgY29uc3QgcE91dCA9IHRoaXMuemVyb3MobiAqIG4pO1xuICAgICAgICBjb25zdCBOMiA9IG4gKiAyO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBuOyBqKyspIHtcbiAgICAgICAgICAgICAgICBwT3V0W2kgKiBuICsgal0gPSBNYXRoLm1heCgoUFtpICogbiArIGpdICsgUFtqICogbiArIGldKSAvIE4yLCAxZS0xMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwT3V0O1xuICAgIH1cbiAgICAvLyBoZWxwZXIgZnVuY3Rpb25cbiAgICBzaWduKHgpIHsgcmV0dXJuIHggPiAwID8gMSA6IHggPCAwID8gLTEgOiAwOyB9XG4gICAgLy8gdGhpcyBmdW5jdGlvbiB0YWtlcyBhIHNldCBvZiBoaWdoLWRpbWVuc2lvbmFsIHBvaW50c1xuICAgIC8vIGFuZCBjcmVhdGVzIG1hdHJpeCBQIGZyb20gdGhlbSB1c2luZyBnYXVzc2lhbiBrZXJuZWxcbiAgICBpbml0RGF0YVJhdyhYKSB7XG4gICAgICAgIGNvbnN0IE4gPSBYLmxlbmd0aDtcbiAgICAgICAgY29uc3QgRCA9IFhbMF0ubGVuZ3RoO1xuICAgICAgICB0aGlzLmFzc2VydChOID4gMCwgJyBYIGlzIGVtcHR5PyBZb3UgbXVzdCBoYXZlIHNvbWUgZGF0YSEnKTtcbiAgICAgICAgdGhpcy5hc3NlcnQoRCA+IDAsICcgWFswXSBpcyBlbXB0eT8gV2hlcmUgaXMgdGhlIGRhdGE/Jyk7XG4gICAgICAgIGNvbnN0IGRpc3RzID0gdGhpcy54dG9kKFgpOyAvLyBjb252ZXJ0IFggdG8gZGlzdGFuY2VzIHVzaW5nIGdhdXNzaWFuIGtlcm5lbFxuICAgICAgICB0aGlzLlAgPSB0aGlzLmQycChkaXN0cywgdGhpcy5wZXJwbGV4aXR5LCAxZS00KTsgLy8gYXR0YWNoIHRvIG9iamVjdFxuICAgICAgICB0aGlzLk4gPSBOOyAvLyBiYWNrIHVwIHRoZSBzaXplIG9mIHRoZSBkYXRhc2V0XG4gICAgICAgIHRoaXMuaW5pdFNvbHV0aW9uKCk7IC8vIHJlZnJlc2ggdGhpc1xuICAgIH1cbiAgICAvLyB0aGlzIGZ1bmN0aW9uIHRha2VzIGEgZ2l2ZW4gZGlzdGFuY2UgbWF0cml4IGFuZCBjcmVhdGVzXG4gICAgLy8gbWF0cml4IFAgZnJvbSB0aGVtLlxuICAgIC8vIEQgaXMgYXNzdW1lZCB0byBiZSBwcm92aWRlZCBhcyBhIGxpc3Qgb2YgbGlzdHMsIGFuZCBzaG91bGQgYmUgc3ltbWV0cmljXG4gICAgaW5pdERhdGFEaXN0KEQpIHtcbiAgICAgICAgY29uc3QgTiA9IEQubGVuZ3RoO1xuICAgICAgICB0aGlzLmFzc2VydChOID4gMCwgJyBYIGlzIGVtcHR5PyBZb3UgbXVzdCBoYXZlIHNvbWUgZGF0YSEnKTtcbiAgICAgICAgLy8gY29udmVydCBEIHRvIGEgKGZhc3QpIHR5cGVkIGFycmF5IHZlcnNpb25cbiAgICAgICAgY29uc3QgZGlzdHMgPSB0aGlzLnplcm9zKE4gKiBOKTsgLy8gYWxsb2NhdGUgY29udGlndW91cyBhcnJheVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgTjsgaisrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IERbaV1bal07XG4gICAgICAgICAgICAgICAgZGlzdHNbaSAqIE4gKyBqXSA9IGQ7XG4gICAgICAgICAgICAgICAgZGlzdHNbaiAqIE4gKyBpXSA9IGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5QID0gdGhpcy5kMnAoZGlzdHMsIHRoaXMucGVycGxleGl0eSwgMWUtNCk7XG4gICAgICAgIHRoaXMuTiA9IE47XG4gICAgICAgIHRoaXMuaW5pdFNvbHV0aW9uKCk7IC8vIHJlZnJlc2ggdGhpc1xuICAgIH1cbiAgICAvLyAocmUpaW5pdGlhbGl6ZXMgdGhlIHNvbHV0aW9uIHRvIHJhbmRvbVxuICAgIGluaXRTb2x1dGlvbigpIHtcbiAgICAgICAgLy8gZ2VuZXJhdGUgcmFuZG9tIHNvbHV0aW9uIHRvIHQtU05FXG4gICAgICAgIHRoaXMuWSA9IHRoaXMucmFuZG4yZCh0aGlzLk4sIHRoaXMuZGltKTsgLy8gdGhlIHNvbHV0aW9uXG4gICAgICAgIHRoaXMuZ2FpbnMgPSB0aGlzLnJhbmRuMmQodGhpcy5OLCB0aGlzLmRpbSwgMS4wKTsgLy8gc3RlcCBnYWlucyB0byBhY2NlbGVyYXRlIHByb2dyZXNzIGluIHVuY2hhbmdpbmcgZGlyZWN0aW9uc1xuICAgICAgICB0aGlzLnlzdGVwID0gdGhpcy5yYW5kbjJkKHRoaXMuTiwgdGhpcy5kaW0sIDAuMCk7IC8vIG1vbWVudHVtIGFjY3VtdWxhdG9yXG4gICAgICAgIHRoaXMuaXRlciA9IDA7XG4gICAgfVxuICAgIC8vIHJldHVybiBwb2ludGVyIHRvIGN1cnJlbnQgc29sdXRpb25cbiAgICBnZXRTb2x1dGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuWTtcbiAgICB9XG4gICAgLy8gcGVyZm9ybSBhIHNpbmdsZSBzdGVwIG9mIG9wdGltaXphdGlvbiB0byBpbXByb3ZlIHRoZSBlbWJlZGRpbmdcbiAgICBzdGVwKCkge1xuICAgICAgICB0aGlzLml0ZXIgKz0gMTtcbiAgICAgICAgY29uc3QgTiA9IHRoaXMuTjtcbiAgICAgICAgY29uc3QgY2cgPSB0aGlzLmNvc3RHcmFkKHRoaXMuWSk7IC8vIGV2YWx1YXRlIGdyYWRpZW50XG4gICAgICAgIGNvbnN0IGNvc3QgPSBjZy5jb3N0O1xuICAgICAgICBjb25zdCBncmFkID0gY2cuZ3JhZDtcbiAgICAgICAgLy8gcGVyZm9ybSBncmFkaWVudCBzdGVwXG4gICAgICAgIGNvbnN0IHltZWFuID0gdGhpcy56ZXJvcyh0aGlzLmRpbSk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTjsgaSsrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBkID0gMDsgZCA8IHRoaXMuZGltOyBkKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBnaWQgPSBncmFkW2ldW2RdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNpZCA9IHRoaXMueXN0ZXBbaV1bZF07XG4gICAgICAgICAgICAgICAgY29uc3QgZ2FpbmlkID0gdGhpcy5nYWluc1tpXVtkXTtcbiAgICAgICAgICAgICAgICAvLyBjb21wdXRlIGdhaW4gdXBkYXRlXG4gICAgICAgICAgICAgICAgbGV0IG5ld2dhaW4gPSB0aGlzLnNpZ24oZ2lkKSA9PT0gdGhpcy5zaWduKHNpZCkgPyBnYWluaWQgKiAwLjggOiBnYWluaWQgKyAwLjI7XG4gICAgICAgICAgICAgICAgaWYgKG5ld2dhaW4gPCAwLjAxKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld2dhaW4gPSAwLjAxO1xuICAgICAgICAgICAgICAgIH0gLy8gY2xhbXBcbiAgICAgICAgICAgICAgICB0aGlzLmdhaW5zW2ldW2RdID0gbmV3Z2FpbjsgLy8gc3RvcmUgZm9yIG5leHQgdHVyblxuICAgICAgICAgICAgICAgIC8vIGNvbXB1dGUgbW9tZW50dW0gc3RlcCBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICBjb25zdCBtb212YWwgPSB0aGlzLml0ZXIgPCAyNTAgPyAwLjUgOiAwLjg7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3c2lkID0gbW9tdmFsICogc2lkIC0gdGhpcy5lcHNpbG9uICogbmV3Z2FpbiAqIGdyYWRbaV1bZF07XG4gICAgICAgICAgICAgICAgdGhpcy55c3RlcFtpXVtkXSA9IG5ld3NpZDsgLy8gcmVtZW1iZXIgdGhlIHN0ZXAgd2UgdG9va1xuICAgICAgICAgICAgICAgIC8vIHN0ZXAhXG4gICAgICAgICAgICAgICAgdGhpcy5ZW2ldW2RdICs9IG5ld3NpZDtcbiAgICAgICAgICAgICAgICB5bWVhbltkXSArPSB0aGlzLllbaV1bZF07IC8vIGFjY3VtdWxhdGUgbWVhbiBzbyB0aGF0IHdlIGNhbiBjZW50ZXIgbGF0ZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyByZXByb2plY3QgWSB0byBiZSB6ZXJvIG1lYW5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGQgPSAwOyBkIDwgdGhpcy5kaW07IGQrKykge1xuICAgICAgICAgICAgICAgIHRoaXMuWVtpXVtkXSAtPSB5bWVhbltkXSAvIE47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy9pZih0aGlzLml0ZXIlMTAwPT09MCkgY29uc29sZS5sb2coJ2l0ZXIgJyArIHRoaXMuaXRlciArICcsIGNvc3Q6ICcgKyBjb3N0KTtcbiAgICAgICAgcmV0dXJuIGNvc3Q7IC8vIHJldHVybiBjdXJyZW50IGNvc3RcbiAgICB9XG4gICAgLy8gZm9yIGRlYnVnZ2luZzogZ3JhZGllbnQgY2hlY2tcbiAgICBkZWJ1Z0dyYWQoKSB7XG4gICAgICAgIGNvbnN0IE4gPSB0aGlzLk47XG4gICAgICAgIGNvbnN0IGNnID0gdGhpcy5jb3N0R3JhZCh0aGlzLlkpOyAvLyBldmFsdWF0ZSBncmFkaWVudFxuICAgICAgICBjb25zdCBjb3N0ID0gY2cuY29zdDtcbiAgICAgICAgY29uc3QgZ3JhZCA9IGNnLmdyYWQ7XG4gICAgICAgIGNvbnN0IGUgPSAxZS01O1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCB0aGlzLmRpbTsgZCsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeW9sZCA9IHRoaXMuWVtpXVtkXTtcbiAgICAgICAgICAgICAgICB0aGlzLllbaV1bZF0gPSB5b2xkICsgZTtcbiAgICAgICAgICAgICAgICBjb25zdCBjZzAgPSB0aGlzLmNvc3RHcmFkKHRoaXMuWSk7XG4gICAgICAgICAgICAgICAgdGhpcy5ZW2ldW2RdID0geW9sZCAtIGU7XG4gICAgICAgICAgICAgICAgY29uc3QgY2cxID0gdGhpcy5jb3N0R3JhZCh0aGlzLlkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFuYWx5dGljID0gZ3JhZFtpXVtkXTtcbiAgICAgICAgICAgICAgICBjb25zdCBudW1lcmljYWwgPSAoY2cwLmNvc3QgLSBjZzEuY29zdCkgLyAoMiAqIGUpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGkgKyAnLCcgKyBkICsgJzogZ3JhZGNoZWNrIGFuYWx5dGljOiAnICsgYW5hbHl0aWMgKyAnIHZzLiBudW1lcmljYWw6ICcgKyBudW1lcmljYWwpO1xuICAgICAgICAgICAgICAgIHRoaXMuWVtpXVtkXSA9IHlvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gcmV0dXJuIGNvc3QgYW5kIGdyYWRpZW50LCBnaXZlbiBhbiBhcnJhbmdlbWVudFxuICAgIGNvc3RHcmFkKFkpIHtcbiAgICAgICAgY29uc3QgTiA9IHRoaXMuTjtcbiAgICAgICAgY29uc3QgZGltID0gdGhpcy5kaW07IC8vIGRpbSBvZiBvdXRwdXQgc3BhY2VcbiAgICAgICAgY29uc3QgUCA9IHRoaXMuUDtcbiAgICAgICAgY29uc3QgcG11bCA9IHRoaXMuaXRlciA8IDEwMCA/IDQgOiAxOyAvLyB0cmljayB0aGF0IGhlbHBzIHdpdGggbG9jYWwgb3B0aW1hXG4gICAgICAgIC8vIGNvbXB1dGUgY3VycmVudCBRIGRpc3RyaWJ1dGlvbiwgdW5ub3JtYWxpemVkIGZpcnN0XG4gICAgICAgIGNvbnN0IHF1QXJyID0gdGhpcy56ZXJvcyhOICogTik7XG4gICAgICAgIGxldCBxc3VtID0gMC4wO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgTjsgaisrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRzdW0gPSAwLjA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCBkaW07IGQrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaGVyZSA9IFlbaV1bZF0gLSBZW2pdW2RdO1xuICAgICAgICAgICAgICAgICAgICBkc3VtICs9IGRoZXJlICogZGhlcmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHF1ID0gMS4wIC8gKDEuMCArIGRzdW0pOyAvLyBTdHVkZW50IHQtZGlzdHJpYnV0aW9uXG4gICAgICAgICAgICAgICAgcXVBcnJbaSAqIE4gKyBqXSA9IHF1O1xuICAgICAgICAgICAgICAgIHF1QXJyW2ogKiBOICsgaV0gPSBxdTtcbiAgICAgICAgICAgICAgICBxc3VtICs9IDIgKiBxdTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBub3JtYWxpemUgUSBkaXN0cmlidXRpb24gdG8gc3VtIHRvIDFcbiAgICAgICAgY29uc3QgTk4gPSBOICogTjtcbiAgICAgICAgY29uc3QgUSA9IHRoaXMuemVyb3MoTk4pO1xuICAgICAgICBmb3IgKGxldCBxID0gMDsgcSA8IE5OOyBxKyspIHtcbiAgICAgICAgICAgIFFbcV0gPSBNYXRoLm1heChxdUFycltxXSAvIHFzdW0sIDFlLTEwMCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNvc3QgPSAwLjA7XG4gICAgICAgIGNvbnN0IGdyYWQgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGdzdW0gPSBuZXcgQXJyYXkoZGltKTsgLy8gaW5pdCBncmFkIGZvciBwb2ludCBpXG4gICAgICAgICAgICBmb3IgKGxldCBkID0gMDsgZCA8IGRpbTsgZCsrKSB7XG4gICAgICAgICAgICAgICAgZ3N1bVtkXSA9IDAuMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgTjsgaisrKSB7XG4gICAgICAgICAgICAgICAgY29zdCArPSAtUFtpICogTiArIGpdICogTWF0aC5sb2coUVtpICogTiArIGpdKTsgLy8gYWNjdW11bGF0ZSBjb3N0ICh0aGUgbm9uLWNvbnN0YW50IHBvcnRpb24gYXQgbGVhc3QuLi4pXG4gICAgICAgICAgICAgICAgY29uc3QgcHJlbXVsdCA9IDQgKiAocG11bCAqIFBbaSAqIE4gKyBqXSAtIFFbaSAqIE4gKyBqXSkgKiBxdUFycltpICogTiArIGpdO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGQgPSAwOyBkIDwgZGltOyBkKyspIHtcbiAgICAgICAgICAgICAgICAgICAgZ3N1bVtkXSArPSBwcmVtdWx0ICogKFlbaV1bZF0gLSBZW2pdW2RdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBncmFkLnB1c2goZ3N1bSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgY29zdCwgZ3JhZCB9O1xuICAgIH1cbn1cbmV4cG9ydHMuVFNORSA9IFRTTkU7XG4iLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbl9fd2VicGFja19yZXF1aXJlX18ubSA9IF9fd2VicGFja19tb2R1bGVzX187XG5cbi8vIHRoZSBzdGFydHVwIGZ1bmN0aW9uXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnggPSAoKSA9PiB7XG5cdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuXHQvLyBUaGlzIGVudHJ5IG1vZHVsZSBkZXBlbmRzIG9uIG90aGVyIGxvYWRlZCBjaHVua3MgYW5kIGV4ZWN1dGlvbiBuZWVkIHRvIGJlIGRlbGF5ZWRcblx0dmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLk8odW5kZWZpbmVkLCBbNDgzLDM1Ml0sICgpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fKDQ5NDMpKSlcblx0X193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyhfX3dlYnBhY2tfZXhwb3J0c19fKTtcblx0cmV0dXJuIF9fd2VicGFja19leHBvcnRzX187XG59O1xuXG4iLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmYgPSB7fTtcbi8vIFRoaXMgZmlsZSBjb250YWlucyBvbmx5IHRoZSBlbnRyeSBjaHVuay5cbi8vIFRoZSBjaHVuayBsb2FkaW5nIGZ1bmN0aW9uIGZvciBhZGRpdGlvbmFsIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5lID0gKGNodW5rSWQpID0+IHtcblx0cmV0dXJuIFByb21pc2UuYWxsKE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uZikucmVkdWNlKChwcm9taXNlcywga2V5KSA9PiB7XG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5mW2tleV0oY2h1bmtJZCwgcHJvbWlzZXMpO1xuXHRcdHJldHVybiBwcm9taXNlcztcblx0fSwgW10pKTtcbn07IiwiLy8gVGhpcyBmdW5jdGlvbiBhbGxvdyB0byByZWZlcmVuY2UgYXN5bmMgY2h1bmtzIGFuZCBzaWJsaW5nIGNodW5rcyBmb3IgdGhlIGVudHJ5cG9pbnRcbl9fd2VicGFja19yZXF1aXJlX18udSA9IChjaHVua0lkKSA9PiB7XG5cdC8vIHJldHVybiB1cmwgZm9yIGZpbGVuYW1lcyBiYXNlZCBvbiB0ZW1wbGF0ZVxuXHRyZXR1cm4gXCJcIiArIGNodW5rSWQgKyBcIi5qc1wiO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmcgPSAoZnVuY3Rpb24oKSB7XG5cdGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybiBnbG9iYWxUaGlzO1xuXHR0cnkge1xuXHRcdHJldHVybiB0aGlzIHx8IG5ldyBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSByZXR1cm4gd2luZG93O1xuXHR9XG59KSgpOyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCJ2YXIgc2NyaXB0VXJsO1xuaWYgKF9fd2VicGFja19yZXF1aXJlX18uZy5pbXBvcnRTY3JpcHRzKSBzY3JpcHRVcmwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLmcubG9jYXRpb24gKyBcIlwiO1xudmFyIGRvY3VtZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmRvY3VtZW50O1xuaWYgKCFzY3JpcHRVcmwgJiYgZG9jdW1lbnQpIHtcblx0aWYgKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpXG5cdFx0c2NyaXB0VXJsID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM7XG5cdGlmICghc2NyaXB0VXJsKSB7XG5cdFx0dmFyIHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKTtcblx0XHRpZihzY3JpcHRzLmxlbmd0aCkge1xuXHRcdFx0dmFyIGkgPSBzY3JpcHRzLmxlbmd0aCAtIDE7XG5cdFx0XHR3aGlsZSAoaSA+IC0xICYmICFzY3JpcHRVcmwpIHNjcmlwdFVybCA9IHNjcmlwdHNbaS0tXS5zcmM7XG5cdFx0fVxuXHR9XG59XG4vLyBXaGVuIHN1cHBvcnRpbmcgYnJvd3NlcnMgd2hlcmUgYW4gYXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCB5b3UgbXVzdCBzcGVjaWZ5IGFuIG91dHB1dC5wdWJsaWNQYXRoIG1hbnVhbGx5IHZpYSBjb25maWd1cmF0aW9uXG4vLyBvciBwYXNzIGFuIGVtcHR5IHN0cmluZyAoXCJcIikgYW5kIHNldCB0aGUgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gdmFyaWFibGUgZnJvbSB5b3VyIGNvZGUgdG8gdXNlIHlvdXIgb3duIGxvZ2ljLlxuaWYgKCFzY3JpcHRVcmwpIHRocm93IG5ldyBFcnJvcihcIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyXCIpO1xuc2NyaXB0VXJsID0gc2NyaXB0VXJsLnJlcGxhY2UoLyMuKiQvLCBcIlwiKS5yZXBsYWNlKC9cXD8uKiQvLCBcIlwiKS5yZXBsYWNlKC9cXC9bXlxcL10rJC8sIFwiL1wiKTtcbl9fd2VicGFja19yZXF1aXJlX18ucCA9IHNjcmlwdFVybDsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmIgPSBzZWxmLmxvY2F0aW9uICsgXCJcIjtcblxuLy8gb2JqZWN0IHRvIHN0b3JlIGxvYWRlZCBjaHVua3Ncbi8vIFwiMVwiIG1lYW5zIFwiYWxyZWFkeSBsb2FkZWRcIlxudmFyIGluc3RhbGxlZENodW5rcyA9IHtcblx0OTQzOiAxXG59O1xuXG4vLyBpbXBvcnRTY3JpcHRzIGNodW5rIGxvYWRpbmdcbnZhciBpbnN0YWxsQ2h1bmsgPSAoZGF0YSkgPT4ge1xuXHR2YXIgW2NodW5rSWRzLCBtb3JlTW9kdWxlcywgcnVudGltZV0gPSBkYXRhO1xuXHRmb3IodmFyIG1vZHVsZUlkIGluIG1vcmVNb2R1bGVzKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKG1vcmVNb2R1bGVzLCBtb2R1bGVJZCkpIHtcblx0XHRcdF9fd2VicGFja19yZXF1aXJlX18ubVttb2R1bGVJZF0gPSBtb3JlTW9kdWxlc1ttb2R1bGVJZF07XG5cdFx0fVxuXHR9XG5cdGlmKHJ1bnRpbWUpIHJ1bnRpbWUoX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cdHdoaWxlKGNodW5rSWRzLmxlbmd0aClcblx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZHMucG9wKCldID0gMTtcblx0cGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24oZGF0YSk7XG59O1xuX193ZWJwYWNrX3JlcXVpcmVfXy5mLmkgPSAoY2h1bmtJZCwgcHJvbWlzZXMpID0+IHtcblx0Ly8gXCIxXCIgaXMgdGhlIHNpZ25hbCBmb3IgXCJhbHJlYWR5IGxvYWRlZFwiXG5cdGlmKCFpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0pIHtcblx0XHRpZih0cnVlKSB7IC8vIGFsbCBjaHVua3MgaGF2ZSBKU1xuXHRcdFx0aW1wb3J0U2NyaXB0cyhfX3dlYnBhY2tfcmVxdWlyZV9fLnAgKyBfX3dlYnBhY2tfcmVxdWlyZV9fLnUoY2h1bmtJZCkpO1xuXHRcdH1cblx0fVxufTtcblxudmFyIGNodW5rTG9hZGluZ0dsb2JhbCA9IHNlbGZbXCJ3ZWJwYWNrQ2h1bmtlZGFcIl0gPSBzZWxmW1wid2VicGFja0NodW5rZWRhXCJdIHx8IFtdO1xudmFyIHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uID0gY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2guYmluZChjaHVua0xvYWRpbmdHbG9iYWwpO1xuY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2ggPSBpbnN0YWxsQ2h1bms7XG5cbi8vIG5vIEhNUlxuXG4vLyBubyBITVIgbWFuaWZlc3QiLCIvLyBydW4gc3RhcnR1cFxudmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLngoKTtcbiJdLCJuYW1lcyI6WyJkZWZlcnJlZCIsIm5leHQiLCJGbG9hdDMyQXJyYXkiLCJ0YW5pbW90b1NpbWlsYXJpdHkiLCJ4IiwieSIsInRvdGFsIiwidHJ1ZUNvdW50IiwiY29tbW9uIiwiYW5kV2l0aENvdW50Qml0cyIsImdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkiLCJzaW1pbGFyaXR5IiwiYXNzZXJ0IiwiY29uZGl0aW9uIiwibWVzc2FnZSIsIkVycm9yIiwidmVjdG9yRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsInAiLCJxIiwicmVzdWx0IiwibGVuIiwibGVuZ3RoIiwiaSIsIk1hdGgiLCJwb3ciLCJzcXJ0Iiwic3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsInMxIiwiczIiLCJkaXN0IiwiYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiZGljZVNpbWlsYXJpdHkiLCJtaW4iLCJhc3ltbWV0cmljU2ltaWxhcml0eSIsIm1heCIsImJyYXVuQmxhbnF1ZXRTaW1pbGFyaXR5IiwiY29zaW5lU2ltaWxhcml0eSIsInRvdGFsUHJvZCIsImt1bGN6eW5za2lTaW1pbGFyaXR5IiwibWNDb25uYXVnaGV5U2ltaWxhcml0eSIsImNvdW50Qml0cyIsImRpZmYiLCJyb2dvdEdvbGRiZXJnU2ltaWxhcml0eSIsInJ1c3NlbFNpbWlsYXJpdHkiLCJzb2thbFNpbWlsYXJpdHkiLCJpbnRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJudW1iZXJEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiYWJzIiwiQXZhaWxhYmxlTWV0cmljcyIsIk1ldHJpY1RvRGF0YVR5cGUiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwicmV0Iiwia2V5IiwidmFsIiwiTWVhc3VyZSIsIm1ldGhvZCIsImRhdGFUeXBlIiwiY29uc3RydWN0b3IiLCJ0aGlzIiwiZ2V0TWVhc3VyZSIsIm9wdHMiLCJkaWN0IiwiaGFzT3duUHJvcGVydHkiLCJuYW1lIiwic3RhdGljIiwiYXZhaWxhYmxlTWVhc3VyZXMiLCJEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyIsImluc2VydFNtYWxsZXIiLCJkaXN0YW5jZXNBciIsImluZGV4ZXMiLCJudW0iLCJpbmRleCIsIm5ld1Bvc2l0aW9uIiwiZmluZEluZGV4IiwidiIsInBvcCIsInNwbGljZSIsIkRpc3RhbmNlTWF0cml4U2VydmljZSIsIl93b3JrZXJzIiwiX3dvcmtlckNvdW50IiwiX3Rlcm1pbmF0ZU9uQ29tcGxldGUiLCJ1c2VDb25jdXJyZW50V29ya2VycyIsInRlcm1pbmF0ZU9uQ29tcGxldGUiLCJ0aHJlYWRDb3VudCIsIm5hdmlnYXRvciIsImhhcmR3YXJlQ29uY3VycmVuY3kiLCJBcnJheSIsImZpbGwiLCJtYXAiLCJXb3JrZXIiLCJVUkwiLCJhc3luYyIsInZhbHVlcyIsImZuTmFtZSIsIm5vcm1hbGl6ZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicHJvbWlzZXMiLCJ0b3RhbExlbmd0aCIsImNodW5rU2l6ZSIsImRpc3RhbmNlTWF0cml4IiwiZW5kUm93IiwiZW5kQ29sIiwibG1pbiIsImxtYXgiLCJOdW1iZXIiLCJNSU5fVkFMVUUiLCJzdGFydCIsImZsb29yIiwiZW5kIiwic3RhcnRSb3ciLCJzdGFydENvbCIsInBvc3RNZXNzYWdlIiwiY2h1bmNrU2l6ZSIsInJlc29sdmVXb3JrZXIiLCJyZWplY3RXb3JrZXIiLCJvbm1lc3NhZ2UiLCJkYXRhIiwiZXJyb3IiLCJkaXN0YW5jZU1hdHJpeERhdGEiLCJ0ZXJtaW5hdGUiLCJzZXQiLCJhbGwiLCJmb3JFYWNoIiwidmFsdWUiLCJlIiwid29ya2VyIiwidGF1UmFuZEludCIsIm4iLCJyYW5kb20iLCJ0YXVSYW5kIiwiZW1wdHkiLCJvdXRwdXQiLCJwdXNoIiwidW5kZWZpbmVkIiwicmFuZ2UiLCJfIiwiZmlsbGVkIiwiemVyb3MiLCJtZWFuIiwiaW5wdXQiLCJzdW0iLCJyZWplY3Rpb25TYW1wbGUiLCJuU2FtcGxlcyIsInBvb2xTaXplIiwicmVqZWN0U2FtcGxlIiwiaiIsImJyb2tlbiIsImsiLCJyZXNoYXBlMmQiLCJhIiwiYiIsInJvd3MiLCJjb3VudCIsImNvbCIsIm1ha2VIZWFwIiwiblBvaW50cyIsInNpemUiLCJtYWtlQXJyYXlzIiwiZmlsbFZhbHVlIiwiaGVhcCIsIkluZmluaXR5IiwiaGVhcFB1c2giLCJyb3ciLCJ3ZWlnaHQiLCJmbGFnIiwiaW5kaWNlcyIsIndlaWdodHMiLCJ1bmNoZWNrZWRIZWFwUHVzaCIsImlzTmV3IiwiaVN3YXAiLCJpYzEiLCJpYzIiLCJoZWFwU2hhcGUyIiwiYnVpbGRDYW5kaWRhdGVzIiwiY3VycmVudEdyYXBoIiwiblZlcnRpY2VzIiwibk5laWdoYm9ycyIsIm1heENhbmRpZGF0ZXMiLCJjYW5kaWRhdGVOZWlnaGJvcnMiLCJpZHgiLCJpc24iLCJkIiwiZGVoZWFwU29ydCIsImluZEhlYXAiLCJkaXN0SGVhcCIsImluZEhlYXBJbmRleCIsImRpc3RIZWFwSW5kZXgiLCJ0ZW1wMSIsInRlbXAyIiwic2lmdERvd24iLCJoZWFwMSIsImhlYXAyIiwiY2VpbGluZyIsImVsdCIsImxlZnRDaGlsZCIsInJpZ2h0Q2hpbGQiLCJzd2FwIiwic21hbGxlc3RGbGFnZ2VkIiwiaW5kIiwibWluRGlzdCIsInJlc3VsdEluZGV4IiwiU3BhcnNlTWF0cml4IiwiZW50cmllcyIsIk1hcCIsIm5Sb3dzIiwibkNvbHMiLCJjb2xzIiwiZGltcyIsImNoZWNrRGltcyIsIm1ha2VLZXkiLCJoYXMiLCJnZXQiLCJkZWZhdWx0VmFsdWUiLCJnZXRBbGwiLCJvcmRlcmVkIiwicm93Q29sVmFsdWVzIiwic29ydCIsImdldERpbXMiLCJnZXRSb3dzIiwiZnJvbSIsImdldENvbHMiLCJnZXRWYWx1ZXMiLCJmbiIsInZhbHMiLCJ0b0FycmF5IiwibWF0cml4Iiwib2xkUm93cyIsIm9sZENvbHMiLCJvbGRWYWxzIiwibWF0bGVuIiwiSW50MzJBcnJheSIsInBhaXJ3aXNlTXVsdGlwbHkiLCJlbGVtZW50V2lzZSIsImFkZCIsInN1YnRyYWN0IiwibXVsdGlwbHlTY2FsYXIiLCJzY2FsYXIiLCJlbGltaW5hdGVaZXJvcyIsIm0iLCJ6ZXJvSW5kaWNlcyIsIlNldCIsInJlbW92ZUJ5WmVyb0luZGV4IiwibmV4dFZhbHVlcyIsImZpbHRlciIsIm5leHRSb3dzIiwibmV4dENvbHMiLCJub3JtVHlwZSIsIm5vcm1GbiIsIm5vcm1GbnMiLCJjb2xzQnlSb3ciLCJuZXh0TWF0cml4Iiwibm9ybSIsInhzIiwib3AiLCJ2aXNpdGVkIiwib3BlcmF0ZSIsIm5leHRWYWx1ZSIsInZhbHVlc0EiLCJyb3dzQSIsImNvbHNBIiwidmFsdWVzQiIsInJvd3NCIiwiY29sc0IiLCJnZXRDU1IiLCJpbmRwdHIiLCJjdXJyZW50Um93IiwiRmxhdFRyZWUiLCJoeXBlcnBsYW5lcyIsIm9mZnNldHMiLCJjaGlsZHJlbiIsIm1ha2VGb3Jlc3QiLCJuVHJlZXMiLCJsZWFmU2l6ZSIsInRyZWVzIiwibWFrZUV1Y2xpZGVhblRyZWUiLCJtYWtlVHJlZSIsImZvcmVzdCIsInRyZWUiLCJuTm9kZXMiLCJudW1Ob2RlcyIsIm5MZWF2ZXMiLCJudW1MZWF2ZXMiLCJoeXBlcnBsYW5lIiwicmVjdXJzaXZlRmxhdHRlbiIsImZsYXR0ZW5UcmVlIiwic3BsaXRSZXN1bHRzIiwibGVmdEluZGV4IiwicmlnaHRJbmRleCIsImxlZnQiLCJyaWdodCIsImh5cGVycGxhbmVPZmZzZXQiLCJoeXBlcnBsYW5lVmVjdG9yIiwibkxlZnQiLCJuUmlnaHQiLCJzaWRlIiwibWFyZ2luIiwiaW5kaWNlc0xlZnQiLCJpbmRpY2VzUmlnaHQiLCJvZmZzZXQiLCJldWNsaWRlYW5SYW5kb21Qcm9qZWN0aW9uU3BsaXQiLCJpc0xlYWYiLCJub2RlTnVtIiwibGVhZk51bSIsIm9sZE5vZGVOdW0iLCJyZXMiLCJzZWxlY3RTaWRlIiwicG9pbnQiLCJzZWFyY2hGbGF0VHJlZSIsIm5vZGUiLCJTTU9PVEhfS19UT0xFUkFOQ0UiLCJNSU5fS19ESVNUX1NDQUxFIiwiVU1BUCIsImxlYXJuaW5nUmF0ZSIsImxvY2FsQ29ubmVjdGl2aXR5IiwibkNvbXBvbmVudHMiLCJuRXBvY2hzIiwibmVnYXRpdmVTYW1wbGVSYXRlIiwicmVwdWxzaW9uU3RyZW5ndGgiLCJzZXRPcE1peFJhdGlvIiwic3ByZWFkIiwidHJhbnNmb3JtUXVldWVTaXplIiwidGFyZ2V0TWV0cmljIiwidGFyZ2V0V2VpZ2h0IiwidGFyZ2V0Tk5laWdoYm9ycyIsImRpc3RhbmNlRm4iLCJudW1lcmljIiwia25uSW5kaWNlcyIsImtubkRpc3RhbmNlcyIsImdyYXBoIiwiWCIsImlzSW5pdGlhbGl6ZWQiLCJycEZvcmVzdCIsImluaXRGcm9tUmFuZG9tIiwiaW5pdEZyb21UcmVlIiwic2VhcmNoIiwic2VhcmNoR3JhcGgiLCJZIiwiZW1iZWRkaW5nIiwib3B0aW1pemF0aW9uU3RhdGUiLCJPcHRpbWl6YXRpb25TdGF0ZSIsIm5laWdoYm9ycyIsInBhcmFtcyIsInNldFBhcmFtIiwiZml0IiwiaW5pdGlhbGl6ZUZpdCIsIm9wdGltaXplTGF5b3V0IiwiY2FsbGJhY2siLCJvcHRpbWl6ZUxheW91dEFzeW5jIiwic2V0U3VwZXJ2aXNlZFByb2plY3Rpb24iLCJzZXRQcmVjb21wdXRlZEtOTiIsImdldE5FcG9jaHMiLCJrbm5SZXN1bHRzIiwibmVhcmVzdE5laWdoYm9ycyIsImZ1enp5U2ltcGxpY2lhbFNldCIsIm1ha2VTZWFyY2hGbnMiLCJtYWtlU2VhcmNoR3JhcGgiLCJwcm9jZXNzR3JhcGhGb3JTdXBlcnZpc2VkUHJvamVjdGlvbiIsImhlYWQiLCJ0YWlsIiwiZXBvY2hzUGVyU2FtcGxlIiwiaW5pdGlhbGl6ZVNpbXBsaWNpYWxTZXRFbWJlZGRpbmciLCJpbml0aWFsaXplT3B0aW1pemF0aW9uIiwicHJlcGFyZUZvck9wdGltaXphdGlvbkxvb3AiLCJxdWVyeVBvaW50cyIsIl9oZWFwIiwiX3RyZWUiLCJpbml0aWFsaXphdGlvbiIsInRyaWVkIiwidmVydGV4IiwiY2FuZGlkYXRlcyIsInNsaWNlIiwiY2FuZGlkYXRlIiwia25uIiwiZGlzdGFuY2VzIiwibmVpZ2hib3IiLCJkaXN0YW5jZSIsInRyYW5zZm9ybSIsInRvVHJhbnNmb3JtIiwicmF3RGF0YSIsImluaXQiLCJyZXN1bHRzIiwiYWRqdXN0ZWRMb2NhbENvbm5lY3Rpdml0eSIsInNpZ21hcyIsInJob3MiLCJzbW9vdGhLTk5EaXN0YW5jZSIsImNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzIiwiY3NyTWF0cml4IiwieiIsImluaXRUcmFuc2Zvcm0iLCJncmFwaE1heCIsIm1ha2VFcG9jaHNQZXJTYW1wbGUiLCJhc3NpZ25PcHRpbWl6YXRpb25TdGF0ZVBhcmFtZXRlcnMiLCJoZWFkRW1iZWRkaW5nIiwidGFpbEVtYmVkZGluZyIsImN1cnJlbnRFcG9jaCIsImZhckRpc3QiLCJjYXRlZ29yaWNhbFNpbXBsaWNpYWxTZXRJbnRlcnNlY3Rpb24iLCJzdGVwIiwib3B0aW1pemVMYXlvdXRTdGVwIiwiZ2V0RW1iZWRkaW5nIiwibWV0cmljTk5EZXNjZW50IiwibGVhZkFycmF5Iiwibkl0ZXJzIiwiZGVsdGEiLCJyaG8iLCJycFRyZWVJbml0IiwiYyIsImNqIiwiY2siLCJyb3VuZCIsImxvZyIsImxvZzIiLCJzcGFyc2VNYXRyaXgiLCJ0cmFuc3Bvc2UiLCJwcm9kTWF0cml4Iiwic2ltcGxpY2lhbFNldCIsInRhcmdldCIsInVua25vd25EaXN0IiwiaW50ZXJzZWN0aW9uIiwiZXhwIiwiZmFzdEludGVyc2VjdGlvbiIsInJlc2V0TG9jYWxDb25uZWN0aXZpdHkiLCJuSXRlciIsImJhbmR3aWR0aCIsImxvIiwiaGkiLCJtaWQiLCJpdGhEaXN0YW5jZXMiLCJub25aZXJvRGlzdHMiLCJpbnRlcnBvbGF0aW9uIiwicHN1bSIsIm1lYW5JdGhEaXN0YW5jZXMiLCJtZWFuRGlzdGFuY2VzIiwiZ3JhcGhWYWx1ZXMiLCJlbnRyeSIsInciLCJzdGF0ZSIsImFzc2lnbiIsImRpbSIsIm1vdmVPdGhlciIsImVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlIiwiZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZSIsImVwb2NoT2ZOZXh0U2FtcGxlIiwiaW5pdGlhbEFscGhhIiwiYWxwaGEiLCJnYW1tYSIsInh2IiwieXYiLCJwYXJhbWV0ZXJWYWx1ZXMiLCJwYXJhbWV0ZXJpemVkRnVuY3Rpb24iLCJvcHRpb25zIiwibWF4SXRlcmF0aW9ucyIsImdyYWRpZW50RGlmZmVyZW5jZSIsImRhbXBpbmciLCJlcnJvclRvbGVyYW5jZSIsIm1pblZhbHVlcyIsIm1heFZhbHVlcyIsImluaXRpYWxWYWx1ZXMiLCJwYXJhbWV0ZXJzIiwicGFyTGVuIiwiTUFYX1NBRkVfSU5URUdFUiIsIk1JTl9TQUZFX0lOVEVHRVIiLCJpdGVyYXRpb24iLCJlcnJvckNhbGN1bGF0aW9uIiwiY29udmVyZ2VkIiwiaXNOYU4iLCJwYXJhbWV0ZXJFcnJvciIsIml0ZXJhdGlvbnMiLCJmaW5kQUJQYXJhbXMiLCJjdXJyZW50Iiwib3RoZXIiLCJkaXN0U3F1YXJlZCIsInJEaXN0IiwiZ3JhZENvZWZmIiwiZ3JhZEQiLCJjbGlwIiwibk5lZ1NhbXBsZXMiLCJlcG9jaENhbGxiYWNrIiwiZXBvY2hDb21wbGV0ZWQiLCJzaG91bGRTdG9wIiwiaXNGaW5pc2hlZCIsInNldFRpbWVvdXQiLCJlcnIiLCJjbGlwVmFsdWUiLCJTcGFyc2VNYXRyaXhTZXJ2aWNlIiwidGhyZXNob2xkIiwibWF0U2l6ZSIsIm1pblRocmVzaG9sZCIsImdldE1pbmltYWxUaHJlc2hvbGQiLCJjb25zb2xlIiwid29ya2VycyIsInN0YXJ0SWR4IiwiZW5kSWR4IiwiZnVsbFNpemUiLCJhY2MiLCJuTmVpZ2hib3VycyIsIm11bHRpQ29sdW1uS05OIiwiZm5OYW1lcyIsImFnZ3JlZ2F0aW9uTWV0aG9kIiwiRVVDTElERUFOIiwic29tZSIsImtubkluZGV4ZXMiLCJrbm5SZXMiLCJ0aHJlc2hvbGRXb3JrZXJzIiwic2h1ZmZsZWRWYWx1ZXMiLCJtYXhTYW1wbGVTaXplIiwic2FtcGxlU2lzZSIsInRlc3RTZXRTaXplUGVyV29ya2VyIiwidFByb21pc2VzIiwic2FtcGxlTGVuZ3RoIiwiZ2V0U2FtcGxlRGlzdGFuY2VzIiwiY250IiwibWkiLCJtaiIsIk11bHRpQ29sdW1uUmVkdWNlciIsIk11bHRpVFNORVJlZHVjZXIiLCJyZWR1Y2VyIiwiZGlzdGFuY2VGbmFtZXMiLCJkaXN0YW5jZUZucyIsImRpc3RhbmNlRm5BcmdzIiwic3VwZXIiLCJtYXRyaXhTZXJ2aWNlIiwiYWdncmVnYXRlIiwiTUFOSEFUVEFOIiwidnMiLCJjYWxjIiwibWF0cml4UHJveHkiLCJjb25kZW5zZWRBcnJheSIsImxpbmVhckZ1bmMiLCJkbUxpbmVhckluZGV4IiwibGluZWFySW5kZXgiLCJpTnVtIiwiak51bSIsImlkeDFIYW5kbGVyIiwiaWR4MSIsIl9yZWNlaXZlciIsIlByb3h5IiwiaWR4MiIsImlkeDJIYW5kbGVyIiwiZGlzdGFuY2VNYXRyaXhQcm94eSIsImluaXREYXRhRGlzdCIsImdldFNvbHV0aW9uIiwiTXVsdGlVTUFQUmVkdWNlciIsInZlY3RvcnMiLCJwcm9ncmVzc0Z1bmMiLCJfcGFyYWxsZWxEaXN0YW5jZVdvcmtlcnMiLCJ0aW1lIiwidGltZUVuZCIsImZpdEFzeW5jIiwiZXBvYyIsIkF2YWlsYWJsZVJlZHVjZXJzIiwiTXVsdGlDb2xEaW1SZWR1Y2VyIiwibWV0cmljcyIsImRpc3RhbmNlQWdncmVnYXRpb24iLCJtZWFzdXJlcyIsIm1lYXN1cmUiLCJiaXRBcnJheUxlbmd0aCIsIl9sZW5ndGgiLCJfZGF0YSIsInR5cGVOYW1lIiwiYXZhaWxhYmxlTWV0aG9kcyIsImF2YWlsYWJsZU1ldHJpY3MiLCJhbnMiLCJvYmoiLCJhcnJheSIsImVwb2NoTnVtIiwiZXBvY2hzTGVuZ3RoIiwic2VsZiIsImNvbHVtbnNEYXRhIiwiZGlzdGFuY2VNZXRyaWNzIiwib25NZXNzYWdlIiwiZXhwb3J0cyIsInRzbmVfMSIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsIlRTTkUiLCJvcHQiLCJyZXR1cm5WIiwidlZhbHVlIiwiaXRlciIsInBlcnBsZXhpdHkiLCJnZXRvcHQiLCJlcHNpbG9uIiwiZmllbGQiLCJkZWZhdWx0dmFsIiwiZ2F1c3NSYW5kb20iLCJ1IiwiciIsInJhbmRuIiwibXUiLCJzdGQiLCJBcnJheUJ1ZmZlciIsImFyciIsIkZsb2F0NjRBcnJheSIsInJhbmRuMmQiLCJzIiwidXNlcyIsInhoZXJlIiwiTDIiLCJ4MSIsIngyIiwiRCIsIngxaSIsIngyaSIsInh0b2QiLCJOIiwiZDJwIiwidG9sIiwibmYiLCJoVGFyZ2V0IiwiUCIsInByb3ciLCJiZXRhbWluIiwiYmV0YW1heCIsImJldGEiLCJkb25lIiwibWF4dHJpZXMiLCJwaiIsIm5IZXJlIiwicE91dCIsIk4yIiwic2lnbiIsImluaXREYXRhUmF3IiwiZGlzdHMiLCJpbml0U29sdXRpb24iLCJnYWlucyIsInlzdGVwIiwiY2ciLCJjb3N0R3JhZCIsImNvc3QiLCJncmFkIiwieW1lYW4iLCJnaWQiLCJzaWQiLCJnYWluaWQiLCJuZXdnYWluIiwibmV3c2lkIiwiZGVidWdHcmFkIiwieW9sZCIsImNnMCIsImNnMSIsImFuYWx5dGljIiwibnVtZXJpY2FsIiwicG11bCIsInF1QXJyIiwicXN1bSIsImRzdW0iLCJkaGVyZSIsInF1IiwiTk4iLCJRIiwiZ3N1bSIsInByZW11bHQiLCJfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJjYWNoZWRNb2R1bGUiLCJtb2R1bGUiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwiX193ZWJwYWNrX2V4cG9ydHNfXyIsIk8iLCJjaHVua0lkcyIsInByaW9yaXR5Iiwibm90RnVsZmlsbGVkIiwiZnVsZmlsbGVkIiwiZXZlcnkiLCJkZWZpbml0aW9uIiwibyIsImYiLCJjaHVua0lkIiwiZyIsImdsb2JhbFRoaXMiLCJGdW5jdGlvbiIsIndpbmRvdyIsInByb3AiLCJwcm90b3R5cGUiLCJjYWxsIiwic2NyaXB0VXJsIiwiaW1wb3J0U2NyaXB0cyIsImxvY2F0aW9uIiwiZG9jdW1lbnQiLCJjdXJyZW50U2NyaXB0Iiwic3JjIiwic2NyaXB0cyIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwicmVwbGFjZSIsImluc3RhbGxlZENodW5rcyIsImNodW5rTG9hZGluZ0dsb2JhbCIsInBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uIiwiYmluZCIsIm1vcmVNb2R1bGVzIiwicnVudGltZSIsInRoZW4iXSwic291cmNlUm9vdCI6IiJ9
2
+ (self.webpackChunkeda=self.webpackChunkeda||[]).push([[943],{4943:(t,e,n)=>{"use strict";class r extends Float32Array{}var s=n(7659),i=n(1040),o=n(1811),a=n(3979),h=n(9657),c=n(708);function l(t,e){const n=t.trueCount()+e.trueCount();if(0==n)return 1;const r=t.andWithCountBits(e,!0);return r/(n-r)}function u(t){return 0===t?3402823e32:1/t-1}function g(t=!1,e="Assertion error."){if(!t)throw new Error(e)}i.gk.Tanimoto,i.gk.Dice,i.gk.Asymmetric,i.gk.BraunBlanquet,i.gk.Cosine,i.gk.Kulczynski,i.gk.McConnaughey,i.gk.RogotGoldberg,i.gk.Russel,i.gk.Sokal,i.gk.Hamming,i.gk.Euclidean,i.gk.Tanimoto,i.gk.Dice,i.gk.Asymmetric,i.gk.BraunBlanquet,i.gk.Cosine,i.gk.Kulczynski,i.gk.McConnaughey,i.gk.RogotGoldberg,i.gk.Russel,i.gk.Sokal,i.gk.Hamming,i.gk.Euclidean,i.gk.Tanimoto,i.gk.Dice,i.gk.Cosine,i.gk.Tanimoto,i.gk.Asymmetric,i.gk.Cosine,i.gk.Sokal,c.U.HAMMING,c.U.LEVENSHTEIN,c.U.MONOMER_CHEMICAL_DISTANCE,c.U.NEEDLEMANN_WUNSCH;const f={[i.CF.Euclidean]:function(t,e){let n=0;const r=t.length;if(r!==e.length)throw new Error("The dimensionality of the vectors must match");for(let s=0;s<r;++s)n+=Math.pow(t[s]-e[s],2);return Math.sqrt(n)}},d={[i.W.Levenshtein]:o.T,[i.W.JaroWinkler]:a.H$,[i.W.Manhattan]:function(t,e){if(t.length!==e.length)return 1;{let n=0;for(let r=1;r<t.length;r++)n+=t[r]==e[r]?0:1;return n/t.length}},[i.W.Onehot]:function(t,e){return t===e?0:1}},m={[i.gk.Tanimoto]:function(t,e){return u(l(t,e))},[i.gk.Dice]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount();return 0==n?0:2*t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.Asymmetric]:function(t,e){return u(function(t,e){const n=Math.min(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.BraunBlanquet]:function(t,e){return u(function(t,e){const n=Math.max(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.Cosine]:function(t,e){return u(function(t,e){const n=t.trueCount()*e.trueCount();return 0==n?0:t.andWithCountBits(e,!0)/Math.sqrt(n)}(t,e))},[i.gk.Kulczynski]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.trueCount()*e.trueCount();return 0==r?0:t.andWithCountBits(e,!0)*n/(2*r)}(t,e))},[i.gk.McConnaughey]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.trueCount()*e.trueCount();return 0==r?0:(t.andWithCountBits(e,!0)*n-r)/r}(t,e))},[i.gk.RogotGoldberg]:function(t,e){return u(function(t,e){const n=t.andWithCountBits(e,!0),r=t.countBits(!0)+e.countBits(!0),s=t.length,i=s-r+n;return n==s||i==s?1:n/r+i/(2*s-r)}(t,e))},[i.gk.Russel]:function(t,e){return u(function(t,e){return 0==t.length?0:t.andWithCountBits(e,!0)/t.length}(t,e))},[i.gk.Sokal]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.andWithCountBits(e,!0);return r/(2*n-3*r)}(t,e))},[i.gk.Hamming]:function(t,e){return t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0)},[i.gk.Euclidean]:function(t,e){return Math.sqrt(t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0))}},p={[i.gd.TanimotoIntArray]:function(t,e){return u(l(new h.Z(t,32*t.length),new h.Z(e,32*e.length)))}},w={[i.Yc.Difference]:function(t,e){return Math.abs(t-e)}},y={[i.Qe.Vector]:{[i.CF.Euclidean]:f[i.CF.Euclidean]},[i.Qe.String]:{[i.W.Levenshtein]:d[i.W.Levenshtein],[i.W.JaroWinkler]:d[i.W.JaroWinkler],[i.W.Manhattan]:d[i.W.Manhattan],[i.W.Onehot]:d[i.W.Onehot]},[i.Qe.BitArray]:{[i.gk.Tanimoto]:m[i.gk.Tanimoto],[i.gk.Dice]:m[i.gk.Dice],[i.gk.Asymmetric]:m[i.gk.Asymmetric],[i.gk.BraunBlanquet]:m[i.gk.BraunBlanquet],[i.gk.Cosine]:m[i.gk.Cosine],[i.gk.Kulczynski]:m[i.gk.Kulczynski],[i.gk.McConnaughey]:m[i.gk.McConnaughey],[i.gk.RogotGoldberg]:m[i.gk.RogotGoldberg],[i.gk.Russel]:m[i.gk.Russel],[i.gk.Sokal]:m[i.gk.Sokal]},[i.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]},[i.Qe.Number]:{[i.Yc.Difference]:w[i.Yc.Difference]},[i.Qe.IntArray]:{[i.gd.TanimotoIntArray]:p[i.gd.TanimotoIntArray]}},k=Object.keys(y).reduce(((t,e)=>{for(const n of Object.keys(y[e]))t[n]=e;return t}),{});class M{method;dataType;constructor(t){this.method=t,this.dataType=k[t]}getMeasure(t){const e=y;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,k[n]==i.Qe.MacroMolecule.toString()?e[this.dataType][this.method](t):e[this.dataType][this.method];var n}static getMetricByDataType(t){return Object.keys(y[t])}static get availableMeasures(){return Object.keys(y)}}var v;!function(t){t.EUCLIDEAN="EUCLIDEAN",t.MANHATTAN="MANHATTAN"}(v||(v={}));const x=t=>null==t;function N(t,e,n,r){if(n>t[t.length-1])return;const s=t.findIndex((t=>n<t));t.pop(),t.splice(s,0,n),e.pop(),e.splice(s,0,r)}class b{_workers;_workerCount;_terminateOnComplete;constructor(t=!0,e=!0){const r=navigator.hardwareConcurrency;this._workerCount=t?Math.max(r-2,1):1,this._workers=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(100),n.b)))),this._terminateOnComplete=e}async calc(t,e,n=!0,r){return new Promise((async(s,i)=>{try{const i=t.length,o=new Array(this._workerCount),a=i*(i-1)/2;this._workerCount=Math.min(this._workerCount,a);const h=a/this._workerCount,c=new Float32Array(a);let l=0,u=1,g=0,f=Number.MIN_VALUE;for(let n=0;n<this._workerCount;n++){const s=Math.floor(n*h),d=n===this._workerCount-1?a:Math.floor((n+1)*h),m=l,p=u;n!==this._workerCount-1&&(l=i-2-Math.floor(Math.sqrt(-8*d+4*i*(i-1)-7)/2-.5),u=d-i*l+Math.floor((l+1)*(l+2)/2)),this._workers[n].postMessage({values:t,fnName:e,startRow:m,startCol:p,chunckSize:d-s,opts:r}),o[n]=new Promise(((t,e)=>{this._workers[n].onmessage=({data:{error:r,distanceMatrixData:i,min:o,max:a}})=>{this._terminateOnComplete&&this._workers[n].terminate(),r?e(r):(c.set(i,s),o<g&&(g=o),a>f&&(f=a),t())}}))}await Promise.all(o),n&&c.forEach(((t,e)=>{c[e]=(t-g)/(f-g)})),s(c)}catch(t){i(t)}}))}terminate(){this._workers.forEach((t=>t.terminate()))}}function C(t,e){return Math.floor(e()*t)}function E(t){return t()}function A(t){const e=[];for(let n=0;n<t;n++)e.push(void 0);return e}function S(t){return A(t).map(((t,e)=>e))}function F(t,e){return A(t).map((()=>e))}function z(t){return F(t,0)}function D(t){return function(t){return t.reduce(((t,e)=>t+e))}(t)/t.length}function I(t){let e=0;for(let n=0;n<t.length;n++)e=t[n]>e?t[n]:e;return e}function R(t,e,n){const r=z(t);for(let s=0;s<t;s++){let t=!0;for(;t;){const i=C(e,n);let o=!1;for(let t=0;t<s;t++)if(i===r[t]){o=!0;break}o||(t=!1),r[s]=i}}return r}function _(t,e,n){const r=[];let s=0;if(t.length!==e*n)throw new Error("Array dimensions must match input length.");for(let i=0;i<e;i++){const e=[];for(let r=0;r<n;r++)e.push(t[s]),s+=1;r.push(e)}return r}function T(t,e){const n=n=>A(t).map((()=>F(e,n))),r=[];return r.push(n(-1)),r.push(n(1/0)),r.push(n(0)),r}function O(t,e,n){const r=z(t);for(let s=0;s<t;s++){let t=!0,i=0;for(;t;){i=C(e,n);let o=!1;for(let t=0;t<s;t++)if(i===r[t]){o=!0;break}o||(t=!1)}r[s]=i}return r}function P(t,e,n,r,s){e=Math.floor(e);const i=t[0][e];if(n>=t[1][e][0])return 0;for(let t=0;t<i.length;t++)if(r===i[t])return 0;return L(t,e,n,r,s)}function L(t,e,n,r,s){const i=t[0][e],o=t[1][e],a=t[2][e];if(n>=o[0])return 0;o[0]=n,i[0]=r,a[0]=s;let h=0,c=0;for(;;){const e=2*h+1,r=e+1,s=t[0][0].length;if(e>=s)break;if(r>=s){if(!(o[e]>n))break;c=e}else if(o[e]>=o[r]){if(!(n<o[e]))break;c=e}else{if(!(n<o[r]))break;c=r}o[h]=o[c],i[h]=i[c],a[h]=a[c],h=c}return o[h]=n,i[h]=r,a[h]=s,1}function W(t,e,n,r,s){const i=T(e,r);for(let r=0;r<e;r++)for(let e=0;e<n;e++){if(t[0][r][e]<0)continue;const n=t[0][r][e],o=t[2][r][e],a=E(s);P(i,r,a,n,o),P(i,n,a,r,o),t[2][r][e]=0}return i}function V(t){const e=t[0],n=t[1];for(let t=0;t<e.length;t++){const r=e[t],s=n[t];for(let t=0;t<r.length-1;t++){const e=r.length-t-1,n=s.length-t-1,i=r[0];r[0]=r[e],r[e]=i;const o=s[0];s[0]=s[n],s[n]=o,j(s,r,n,0)}}return{indices:e,weights:n}}function j(t,e,n,r){for(;2*r+1<n;){const s=2*r+1,i=s+1;let o=r;if(t[o]<t[s]&&(o=s),i<n&&t[o]<t[i]&&(o=i),o===r)break;{const n=t[r];t[r]=t[o],t[o]=n;const s=e[r];e[r]=e[o],e[o]=s,r=o}}}function B(t,e){const n=t[0][e],r=t[1][e],s=t[2][e];let i=1/0,o=-1;for(let t=0;t>n.length;t++)1===s[t]&&r[t]<i&&(i=r[t],o=t);return o>=0?(s[o]=0,Math.floor(n[o])):-1}class U{entries=new Map;nRows=0;nCols=0;constructor(t,e,n,r){if(t.length!==e.length||t.length!==n.length)throw new Error("rows, cols and values arrays must all have the same length");this.nRows=r[0],this.nCols=r[1];for(let r=0;r<n.length;r++){const s=t[r],i=e[r];this.checkDims(s,i);const o=this.makeKey(s,i);this.entries.set(o,{value:n[r],row:s,col:i})}}makeKey(t,e){return`${t}:${e}`}checkDims(t,e){if(!(t<this.nRows&&e<this.nCols))throw new Error("row and/or col specified outside of matrix dimensions")}set(t,e,n){this.checkDims(t,e);const r=this.makeKey(t,e);this.entries.has(r)?this.entries.get(r).value=n:this.entries.set(r,{value:n,row:t,col:e})}get(t,e,n=0){const r=this.makeKey(t,e);return this.entries.has(r)?this.entries.get(r).value:n}getAll(t=!0){const e=new Array(this.entries.size).fill(null);let n=0;return this.entries.forEach((t=>{e[n++]=t})),t&&e.sort(((t,e)=>t.row===e.row?t.col-e.col:t.row-e.row)),e}getDims(){return[this.nRows,this.nCols]}getRows(){return Array.from(this.entries,(([t,e])=>e.row))}getCols(){return Array.from(this.entries,(([t,e])=>e.col))}getValues(){return Array.from(this.entries,(([t,e])=>e.value))}forEach(t){this.entries.forEach((e=>t(e.value,e.row,e.col)))}map(t){const e=new Float32Array(this.entries.size);let n=0;this.entries.forEach((r=>{e[n++]=t(r.value,r.row,r.col)}));const r=[this.nRows,this.nCols];return new U(this.getRows(),this.getCols(),e,r)}toArray(){const t=A(this.nRows).map((()=>z(this.nCols)));return this.entries.forEach((e=>{t[e.row][e.col]=e.value})),t}}function G(t){const e=t.getRows(),n=t.getCols(),r=t.getValues(),s=n.length,i=new Int32Array(s),o=new Int32Array(s),a=new Float32Array(s);i.set(e),o.set(n),a.set(r);const h=[t.nCols,t.nRows];return new U(o,i,a,h)}function q(t,e){return Q(t,e,((t,e)=>t*e))}function Y(t,e){return Q(t,e,((t,e)=>t+e))}function H(t,e){return Q(t,e,((t,e)=>t-e))}function K(t,e){return t.map((t=>t*e))}function X(t){const e=new Set,n=t.getValues(),r=t.getRows(),s=t.getCols();for(let t=0;t<n.length;t++)0===n[t]&&e.add(t);const i=(t,n)=>!e.has(n),o=n.filter(i),a=r.filter(i),h=s.filter(i);return new U(a,h,o,t.getDims())}function Z(t,e="l2"){const n=$[e],r=new Map;t.forEach(((t,e,n)=>{const s=r.get(e)||[];s.push(n),r.set(e,s)}));const s=new U([],[],[],t.getDims());for(const e of r.keys()){const i=r.get(e).sort(),o=n(i.map((n=>t.get(e,n))));for(let t=0;t<o.length;t++)s.set(e,i[t],o[t])}return s}const $={max:t=>{let e=-1/0;for(let n=0;n<t.length;n++)e=t[n]>e?t[n]:e;return t.map((t=>t/e))},l1:t=>{let e=0;for(let n=0;n<t.length;n++)e+=t[n];return t.map((t=>t/e))},l2:t=>{let e=0;for(let n=0;n<t.length;n++)e+=t[n]**2;return t.map((t=>Math.sqrt(t**2/e)))}};function Q(t,e,n){const r=new Set,s=[],i=[],o=[],a=(r,a)=>{s.push(r),i.push(a);const h=n(t.get(r,a),e.get(r,a));o.push(h)},h=t.getValues(),c=t.getRows(),l=t.getCols();for(let t=0;t<h.length;t++){const e=c[t],n=l[t],s=`${e}:${n}`;r.add(s),a(e,n)}const u=e.getValues(),g=e.getRows(),f=e.getCols();for(let t=0;t<u.length;t++){const e=g[t],n=f[t],s=`${e}:${n}`;r.has(s)||a(e,n)}const d=[t.nRows,t.nCols];return new U(s,i,o,d)}function J(t){const e=[];t.forEach(((t,n,r)=>{e.push({value:t,row:n,col:r})})),e.sort(((t,e)=>t.row===e.row?t.col-e.col:t.row-e.row));const n=[],r=[],s=[];let i=-1;for(let t=0;t<e.length;t++){const{row:o,col:a,value:h}=e[t];o!==i&&(i=o,s.push(t)),n.push(a),r.push(h)}return{indices:n,values:r,indptr:s}}class tt{hyperplanes;offsets;children;indices;constructor(t,e,n,r){this.hyperplanes=t,this.offsets=e,this.children=n,this.indices=r}}function et(t,e,n,r){const s=Math.max(10,e),i=S(n).map(((e,n)=>function(t,e=30,n,r){return nt(t,S(t.length),e,n,r)}(t,s,n,r))),o=i.map((t=>function(t,e){const n=st(t),r=it(t),s=S(n).map((()=>t.hyperplane?1:0)),i=z(n),o=S(n).map((()=>[-1,-1])),a=S(r).map((()=>S(e).map((()=>-1))));return rt(t,s,i,o,a,0,0),new tt(s,i,o,a)}(t,s)));return o}function nt(t,e,n=30,r,s){if(e.length>n){const i=function(t,e,n){const r=C(e.length,n);let s=C(e.length,n);s+=r===s?1:0,s%=e.length;const i=e[r],o=e[s];let a=0,h=0;h=t[i]-t[o],a-=h*(t[i]+t[o])/2;let c=0,l=0;const u=z(e.length);for(let r=0;r<e.length;r++){let s=a;s+=h*t[e[r]],0===s?(u[r]=C(2,n),0===u[r]?c+=1:l+=1):s>0?(u[r]=0,c+=1):(u[r]=1,l+=1)}const g=z(c),f=z(l);c=0,l=0;for(let t=0;t<u.length;t++)0===u[t]?(g[c]=e[t],c+=1):(f[l]=e[t],l+=1);return{indicesLeft:g,indicesRight:f,hyperplane:h,offset:a}}(t,e,s),{indicesLeft:o,indicesRight:a,hyperplane:h,offset:c}=i;return{leftChild:nt(t,o,n,r+1,s),rightChild:nt(t,a,n,r+1,s),isLeaf:!1,hyperplane:h,offset:c}}return{indices:e,isLeaf:!0}}function rt(t,e,n,r,s,i,o){if(t.isLeaf)return r[i][0]=-o,s[o].splice(0,t.indices.length,...t.indices),{nodeNum:i,leafNum:o+=1};{e[i]=t.hyperplane,n[i]=t.offset,r[i][0]=i+1;const a=i;let h=rt(t.leftChild,e,n,r,s,i+1,o);return i=h.nodeNum,o=h.leafNum,r[a][1]=i+1,h=rt(t.rightChild,e,n,r,s,i+1,o),{nodeNum:h.nodeNum,leafNum:h.leafNum}}}function st(t){return t.isLeaf?1:1+st(t.leftChild)+st(t.rightChild)}function it(t){return t.isLeaf?1:it(t.leftChild)+it(t.rightChild)}function ot(t,e,n,r){let s=e;return s+=t*n,0===s?C(2,r):s>0?0:1}function at(t,e,n){let r=0;for(;e.children[r][0]>0;)r=0===ot(e.hyperplanes[r],e.offsets[r],t,n)?e.children[r][0]:e.children[r][1];const s=-1*e.children[r][0];return e.indices[s]}var ht=n(7531),ct=n(1353),lt=n(4162);const ut=1e-5,gt=.001;class ft{learningRate=1;localConnectivity=1;minDist=.1;nComponents=2;nEpochs=0;nNeighbors=15;negativeSampleRate=5;random=Math.random;repulsionStrength=1;setOpMixRatio=1;spread=1;transformQueueSize=4;targetMetric="categorical";targetWeight=.5;targetNNeighbors=15;distanceFn=dt;knnIndices;knnDistances;graph;X;isInitialized=!1;rpForest=[];initFromRandom;initFromTree;search;searchGraph;Y;embedding=[];optimizationState=new mt;get neighbors(){return this.nNeighbors}constructor(t={}){const e=e=>{void 0!==t[e]&&(this[e]=t[e])};e("distanceFn"),e("learningRate"),e("localConnectivity"),e("minDist"),e("nComponents"),e("nEpochs"),e("nNeighbors"),e("negativeSampleRate"),e("random"),e("repulsionStrength"),e("setOpMixRatio"),e("spread"),e("transformQueueSize"),this.targetNNeighbors=t.nNeighbors||this.nNeighbors||this.targetNNeighbors}fit(t){return this.initializeFit(t),this.optimizeLayout(),this.embedding}async fitAsync(t,e=(()=>!0)){return this.initializeFit(t),await this.optimizeLayoutAsync(e),this.embedding}setSupervisedProjection(t,e={}){this.Y=t,this.targetMetric=e.targetMetric||this.targetMetric,this.targetWeight=e.targetWeight||this.targetWeight,this.targetNNeighbors=e.targetNNeighbors||this.targetNNeighbors}setPrecomputedKNN(t,e){this.knnIndices=t,this.knnDistances=e}initializeFit(t){if(t.length<=this.nNeighbors)throw new Error(`Not enough data points (${t.length}) to create nNeighbors: ${this.nNeighbors}. Add more data points or adjust the configuration.`);if(this.X===t&&this.isInitialized)return this.getNEpochs();if(this.X=t,!this.knnIndices&&!this.knnDistances){const e=this.nearestNeighbors(t);this.knnIndices=e.knnIndices,this.knnDistances=e.knnDistances}this.graph=this.fuzzySimplicialSet(t,this.nNeighbors,this.setOpMixRatio),this.makeSearchFns(),this.searchGraph=this.makeSearchGraph(t),this.processGraphForSupervisedProjection();const{head:e,tail:n,epochsPerSample:r}=this.initializeSimplicialSetEmbedding();return this.optimizationState.head=e,this.optimizationState.tail=n,this.optimizationState.epochsPerSample=r,this.initializeOptimization(),this.prepareForOptimizationLoop(),this.isInitialized=!0,this.getNEpochs()}makeSearchFns(){const{initFromTree:t,initFromRandom:e}=(n=this.distanceFn,{initFromRandom:function(t,e,r,s,i){for(let o=0;o<r.length;o++){const a=R(t,e.length,i);for(let t=0;t<a.length;t++)a[t]<0||P(s,o,n(e[a[t]],r[o]),a[t],1)}},initFromTree:function(t,e,r,s,i){for(let o=0;o<r.length;o++){const a=at(r[o],t,i);for(let t=0;t<a.length;t++){if(a[t]<0)return;P(s,o,n(e[a[t]],r[o]),a[t],1)}}}});var n;this.initFromTree=t,this.initFromRandom=e,this.search=function(t){return function(e,n,r,s){const{indices:i,indptr:o}=J(n);for(let n=0;n<s.length;n++){const a=new Set(r[0][n]);for(;;){const h=B(r,n);if(-1===h)break;const c=i.slice(o[h],o[h+1]);for(const i of c)i===h||-1===i||a.has(i)||(L(r,n,t(e[i],s[n]),i,1),a.add(i))}}return r}}(this.distanceFn)}makeSearchGraph(t){const e=this.knnIndices,n=this.knnDistances,r=[t.length,t.length],s=new U([],[],[],r);for(let t=0;t<e.length;t++){const r=e[t],i=n[t];for(let e=0;e<r.length;e++){const n=r[e],o=i[e];o>0&&s.set(t,n,o)}}return Q(s,G(s),((t,e)=>t>e?t:e))}transform(t){const e=this.X;if(void 0===e||0===e.length)throw new Error("No data has been fit.");let n=Math.floor(this.nNeighbors*this.transformQueueSize);n=Math.min(e.length,n);const r=function(t,e,n,r,s,i,o){const a=T(n.length,r);if(s(r,e,n,a,o),t)for(const r of t)i(r,e,n,a,o);return a}(this.rpForest,e,t,n,this.initFromRandom,this.initFromTree,this.random),s=this.search(e,this.searchGraph,r,t);let{indices:i,weights:o}=V(s);i=i.map((t=>t.slice(0,this.nNeighbors))),o=o.map((t=>t.slice(0,this.nNeighbors)));const a=Math.max(0,this.localConnectivity-1),{sigmas:h,rhos:c}=this.smoothKNNDistance(o,this.nNeighbors,a),{rows:l,cols:u,vals:g}=this.computeMembershipStrengths(i,o,h,c),f=[t.length,e.length];let d=new U(l,u,g,f);const m=J(Z(d,"l1")),p=t.length,w=function(t,e,n){const r=z(t.length).map((t=>z(n[0].length)));for(let s=0;s<t.length;s++)for(let i=0;i<t[0].length;i++)for(let o=0;o<n[0].length;o++){const a=t[s][i];r[s][o]+=e[s][i]*n[a][o]}return r}(_(m.indices,p,this.nNeighbors),_(m.values,p,this.nNeighbors),this.embedding),y=this.nEpochs?this.nEpochs/3:d.nRows<=1e4?100:30,k=d.getValues().reduce(((t,e)=>e>t?e:t),0);d=d.map((t=>t<k/y?0:t)),d=X(d);const M=this.makeEpochsPerSample(d.getValues(),y),v=d.getRows(),x=d.getCols();return this.assignOptimizationStateParameters({headEmbedding:w,tailEmbedding:this.embedding,head:v,tail:x,currentEpoch:0,nEpochs:y,nVertices:d.getDims()[1],epochsPerSample:M}),this.prepareForOptimizationLoop(),this.optimizeLayout()}processGraphForSupervisedProjection(){const{Y:t,X:e}=this;if(t){if(t.length!==e.length)throw new Error("Length of X and y must be equal");if("categorical"===this.targetMetric){const e=this.targetWeight<1?1/(1-this.targetWeight)*2.5:1e12;this.graph=this.categoricalSimplicialSetIntersection(this.graph,t,e)}}}step(){const{currentEpoch:t}=this.optimizationState;return t<this.getNEpochs()&&this.optimizeLayoutStep(t),this.optimizationState.currentEpoch}getEmbedding(){return this.embedding}nearestNeighbors(t){const{distanceFn:e,nNeighbors:n}=this,r=function(t,e){return function(n,r,s,i=10,o=50,a=.001,h=.5,c=!0){const l=n.length,u=T(n.length,s);for(let r=0;r<n.length;r++){const i=O(s,n.length,e);for(let e=0;e<i.length;e++){const s=t(n[r],n[i[e]]);P(u,r,s,i[e],1),P(u,i[e],s,r,1)}}if(c)for(let e=0;e<r.length;e++)for(let s=0;s<r[e].length&&!(r[e][s]<0);s++)for(let i=s+1;i<r[e].length&&!(r[e][i]<0);i++){const o=t(n[r[e][s]],n[r[e][i]]);P(u,r[e][s],o,r[e][i],1),P(u,r[e][i],o,r[e][s],1)}for(let r=0;r<i;r++){const r=W(u,l,s,o,e);let i=0;for(let s=0;s<l;s++)for(let a=0;a<o;a++){const c=Math.floor(r[0][s][a]);if(!(c<0||E(e)<h))for(let e=0;e<o;e++){const o=Math.floor(r[0][s][e]),h=r[2][s][a],l=r[2][s][e];if(o<0||!h&&!l)continue;const g=t(n[c],n[o]);i+=P(u,c,g,o,1),i+=P(u,o,g,c,1)}}if(i<=a*s*n.length)break}return V(u)}}(e,this.random),s=5+Math.floor(.5==(i=t.length**.5/20)?0:Math.round(i));var i;const o=Math.max(5,Math.floor(Math.round((t=>Math.log(t)/Math.log(2))(t.length))));this.rpForest=et(t,n,s,this.random);const a=function(t){if(t.length>0){const e=[];for(const n of t)e.push(...n.indices);return e}return[[-1]]}(this.rpForest),{indices:h,weights:c}=r(t,a,n,o);return{knnIndices:h,knnDistances:c}}fuzzySimplicialSet(t,e,n=1){const{knnIndices:r=[],knnDistances:s=[],localConnectivity:i}=this,{sigmas:o,rhos:a}=this.smoothKNNDistance(s,e,i),{rows:h,cols:c,vals:l}=this.computeMembershipStrengths(r,s,o,a),u=[t.length,t.length],g=new U(h,c,l,u),f=G(g),d=q(g,f),m=H(Y(g,f),d);return Y(K(m,n),K(d,1-n))}categoricalSimplicialSetIntersection(t,e,n,r=1){let s=function(t,e,n=1,r=5){return t.map(((t,s,i)=>-1===e[s]||-1===e[i]?t*Math.exp(-n):e[s]!==e[i]?t*Math.exp(-r):t))}(t,e,r,n);return s=X(s),function(t){const e=G(t=Z(t,"max"));return X(t=Y(t,H(e,q(e,t))))}(s)}smoothKNNDistance(t,e,n=1,r=64,s=1){const i=Math.log(e)/Math.log(2)*s,o=z(t.length),a=z(t.length);for(let e=0;e<t.length;e++){let s=0,h=1/0,c=1;const l=t[e],u=l.filter((t=>t>0));if(u.length>=n){const t=Math.floor(n),r=n-t;t>0?(o[e]=u[t-1],r>ut&&(o[e]+=r*(u[t]-u[t-1]))):o[e]=r*u[0]}else u.length>0&&(o[e]=I(u));for(let n=0;n<r;n++){let n=0;for(let r=1;r<t[e].length;r++){const s=t[e][r]-o[e];n+=s>0?Math.exp(-s/c):1}if(Math.abs(n-i)<ut)break;n>i?(h=c,c=(s+h)/2):(s=c,h===1/0?c*=2:c=(s+h)/2)}if(a[e]=c,o[e]>0){const t=D(l);a[e]<gt*t&&(a[e]=gt*t)}else{const n=D(t.map(D));a[e]<gt*n&&(a[e]=gt*n)}}return{sigmas:a,rhos:o}}computeMembershipStrengths(t,e,n,r){const s=t.length,i=t[0].length,o=z(s*i),a=z(s*i),h=z(s*i);for(let c=0;c<s;c++)for(let s=0;s<i;s++){let l=0;-1!==t[c][s]&&(l=t[c][s]===c?0:e[c][s]-r[c]<=0?1:Math.exp(-(e[c][s]-r[c])/n[c]),o[c*i+s]=c,a[c*i+s]=t[c][s],h[c*i+s]=l)}return{rows:o,cols:a,vals:h}}initializeSimplicialSetEmbedding(){const t=this.getNEpochs(),{nComponents:e}=this,n=this.graph.getValues();let r=0;for(let t=0;t<n.length;t++){const e=n[t];r<n[t]&&(r=e)}const s=this.graph.map((e=>e<r/t?0:e));this.embedding=z(s.nRows).map((()=>z(e).map((()=>20*E(this.random)-10))));const i=[],o=[],a=[],h=s.getAll();for(let t=0;t<h.length;t++){const e=h[t];e.value&&(i.push(e.value),a.push(e.row),o.push(e.col))}return{head:o,tail:a,epochsPerSample:this.makeEpochsPerSample(i,t)}}makeEpochsPerSample(t,e){const n=F(t.length,-1),r=I(t),s=t.map((t=>t/r*e));return s.forEach(((t,r)=>{t>0&&(n[r]=e/s[r])})),n}assignOptimizationStateParameters(t){Object.assign(this.optimizationState,t)}prepareForOptimizationLoop(){const{repulsionStrength:t,learningRate:e,negativeSampleRate:n}=this,{epochsPerSample:r,headEmbedding:s,tailEmbedding:i}=this.optimizationState,o=s[0].length,a=s.length===i.length,h=r.map((t=>t/n)),c=[...h],l=[...r];this.assignOptimizationStateParameters({epochOfNextSample:l,epochOfNextNegativeSample:c,epochsPerNegativeSample:h,moveOther:a,initialAlpha:e,alpha:e,gamma:t,dim:o})}initializeOptimization(){const t=this.embedding,e=this.embedding,{head:n,tail:r,epochsPerSample:s}=this.optimizationState,i=this.getNEpochs(),o=this.graph.nCols,{a,b:h}=function(t,e){const n=function(t,e,n){return A(300).map(((t,n)=>0+n*((e-0)/299)))}(0,3*t).map((t=>t<e?1:t)),r=z(n.length).map(((r,s)=>n[s]>=e?Math.exp(-(n[s]-e)/t):r)),s={x:n,y:r},{parameterValues:i}=function(t,e,n={}){let{maxIterations:r=100,gradientDifference:s=.1,damping:i=0,errorTolerance:o=.01,minValues:a,maxValues:h,initialValues:c}=n;if(i<=0)throw new Error("The damping option must be a positive number");if(!t.x||!t.y)throw new Error("The data parameter must have x and y elements");if(!(0,ht.Z)(t.x)||t.x.length<2||!(0,ht.Z)(t.y)||t.y.length<2)throw new Error("The data parameter elements must be an array with more than 2 points");if(t.x.length!==t.y.length)throw new Error("The data parameter elements must have the same size");let l=c||new Array(e.length).fill(1),u=l.length;if(h=h||new Array(u).fill(Number.MAX_SAFE_INTEGER),a=a||new Array(u).fill(Number.MIN_SAFE_INTEGER),h.length!==a.length)throw new Error("minValues and maxValues must be the same size");if(!(0,ht.Z)(l))throw new Error("initialValues must be an array");let g,f=(0,ct.Z)(t,l,e),d=f<=o;for(g=0;g<r&&!d;g++){l=(0,lt.Z)(t,l,i,s,e);for(let t=0;t<u;t++)l[t]=Math.min(Math.max(a[t],l[t]),h[t]);if(f=(0,ct.Z)(t,l,e),isNaN(f))break;d=f<=o}return{parameterValues:l,parameterError:f,iterations:g}}(s,(([t,e])=>n=>1/(1+t*n**(2*e))),{damping:1.5,initialValues:[.5,.5],gradientDifference:.1,maxIterations:100,errorTolerance:.01}),[o,a]=i;return{a:o,b:a}}(this.spread,this.minDist);this.assignOptimizationStateParameters({headEmbedding:t,tailEmbedding:e,head:n,tail:r,epochsPerSample:s,a,b:h,nEpochs:i,nVertices:o})}optimizeLayoutStep(t){const{optimizationState:e}=this,{head:n,tail:r,headEmbedding:s,tailEmbedding:i,epochsPerSample:o,epochOfNextSample:a,epochOfNextNegativeSample:h,epochsPerNegativeSample:c,moveOther:l,initialAlpha:u,alpha:g,gamma:f,a:d,b:m,dim:p,nEpochs:w,nVertices:y}=e;for(let e=0;e<o.length;e++){if(a[e]>t)continue;const u=n[e],w=r[e],k=s[u],M=i[w],v=wt(k,M);let x=0;v>0&&(x=-2*d*m*Math.pow(v,m-1),x/=d*Math.pow(v,m)+1);for(let t=0;t<p;t++){const e=pt(x*(k[t]-M[t]),4);k[t]+=e*g,l&&(M[t]+=-e*g)}a[e]+=o[e];const N=Math.floor((t-h[e])/c[e]);for(let t=0;t<N;t++){const t=C(y,this.random),e=i[t],n=wt(k,e);let r=0;if(n>0)r=2*f*m,r/=(.001+n)*(d*Math.pow(n,m)+1);else if(u===t)continue;for(let t=0;t<p;t++){let n=4;r>0&&(n=pt(r*(k[t]-e[t]),4)),k[t]+=n*g}}h[e]+=N*c[e]}return e.alpha=u*(1-t/w),e.currentEpoch+=1,s}optimizeLayoutAsync(t=(()=>!0)){return new Promise(((e,n)=>{const r=async()=>{try{const{nEpochs:n,currentEpoch:s}=this.optimizationState;this.embedding=this.optimizeLayoutStep(s);const i=this.optimizationState.currentEpoch,o=!1===t(i),a=i===n;if(o||a)return e(a);setTimeout((()=>r()),0)}catch(t){n(t)}};setTimeout((()=>r()),0)}))}optimizeLayout(t=(()=>!0)){let e=!1,n=[];for(;!e;){const{nEpochs:r,currentEpoch:s}=this.optimizationState;n=this.optimizeLayoutStep(s);const i=this.optimizationState.currentEpoch,o=!1===t(i);e=i===r||o}return n}getNEpochs(){const t=this.graph;if(this.nEpochs>0)return this.nEpochs;if(!t)return 200;const e=t.nRows;return e<=2500?500:e<=5e3?400:e<=7500?300:200}}function dt(t,e){return Math.abs(t-e)}class mt{currentEpoch=0;headEmbedding=[];tailEmbedding=[];head=[];tail=[];epochsPerSample=[];epochOfNextSample=[];epochOfNextNegativeSample=[];epochsPerNegativeSample=[];moveOther=!0;initialAlpha=1;alpha=1;gamma=1;a=1.5769434603113077;b=.8950608779109733;dim=2;nEpochs=500;nVertices=0}function pt(t,e){return t>e?e:t<-e?-e:t}function wt(t,e){let n=0;for(let r=0;r<t.length;r++)n+=Math.pow(t[r]-e[r],2);return n}class yt{_workerCount;constructor(){this._workerCount=Math.max(navigator.hardwareConcurrency-2,1)}async calc(t,e,r,s={}){const i=t.length*(t.length-1)/2,o=Math.floor(i/this._workerCount),a=t.length>2e4?await this.getMinimalThreshold(t,e,s):0;r<a&&(console.log(`using threshold ${a}`),r=a),s.threshold=r;const h=new Array(this._workerCount),c=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(471),n.b))));for(let n=0;n<this._workerCount;n++)h[n]=new Promise(((a,h)=>{const l=n*o,u=n===this._workerCount-1?i:(n+1)*o;u<=l&&a({i:new Int32Array(0),j:new Int32Array(0),distance:new Float32Array(0),idx:n}),c[n].postMessage({values:t,startIdx:l,endIdx:u,threshold:r,fnName:e,opts:s}),c[n].onmessage=({data:{error:t,i:e,j:r,distance:s}})=>{t?(c[n].terminate(),h(t)):(c[n].terminate(),a({i:e,j:r,distance:s,idx:n}))}}));const l=await Promise.all(h),u=l.reduce(((t,e)=>t+e.i.length),0),g=new Int32Array(u),f=new Int32Array(u),d=new Float32Array(u);let m=0;for(const t of l)g.set(t.i,m),f.set(t.j,m),d.set(t.distance,m),m+=t.i.length;return{i:g,j:f,distance:d}}async getKNN(t,e,n=15,r={}){return await this.multiColumnKNN([t],[e],n,[r],[1])}async multiColumnKNN(t,e,r=15,s,i,o=v.EUCLIDEAN){if(t.length!==e.length||t.length!==s.length||t.length!==i.length)throw new Error("values, distance functions, options and weights arrays should have the same length");if(t.some((e=>e.length!==t[0].length)))throw new Error("all values arrays should have the same length");const a=t[0].length*(t[0].length-1)/2,h=Math.floor(a/this._workerCount),c=new Array(this._workerCount),l=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(664),n.b))));for(let n=0;n<this._workerCount;n++)c[n]=new Promise(((c,u)=>{const g=n*h,f=n===this._workerCount-1?a:(n+1)*h;f<=g&&c({knnDistances:new Array(0),knnIndexes:new Array(0)}),l[n].postMessage({values:t,startIdx:g,endIdx:f,fnNames:e,opts:s,nNeighbours:r,weights:i,aggregationMethod:o}),l[n].onmessage=({data:{error:t,knnDistances:e,knnIndexes:r}})=>{t?(l[n].terminate(),u(t)):(l[n].terminate(),c({knnDistances:e,knnIndexes:r}))}}));const u=await Promise.all(c),g={knnDistances:new Array(t[0].length).fill(null).map((()=>new Array(r).fill(99999))),knnIndexes:new Array(t[0].length).fill(null).map((()=>new Array(r).fill(-1)))};for(const e of u)for(let n=0;n<t[0].length;++n)for(let t=0;t<e.knnDistances[n]?.length;++t)N(g.knnDistances[n],g.knnIndexes[n],e.knnDistances[n][t],e.knnIndexes[n][t]);return g}async getSampleDistances(t,e,r={}){const s=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(118),n.b)))),i=t.slice();for(let t=i.length-1;t>0;t--){const e=Math.floor(Math.random()*(t+1));[i[t],i[e]]=[i[e],i[t]]}try{const n=t.length*(t.length-1)/2,o=Math.floor(n/this._workerCount),a=1e6,h=Math.max(Math.min(n/1e3,a),Math.min(n,a)),c=Math.floor(h/this._workerCount),l=new Array(this._workerCount);for(let t=0;t<this._workerCount;t++)l[t]=new Promise(((a,h)=>{const l=t*o,u=t===this._workerCount-1?n:(t+1)*o;s[t].postMessage({values:i,startIdx:l,endIdx:u,sampleLength:c,fnName:e,opts:r}),s[t].onmessage=({data:{error:e,distance:n}})=>{s[t].terminate(),e?h(e):a({distance:n})}}));const u=await Promise.all(l),g=u.reduce(((t,e)=>t+e.distance.length),0),f=new Float32Array(g);let d=0;for(const t of u)f.set(t.distance,d),d+=t.distance.length;return f.sort(),f}catch(t){return s?.forEach((t=>t?.terminate())),console.error(t),new Float32Array(1).fill(.5)}}async getMinimalThreshold(t,e,n={}){try{const r=t.length*(t.length-1)/2,s=await this.getSampleDistances(t,e,n);return 1-s[Math.floor(7e7/r*s.length)]}catch(t){return console.error(t),.5}}static calcSync(t,e,n,r){const s=[],o=[],a=[];let h=0,c=0,l=0;const u=t.length*(t.length-1)/2;for(;h<u;){const u=x(t[c])||x(t[l])?1:n(t[c],t[l]);(Object.values(i.gk).some((t=>t===e))?1/(1+u):1-u)>=r&&(s.push(c),o.push(l),a.push(u)),h++,l++,l===t.length&&(c++,l=c+1)}return{i:new Int32Array(s),j:new Int32Array(o),distance:new Float32Array(a)}}}var kt=n(6377),Mt=n.n(kt);class vt{data;weights;aggregationMethod;constructor(t){this.data=t.data,this.weights=t.weights,this.aggregationMethod=t.aggregationMethod}}class xt extends vt{reducer;iterations;distanceFnames;distanceFns;distanceFnArgs;constructor(t){super(t),this.reducer=new s.Z(t),this.iterations=t?.iterations??100,this.distanceFnames=t.distanceFnames,this.distanceFns=t.distanceFns,this.distanceFnArgs=t.distanceFnArgs}async transform(){if(this.data[0].length>1e4)throw new Error("Maximum number of samples for T-SNE is 10000");const t=new b(!0,!1);try{const r=(e=this.aggregationMethod,n=this.weights,e===v.MANHATTAN?t=>t.reduce(((t,e,r)=>t+e*n[r]),0):t=>{const e=t.reduce(((t,e,r)=>t+(e*n[r])**2),0);return Math.sqrt(e)}),s=[];for(let e=0;e<this.data.length;++e){const n=await t.calc(this.data[e],this.distanceFnames[e],!1,this.distanceFnArgs[e]);s.push(n)}const i=new Float32Array(s[0].length).fill(0);for(let t=0;t<s[0].length;++t)i[t]=r(s.map((e=>e[t])));const o=function(t,e){const n=function(t){return(e,n)=>t*e+n-Math.floor((e+2)*(e+1)/2)}(e);function r(t,e){const r=Number(t),s=Number(e);return n(r,s)}const s={get:(t,n,s)=>"length"===n?e:new Proxy(t,function(t){return{get:(e,n,s)=>t===n?0:e[Number(t)>Number(n)?r(n,t):r(t,n)]}}(n))};return new Proxy(t,s)}(i,this.data[0].length);this.reducer.initDataDist(o);for(let t=0;t<this.iterations;++t)this.reducer.step();return t.terminate(),this.reducer.getSolution()}catch(e){throw t.terminate(),e}var e,n}}class Nt extends vt{reducer;distanceFnames;distanceFns;vectors;progressFunc;distanceFnArgs;constructor(t){const e=t.randomSeed??Date(),n=Mt()(e);console.log(e),console.log(n(),n(),n()),super(t),g("distanceFnames"in t),g("distanceFns"in t),this.distanceFnArgs=t.distanceFnArgs,this.distanceFns=t.distanceFns,this.progressFunc=t.progressFunc,this.distanceFnames=t.distanceFnames,this.vectors=new Array(this.data[0].length).fill(0).map(((t,e)=>e)),this.data[0].length<15&&(t.nNeighbors=this.data[0].length-1),t.random=n,this.reducer=new ft(t)}async transform(t){console.time("knn graph");const e=await(new yt).multiColumnKNN(this.data,this.distanceFnames,this.reducer.neighbors,this.distanceFnArgs,this.weights,this.aggregationMethod);console.timeEnd("knn graph"),this.reducer.setPrecomputedKNN(e.knnIndexes,e.knnDistances),await new Promise((t=>{setTimeout((()=>{t()}),300)}));const n=await this.reducer.fitAsync(this.vectors,(t=>{this.progressFunc&&this.progressFunc(t,this.reducer.getNEpochs(),this.reducer.getEmbedding())}));return s=n,new Array(s.length).fill(0).map(((t,e)=>r.from(s[e])));var s}}const bt={UMAP:Nt,"t-SNE":xt};class Ct{reducer;constructor(t,e,n,r,s,i){const o=[];for(let e=0;e<n.length;++e){const r=new M(n[e]).getMeasure(i.distanceFnArgs[e]);o.push(r);let s=2048;for(let n=0;n<t[e].length;++n)if(t[e][n]&&t[e][n]._length){s=t[e][n]._length;break}if(a=n[e],"BitArray"==k[a])for(let n=0;n<t[e].length;++n)t[e][n]&&t[e][n]._data?t[e][n]=new h.Z(t[e][n]._data,t[e][n]._length):t[e][n]=new h.Z(s)}var a;"UMAP"==e?this.reducer=new Nt({data:t,distanceFnames:n,distanceFns:o,distanceFnArgs:i.distanceFnArgs,weights:r,aggregationMethod:s,...i}):"t-SNE"==e&&(this.reducer=new xt({data:t,distanceFnames:n,distanceFns:o,distanceFnArgs:i.distanceFnArgs,weights:r,aggregationMethod:s,...i}))}async transform(t=!1){if(void 0===this.reducer)throw new Error("Reducer was not defined.");let e=await this.reducer.transform();var n;return t&&(n=e,e=new Array(n[0].length).fill(0).map(((t,e)=>new r(n.length).fill(0).map(((t,r)=>n[r][e]))))),e}static availableMetricsByType(t){return Object.keys(y[t])}static get availableMethods(){return Object.keys(bt)}static get availableMetrics(){let t=[];return Object.values(y).forEach((e=>{const n=Object.values(e);t=[...t,...n]})),t}}async function Et(t,e,n){t%5==0&&self.postMessage({epochNum:t,epochsLength:e,embedding:n})}self.onmessage=async({data:{columnsData:t,method:e,distanceMetrics:n,options:r,weights:s,aggregationMethod:i}})=>{let o;try{const a=await async function(t,e,n,r,s,i){const o=new Ct(t,e,n,r,s,{...i,progressFunc:Et});return await o.transform(!0)}(t,e,n,s,i,r);o={embedding:a}}catch(t){o={error:t}}self.postMessage({error:o.error,embedding:o.embedding})}},7659:(t,e,n)=>{"use strict";e.Z=void 0;var r=n(6215);Object.defineProperty(e,"Z",{enumerable:!0,get:function(){return r.TSNE}})},6215:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TSNE=void 0,e.TSNE=class{constructor(t){this.returnV=!1,this.vValue=0,this.iter=0,t=t||{},this.perplexity=this.getopt(t,"perplexity",30),this.dim=this.getopt(t,"dim",2),this.epsilon=this.getopt(t,"epsilon",10)}assert(t,e){if(!t)throw e||"Assertion failed"}getopt(t,e,n){return t.hasOwnProperty(e)?t[e]:n}gaussRandom(){if(this.returnV)return this.returnV=!1,this.vValue;const t=2*Math.random()-1,e=2*Math.random()-1,n=t*t+e*e;if(0===n||n>1)return this.gaussRandom();const r=Math.sqrt(-2*Math.log(n)/n);return this.vValue=e*r,this.returnV=!0,t*r}randn(t,e){return t+this.gaussRandom()*e}zeros(t){if(void 0===t||isNaN(t))return[];if("undefined"==typeof ArrayBuffer){const e=new Array(t);for(let n=0;n<t;n++)e[n]=0;return e}return new Float64Array(t)}randn2d(t,e,n){const r=void 0!==n,s=[];for(let i=0;i<t;i++){const t=[];for(let s=0;s<e;s++)r?t.push(n):t.push(this.randn(0,1e-4));s.push(t)}return s}L2(t,e){const n=t.length;let r=0;for(let s=0;s<n;s++){const n=t[s],i=e[s];r+=(n-i)*(n-i)}return r}xtod(t){const e=t.length,n=this.zeros(e*e);for(let r=0;r<e;r++)for(let s=r+1;s<e;s++){const i=this.L2(t[r],t[s]);n[r*e+s]=i,n[s*e+r]=i}return n}d2p(t,e,n){const r=Math.sqrt(t.length),s=Math.floor(r);this.assert(s===r,"D should have square number of elements.");const i=Math.log(e),o=this.zeros(s*s),a=this.zeros(s);for(let e=0;e<s;e++){let r=-1/0,h=1/0,c=1,l=!1;const u=50;let g=0;for(;!l;){let o=0;for(let n=0;n<s;n++){let r=Math.exp(-t[e*s+n]*c);e===n&&(r=0),a[n]=r,o+=r}let f=0;for(let t=0;t<s;t++){let e;e=0===o?0:a[t]/o,a[t]=e,e>1e-7&&(f-=e*Math.log(e))}f>i?(r=c,h===1/0?c*=2:c=(c+h)/2):(h=c,r===-1/0?c/=2:c=(c+r)/2),g++,Math.abs(f-i)<n&&(l=!0),g>=u&&(l=!0)}for(let t=0;t<s;t++)o[e*s+t]=a[t]}const h=this.zeros(s*s),c=2*s;for(let t=0;t<s;t++)for(let e=0;e<s;e++)h[t*s+e]=Math.max((o[t*s+e]+o[e*s+t])/c,1e-100);return h}sign(t){return t>0?1:t<0?-1:0}initDataRaw(t){const e=t.length,n=t[0].length;this.assert(e>0," X is empty? You must have some data!"),this.assert(n>0," X[0] is empty? Where is the data?");const r=this.xtod(t);this.P=this.d2p(r,this.perplexity,1e-4),this.N=e,this.initSolution()}initDataDist(t){const e=t.length;this.assert(e>0," X is empty? You must have some data!");const n=this.zeros(e*e);for(let r=0;r<e;r++)for(let s=r+1;s<e;s++){const i=t[r][s];n[r*e+s]=i,n[s*e+r]=i}this.P=this.d2p(n,this.perplexity,1e-4),this.N=e,this.initSolution()}initSolution(){this.Y=this.randn2d(this.N,this.dim),this.gains=this.randn2d(this.N,this.dim,1),this.ystep=this.randn2d(this.N,this.dim,0),this.iter=0}getSolution(){return this.Y}step(){this.iter+=1;const t=this.N,e=this.costGrad(this.Y),n=e.cost,r=e.grad,s=this.zeros(this.dim);for(let e=0;e<t;e++)for(let t=0;t<this.dim;t++){const n=r[e][t],i=this.ystep[e][t],o=this.gains[e][t];let a=this.sign(n)===this.sign(i)?.8*o:o+.2;a<.01&&(a=.01),this.gains[e][t]=a;const h=(this.iter<250?.5:.8)*i-this.epsilon*a*r[e][t];this.ystep[e][t]=h,this.Y[e][t]+=h,s[t]+=this.Y[e][t]}for(let e=0;e<t;e++)for(let n=0;n<this.dim;n++)this.Y[e][n]-=s[n]/t;return n}debugGrad(){const t=this.N,e=this.costGrad(this.Y),n=(e.cost,e.grad),r=1e-5;for(let e=0;e<t;e++)for(let t=0;t<this.dim;t++){const s=this.Y[e][t];this.Y[e][t]=s+r;const i=this.costGrad(this.Y);this.Y[e][t]=s-r;const o=this.costGrad(this.Y),a=n[e][t],h=(i.cost-o.cost)/(2*r);console.log(e+","+t+": gradcheck analytic: "+a+" vs. numerical: "+h),this.Y[e][t]=s}}costGrad(t){const e=this.N,n=this.dim,r=this.P,s=this.iter<100?4:1,i=this.zeros(e*e);let o=0;for(let r=0;r<e;r++)for(let s=r+1;s<e;s++){let a=0;for(let e=0;e<n;e++){const n=t[r][e]-t[s][e];a+=n*n}const h=1/(1+a);i[r*e+s]=h,i[s*e+r]=h,o+=2*h}const a=e*e,h=this.zeros(a);for(let t=0;t<a;t++)h[t]=Math.max(i[t]/o,1e-100);let c=0;const l=[];for(let o=0;o<e;o++){const a=new Array(n);for(let t=0;t<n;t++)a[t]=0;for(let l=0;l<e;l++){c+=-r[o*e+l]*Math.log(h[o*e+l]);const u=4*(s*r[o*e+l]-h[o*e+l])*i[o*e+l];for(let e=0;e<n;e++)a[e]+=u*(t[o][e]-t[l][e])}l.push(a)}return{cost:c,grad:l}}}},6377:(t,e,n)=>{var r=n(4832),s=n(8652),i=n(801),o=n(2030),a=n(3618),h=n(9049),c=n(1971);c.alea=r,c.xor128=s,c.xorwow=i,c.xorshift7=o,c.xor4096=a,c.tychei=h,t.exports=c},4832:function(t,e,n){var r;!function(t,s,i){function o(t){var e,n=this,r=(e=4022871197,function(t){t=String(t);for(var n=0;n<t.length;n++){var r=.02519603282416938*(e+=t.charCodeAt(n));r-=e=r>>>0,e=(r*=e)>>>0,e+=4294967296*(r-=e)}return 2.3283064365386963e-10*(e>>>0)});n.next=function(){var t=2091639*n.s0+2.3283064365386963e-10*n.c;return n.s0=n.s1,n.s1=n.s2,n.s2=t-(n.c=0|t)},n.c=1,n.s0=r(" "),n.s1=r(" "),n.s2=r(" "),n.s0-=r(t),n.s0<0&&(n.s0+=1),n.s1-=r(t),n.s1<0&&(n.s1+=1),n.s2-=r(t),n.s2<0&&(n.s2+=1),r=null}function a(t,e){return e.c=t.c,e.s0=t.s0,e.s1=t.s1,e.s2=t.s2,e}function h(t,e){var n=new o(t),r=e&&e.state,s=n.next;return s.int32=function(){return 4294967296*n.next()|0},s.double=function(){return s()+11102230246251565e-32*(2097152*s()|0)},s.quick=s,r&&("object"==typeof r&&a(r,n),s.state=function(){return a(n,{})}),s}s&&s.exports?s.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,s))||(s.exports=r):this.alea=h}(0,t=n.nmd(t),n.amdD)},9049:function(t,e,n){var r;!function(t,s,i){function o(t){var e=this,n="";e.next=function(){var t=e.b,n=e.c,r=e.d,s=e.a;return t=t<<25^t>>>7^n,n=n-r|0,r=r<<24^r>>>8^s,s=s-t|0,e.b=t=t<<20^t>>>12^n,e.c=n=n-r|0,e.d=r<<16^n>>>16^s,e.a=s-t|0},e.a=0,e.b=0,e.c=-1640531527,e.d=1367130551,t===Math.floor(t)?(e.a=t/4294967296|0,e.b=0|t):n+=t;for(var r=0;r<n.length+20;r++)e.b^=0|n.charCodeAt(r),e.next()}function a(t,e){return e.a=t.a,e.b=t.b,e.c=t.c,e.d=t.d,e}function h(t,e){var n=new o(t),r=e&&e.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&a(r,n),s.state=function(){return a(n,{})}),s}s&&s.exports?s.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,s))||(s.exports=r):this.tychei=h}(0,t=n.nmd(t),n.amdD)},8652:function(t,e,n){var r;!function(t,s,i){function o(t){var e=this,n="";e.x=0,e.y=0,e.z=0,e.w=0,e.next=function(){var t=e.x^e.x<<11;return e.x=e.y,e.y=e.z,e.z=e.w,e.w^=e.w>>>19^t^t>>>8},t===(0|t)?e.x=t:n+=t;for(var r=0;r<n.length+64;r++)e.x^=0|n.charCodeAt(r),e.next()}function a(t,e){return e.x=t.x,e.y=t.y,e.z=t.z,e.w=t.w,e}function h(t,e){var n=new o(t),r=e&&e.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&a(r,n),s.state=function(){return a(n,{})}),s}s&&s.exports?s.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,s))||(s.exports=r):this.xor128=h}(0,t=n.nmd(t),n.amdD)},3618:function(t,e,n){var r;!function(t,s,i){function o(t){var e=this;e.next=function(){var t,n,r=e.w,s=e.X,i=e.i;return e.w=r=r+1640531527|0,n=s[i+34&127],t=s[i=i+1&127],n^=n<<13,t^=t<<17,n^=n>>>15,t^=t>>>12,n=s[i]=n^t,e.i=i,n+(r^r>>>16)|0},function(t,e){var n,r,s,i,o,a=[],h=128;for(e===(0|e)?(r=e,e=null):(e+="\0",r=0,h=Math.max(h,e.length)),s=0,i=-32;i<h;++i)e&&(r^=e.charCodeAt((i+32)%e.length)),0===i&&(o=r),r^=r<<10,r^=r>>>15,r^=r<<4,r^=r>>>13,i>=0&&(o=o+1640531527|0,s=0==(n=a[127&i]^=r+o)?s+1:0);for(s>=128&&(a[127&(e&&e.length||0)]=-1),s=127,i=512;i>0;--i)r=a[s+34&127],n=a[s=s+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,a[s]=r^n;t.w=o,t.X=a,t.i=s}(e,t)}function a(t,e){return e.i=t.i,e.w=t.w,e.X=t.X.slice(),e}function h(t,e){null==t&&(t=+new Date);var n=new o(t),r=e&&e.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&(r.X&&a(r,n),s.state=function(){return a(n,{})}),s}s&&s.exports?s.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,s))||(s.exports=r):this.xor4096=h}(0,t=n.nmd(t),n.amdD)},2030:function(t,e,n){var r;!function(t,s,i){function o(t){var e=this;e.next=function(){var t,n,r=e.x,s=e.i;return t=r[s],n=(t^=t>>>7)^t<<24,n^=(t=r[s+1&7])^t>>>10,n^=(t=r[s+3&7])^t>>>3,n^=(t=r[s+4&7])^t<<7,t=r[s+7&7],n^=(t^=t<<13)^t<<9,r[s]=n,e.i=s+1&7,n},function(t,e){var n,r=[];if(e===(0|e))r[0]=e;else for(e=""+e,n=0;n<e.length;++n)r[7&n]=r[7&n]<<15^e.charCodeAt(n)+r[n+1&7]<<13;for(;r.length<8;)r.push(0);for(n=0;n<8&&0===r[n];++n);for(8==n?r[7]=-1:r[n],t.x=r,t.i=0,n=256;n>0;--n)t.next()}(e,t)}function a(t,e){return e.x=t.x.slice(),e.i=t.i,e}function h(t,e){null==t&&(t=+new Date);var n=new o(t),r=e&&e.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&(r.x&&a(r,n),s.state=function(){return a(n,{})}),s}s&&s.exports?s.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,s))||(s.exports=r):this.xorshift7=h}(0,t=n.nmd(t),n.amdD)},801:function(t,e,n){var r;!function(t,s,i){function o(t){var e=this,n="";e.next=function(){var t=e.x^e.x>>>2;return e.x=e.y,e.y=e.z,e.z=e.w,e.w=e.v,(e.d=e.d+362437|0)+(e.v=e.v^e.v<<4^t^t<<1)|0},e.x=0,e.y=0,e.z=0,e.w=0,e.v=0,t===(0|t)?e.x=t:n+=t;for(var r=0;r<n.length+64;r++)e.x^=0|n.charCodeAt(r),r==n.length&&(e.d=e.x<<10^e.x>>>4),e.next()}function a(t,e){return e.x=t.x,e.y=t.y,e.z=t.z,e.w=t.w,e.v=t.v,e.d=t.d,e}function h(t,e){var n=new o(t),r=e&&e.state,s=function(){return(n.next()>>>0)/4294967296};return s.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},s.int32=n.next,s.quick=s,r&&("object"==typeof r&&a(r,n),s.state=function(){return a(n,{})}),s}s&&s.exports?s.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,s))||(s.exports=r):this.xorwow=h}(0,t=n.nmd(t),n.amdD)},1971:function(t,e,n){var r;!function(s,i,o){var a,h=256,c=o.pow(h,6),l=o.pow(2,52),u=2*l,g=h-1;function f(t,e,n){var r=[],g=w(p((e=1==e?{entropy:!0}:e||{}).entropy?[t,y(i)]:null==t?function(){try{var t;return a&&(t=a.randomBytes)?t=t(h):(t=new Uint8Array(h),(s.crypto||s.msCrypto).getRandomValues(t)),y(t)}catch(t){var e=s.navigator,n=e&&e.plugins;return[+new Date,s,n,s.screen,y(i)]}}():t,3),r),f=new d(r),k=function(){for(var t=f.g(6),e=c,n=0;t<l;)t=(t+n)*h,e*=h,n=f.g(1);for(;t>=u;)t/=2,e/=2,n>>>=1;return(t+n)/e};return k.int32=function(){return 0|f.g(4)},k.quick=function(){return f.g(4)/4294967296},k.double=k,w(y(f.S),i),(e.pass||n||function(t,e,n,r){return r&&(r.S&&m(r,f),t.state=function(){return m(f,{})}),n?(o.random=t,e):t})(k,g,"global"in e?e.global:this==o,e.state)}function d(t){var e,n=t.length,r=this,s=0,i=r.i=r.j=0,o=r.S=[];for(n||(t=[n++]);s<h;)o[s]=s++;for(s=0;s<h;s++)o[s]=o[i=g&i+t[s%n]+(e=o[s])],o[i]=e;(r.g=function(t){for(var e,n=0,s=r.i,i=r.j,o=r.S;t--;)e=o[s=g&s+1],n=n*h+o[g&(o[s]=o[i=g&i+e])+(o[i]=e)];return r.i=s,r.j=i,n})(h)}function m(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}function p(t,e){var n,r=[],s=typeof t;if(e&&"object"==s)for(n in t)try{r.push(p(t[n],e-1))}catch(t){}return r.length?r:"string"==s?t:t+"\0"}function w(t,e){for(var n,r=t+"",s=0;s<r.length;)e[g&s]=g&(n^=19*e[g&s])+r.charCodeAt(s++);return y(e)}function y(t){return String.fromCharCode.apply(0,t)}if(w(o.random(),i),t.exports){t.exports=f;try{a=n(5042)}catch(t){}}else void 0===(r=function(){return f}.call(e,n,e,t))||(t.exports=r)}("undefined"!=typeof self?self:this,[],Math)}}]);
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,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LEtBQUt1akIsRUFBUXJJLEVBQUkySixHQUFPRCxFQUFRLEdBQUssQ0FBRSxNQUFPcGxCLEdBQUksQ0FHbkUsT0FBUTdHLEVBQU9FLE9BQVNGLEVBQWdCLFVBQVBtc0IsRUFBa0I1SixFQUFNQSxFQUFNLElBQ2pFLENBT0EsU0FBU29JLEVBQU8vQixFQUFNem1CLEdBRXBCLElBREEsSUFBNEJpcUIsRUFBeEJDLEVBQWF6RCxFQUFPLEdBQVcxZ0IsRUFBSSxFQUNoQ0EsRUFBSW1rQixFQUFXbnNCLFFBQ3BCaUMsRUFBSXFvQixFQUFPdGlCLEdBQ1RzaUIsR0FBUzRCLEdBQXlCLEdBQWhCanFCLEVBQUlxb0IsRUFBT3RpQixJQUFXbWtCLEVBQVdwRCxXQUFXL2dCLEtBRWxFLE9BQU80aUIsRUFBUzNvQixFQUNsQixDQTZCQSxTQUFTMm9CLEVBQVN4aUIsR0FDaEIsT0FBT3lnQixPQUFPdUQsYUFBYUMsTUFBTSxFQUFHamtCLEVBQ3RDLENBZUEsR0FOQXFpQixFQUFPVCxFQUFLampCLFNBQVVnakIsR0FNYXpCLEVBQU96RixRQUFTLENBQ2pEeUYsRUFBT3pGLFFBQVUwSCxFQUVqQixJQUNFTixFQUFhLEVBQVEsS0FDdkIsQ0FBRSxNQUFPcUMsR0FBSyxDQUNoQixXQUMwQyxLQUF4QyxhQUFvQixPQUFPL0IsQ0FBYSwrQkFRekMsQ0E5TkQsQ0FpT21CLG9CQUFUOUgsS0FBd0JBLEtBQU9sZ0IsS0FDdkMsR0FDQXJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3R5cGUtZGVjbGFyYXRpb25zLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tZXRyaWNzLW1ldGhvZHMuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3ZlY3Rvci1vcGVyYXRpb25zLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy90eXBlZC1tZXRyaWNzL3R5cGVkLW1ldHJpY3MuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC90eXBlcy5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L3V0aWxzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tYXRyaXgvZGlzdGFuY2UtbWF0cml4LXNlcnZpY2UuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3VtYXAvdXRpbHMuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3VtYXAvaGVhcC5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdW1hcC9tYXRyaXguanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3VtYXAvdHJlZS5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdW1hcC91bWFwLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy91bWFwL25uX2Rlc2NlbnQuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL21sLWxldmVuYmVyZy1tYXJxdWFyZHQvc3JjL2luZGV4LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tYXRyaXgvc3BhcnNlLW1hdHJpeC1zZXJ2aWNlLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9tdWx0aS1jb2x1bW4tZGltZW5zaW9uYWxpdHktcmVkdWN0aW9uL211bHRpLWNvbHVtbi1kaW0tcmVkdWNlci5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L3Byb3h5LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9tdWx0aS1jb2x1bW4tZGltZW5zaW9uYWxpdHktcmVkdWN0aW9uL211bGl0LWNvbHVtbi1kaW0tcmVkdWNlci13b3JrZXIuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BrZWNrZWx0L3RzbmUvbGliL2luZGV4LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9Aa2Vja2VsdC90c25lL2xpYi90c25lLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9zZWVkcmFuZG9tL2luZGV4LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9zZWVkcmFuZG9tL2xpYi9hbGVhLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9zZWVkcmFuZG9tL2xpYi90eWNoZWkuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL3NlZWRyYW5kb20vbGliL3hvcjEyOC5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvc2VlZHJhbmRvbS9saWIveG9yNDA5Ni5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvc2VlZHJhbmRvbS9saWIveG9yc2hpZnQ3LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9zZWVkcmFuZG9tL2xpYi94b3J3b3cuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL3NlZWRyYW5kb20vc2VlZHJhbmRvbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlbm90ZXMgYSB2ZWN0b3Igb2YgZmxvYXRpbmcgcG9pdCB2YWx1ZXMuXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIFZlY3RvclxuICogQGV4dGVuZHMge0Zsb2F0MzJBcnJheX1cbiAqL1xuZXhwb3J0IGNsYXNzIFZlY3RvciBleHRlbmRzIEZsb2F0MzJBcnJheSB7XG59XG4vKipcbiAqIERlbm90ZXMgYSB0d28tZGltZW5zaW9uYWwgbWF0cml4LlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBNYXRyaXhcbiAqIEBleHRlbmRzIHtBcnJheTxWZWN0b3I+fVxuICovXG5leHBvcnQgY2xhc3MgTWF0cml4IGV4dGVuZHMgQXJyYXkge1xufVxuLyoqXG4gKiBEZW5vdGVzIGNhcnRlc2lhbiBjb29yZGluYXRlcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgQ29vcmRpbmF0ZXNcbiAqIEBleHRlbmRzIHtNYXRyaXh9XG4gKi9cbmV4cG9ydCBjbGFzcyBDb29yZGluYXRlcyBleHRlbmRzIE1hdHJpeCB7XG59XG4vKipcbiAqIERlbm90ZXMgYW4gYXJyYXkgb2YgYXJiaXRyYXJ5LXR5cGVkIHZlY3RvcnMuXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIFZlY3RvcnNcbiAqIEBleHRlbmRzIHtBcnJheTxhbnk+fVxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9ycyBleHRlbmRzIEFycmF5IHtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRIbHdaUzFrWldOc1lYSmhkR2x2Ym5NdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUowZVhCbExXUmxZMnhoY21GMGFXOXVjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFUczdPenM3TzBkQlRVYzdRVUZEU0N4TlFVRk5MRTlCUVU4c1RVRkJUeXhUUVVGUkxGbEJRVms3UTBGQlJ6dEJRVVV6UXpzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxFOUJRVThzVFVGQlR5eFRRVUZSTEV0QlFXRTdRMEZCUnp0QlFVVTFRenM3T3pzN08wZEJUVWM3UVVGRFNDeE5RVUZOTEU5QlFVOHNWMEZCV1N4VFFVRlJMRTFCUVUwN1EwRkJSenRCUVVVeFF6czdPenM3TzBkQlRVYzdRVUZEU0N4TlFVRk5MRTlCUVU4c1QwRkJVU3hUUVVGUkxFdEJRVlU3UTBGQlJ5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQXFJR0Z6SUVSSElHWnliMjBnSjJSaGRHRm5jbTlyTFdGd2FTOWtaeWM3WEc1Y2JpOHFLbHh1SUNvZ1JHVnViM1JsY3lCaElIWmxZM1J2Y2lCdlppQm1iRzloZEdsdVp5QndiMmwwSUhaaGJIVmxjeTVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQVkyeGhjM01nVm1WamRHOXlYRzRnS2lCQVpYaDBaVzVrY3lCN1JteHZZWFF6TWtGeWNtRjVmVnh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVm1WamRHOXlJR1Y0ZEdWdVpITWdSbXh2WVhRek1rRnljbUY1SUh0OVhHNWNiaThxS2x4dUlDb2dSR1Z1YjNSbGN5QmhJSFIzYnkxa2FXMWxibk5wYjI1aGJDQnRZWFJ5YVhndVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRR05zWVhOeklFMWhkSEpwZUZ4dUlDb2dRR1Y0ZEdWdVpITWdlMEZ5Y21GNVBGWmxZM1J2Y2o1OVhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5Qk5ZWFJ5YVhnZ1pYaDBaVzVrY3lCQmNuSmhlVHhXWldOMGIzSStJSHQ5WEc1Y2JpOHFLbHh1SUNvZ1JHVnViM1JsY3lCallYSjBaWE5wWVc0Z1kyOXZjbVJwYm1GMFpYTXVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUdOc1lYTnpJRU52YjNKa2FXNWhkR1Z6WEc0Z0tpQkFaWGgwWlc1a2N5QjdUV0YwY21sNGZWeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdRMjl2Y21ScGJtRjBaWE1nWlhoMFpXNWtjeUJOWVhSeWFYZ2dlMzFjYmx4dUx5b3FYRzRnS2lCRVpXNXZkR1Z6SUdGdUlHRnljbUY1SUc5bUlHRnlZbWwwY21GeWVTMTBlWEJsWkNCMlpXTjBiM0p6TGx4dUlDcGNiaUFxSUVCbGVIQnZjblJjYmlBcUlFQmpiR0Z6Y3lCV1pXTjBiM0p6WEc0Z0tpQkFaWGgwWlc1a2N5QjdRWEp5WVhrOFlXNTVQbjFjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUZabFkzUnZjbk1nWlhoMFpXNWtjeUJCY25KaGVUeGhibmsrSUh0OVhHNWNiaThxS2x4dUlDb2dSR1Z1YjNSbGN5QmhJR1JwWTNScGIyNWhjbmtnWTI5dWRHRnBibWx1WnlCbWRXNWpkR2x2YmlCdmNIUnBiMjV6TGx4dUlDcGNiaUFxSUVCbGVIQnZjblJjYmlBcUlFQjBlWEJsSUU5d2RHbHZibk5jYmlBcUwxeHVaWGh3YjNKMElIUjVjR1VnVDNCMGFXOXVjeUE5SUh0YmJtRnRaVG9nYzNSeWFXNW5YVG9nWVc1NWZUdGNibHh1THlvcVhHNGdLaUJFWlc1dmRHVnpJR04xYzNSdmJTQmthWE4wWVc1alpTQnRaWFJ5YVdNZ1ltVjBkMlZsYmlCMGFHVWdkSGR2SUdkcGRtVnVJSFpsWTNSdmNuTXVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhSNWNHVWdSR2x6ZEdGdVkyVk5aWFJ5YVdOY2JpQXFJRUJ3WVhKaGJTQjdZVzU1ZlNCMk1TQlVhR1VnWm1seWMzUWdkbVZqZEc5eUxseHVJQ29nUUhCaGNtRnRJSHRoYm5sOUlIWXlJRlJvWlNCelpXTnZibVFnZG1WamRHOXlMbHh1SUNvZ1FISmxkSFZ5YmlCN2JuVnRZbVZ5ZlNCRWFYTjBZVzVqWlNCaVpYUjNaV1Z1SUhSb1pYTmxJSFIzYnlCMlpXTjBiM0p6TGx4dUlDb3ZYRzVsZUhCdmNuUWdkSGx3WlNCRWFYTjBZVzVqWlUxbGRISnBZeUE5SUNoMk1Ub2dZVzU1TENCMk1qb2dZVzU1S1NBOVBpQW9iblZ0WW1WeUtUdGNibHh1THlvcVhHNGdLaUJFWlc1dmRHVnpJR0VnYzJsdGNHeGxJSE4wY21sdVp5QjBieUJ6ZEhKcGJtY2daR2xqZEdsdmJtRnllUzVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQWRIbHdaU0JUZEhKcGJtZEVhV04wYVc5dVlYSjVYRzRnS2k5Y2JtVjRjRzl5ZENCMGVYQmxJRk4wY21sdVowUnBZM1JwYjI1aGNua2dQU0I3VzJ0bGVUb2djM1J5YVc1blhUb2djM1J5YVc1bmZUdGNibHh1WEc1bGVIQnZjblFnZEhsd1pTQkRiMngxYlc1SmJuQjFkRTl3ZEdsdmJuTWdQU0I3WEc0Z0lDQWdabWxzZEdWeVB6b2dLR052YkRvZ1JFY3VRMjlzZFcxdUtTQTlQaUJpYjI5c1pXRnVJSHdnYm5Wc2JEdGNibjA3WEc0aVhYMD0iLCJpbXBvcnQgQml0QXJyYXkgZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvYml0LWFycmF5JztcbmltcG9ydCB7IEJpdEFycmF5TWV0cmljc05hbWVzIH0gZnJvbSAnLi90eXBlZC1tZXRyaWNzL2NvbnN0cyc7XG5pbXBvcnQgeyBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMgfSBmcm9tICcuL21hY3JvbW9sZWN1bGUtZGlzdGFuY2UtZnVuY3Rpb25zJztcbmV4cG9ydCBjb25zdCBzaW1pbGFyaXR5TWV0cmljID0ge1xuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IHRhbmltb3RvU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZV06IGRpY2VTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYXN5bW1ldHJpY1NpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBicmF1bkJsYW5xdWV0U2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXTogY29zaW5lU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGt1bGN6eW5za2lTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBtY0Nvbm5hdWdoZXlTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Sb2dvdEdvbGRiZXJnXTogcm9nb3RHb2xkYmVyZ1NpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IHJ1c3NlbFNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogc29rYWxTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5IYW1taW5nXTogaGFtbWluZ1NpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGV1Y2xpZGVhblNpbWlsYXJpdHksXG59O1xuZXhwb3J0IGNvbnN0IGRpc3RhbmNlTWV0cmljcyA9IHtcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dOiB0YW5pbW90b0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogZGljZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYXN5bW1ldHJpY0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XTogYnJhdW5CbGFucXVldERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBjb3NpbmVEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGt1bGN6eW5za2lEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XTogbWNDb25uYXVnaGV5RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiByb2dvdEdvbGRiZXJnRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IHJ1c3NlbERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF06IHNva2FsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkhhbW1pbmddOiBoYW1taW5nRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGV1Y2xpZGVhbkRpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBDSEVNX1NJTUlMQVJJVFlfTUVUUklDUyA9IFtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90byxcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZVxuXTtcbmV4cG9ydCBjb25zdCBTRVFfU1BBQ0VfU0lNSUxBUklUWV9NRVRSSUNTID0gW1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWMsXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXG5dO1xuZXhwb3J0IGNvbnN0IE1BQ1JPTU9MRUNVTEVfU0lNSUxBUklUWV9NRVRSSUNTID0gW1xuICAgIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5IQU1NSU5HLFxuICAgIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5MRVZFTlNIVEVJTixcbiAgICBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRSxcbiAgICBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTkVFRExFTUFOTl9XVU5TQ0hcbl07XG5leHBvcnQgZnVuY3Rpb24gdGFuaW1vdG9TaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGlmICh0b3RhbCA9PSAwKVxuICAgICAgICByZXR1cm4gMS4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gKHRvdGFsIC0gY29tbW9uKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0YW5pbW90b0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eSh0YW5pbW90b1NpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRhbmltb3RvRGlzdGFuY2VJbnRBcnJheSh4LCB5KSB7XG4gICAgY29uc3QgeGIgPSBuZXcgQml0QXJyYXkoeCwgeC5sZW5ndGggKiAzMik7XG4gICAgY29uc3QgeWIgPSBuZXcgQml0QXJyYXkoeSwgeS5sZW5ndGggKiAzMik7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkodGFuaW1vdG9TaW1pbGFyaXR5KHhiLCB5YikpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRpY2VTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGlmICh0b3RhbCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gMiAqIGNvbW1vbiAvIHRvdGFsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRpY2VEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoZGljZVNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvc2luZVNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSAqIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsID09IDApXG4gICAgICAgIHJldHVybiAwLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiBjb21tb24gLyBNYXRoLnNxcnQodG90YWwpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvc2luZURpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShjb3NpbmVTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBldWNsaWRlYW5TaW1pbGFyaXR5KHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZShldWNsaWRlYW5EaXN0YW5jZSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZXVjbGlkZWFuRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBNYXRoLnNxcnQoeC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCkgLSAyICogeC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBoYW1taW5nU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldFNpbWlsYXJpdHlGcm9tRGlzdGFuY2UoaGFtbWluZ0Rpc3RhbmNlKHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBoYW1taW5nRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiB4LnRydWVDb3VudCgpICsgeS50cnVlQ291bnQoKSAtIDIgKiB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gc29rYWxTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gKDIgKiB0b3RhbCAtIDMgKiBjb21tb24pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNva2FsRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KHNva2FsU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24ga3VsY3p5bnNraVNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCk7XG4gICAgY29uc3QgdG90YWxQcm9kID0geC50cnVlQ291bnQoKSAqIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsUHJvZCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gKGNvbW1vbiAqIHRvdGFsKSAvICgyICogdG90YWxQcm9kKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBrdWxjenluc2tpRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KGt1bGN6eW5za2lTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtY0Nvbm5hdWdoZXlTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGNvbnN0IHRvdGFsUHJvZCA9IHgudHJ1ZUNvdW50KCkgKiB5LnRydWVDb3VudCgpO1xuICAgIGlmICh0b3RhbFByb2QgPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIChjb21tb24gKiB0b3RhbCAtIHRvdGFsUHJvZCkgLyB0b3RhbFByb2Q7XG59XG5leHBvcnQgZnVuY3Rpb24gbWNDb25uYXVnaGV5RGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KG1jQ29ubmF1Z2hleVNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFzeW1tZXRyaWNTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCBtaW4gPSBNYXRoLm1pbih4LnRydWVDb3VudCgpLCB5LnRydWVDb3VudCgpKTtcbiAgICBpZiAobWluID09IDApXG4gICAgICAgIHJldHVybiAwLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiBjb21tb24gLyBtaW47XG59XG5leHBvcnQgZnVuY3Rpb24gYXN5bW1ldHJpY0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShhc3ltbWV0cmljU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYnJhdW5CbGFucXVldFNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KHgudHJ1ZUNvdW50KCksIHkudHJ1ZUNvdW50KCkpO1xuICAgIGlmIChtYXggPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIGNvbW1vbiAvIG1heDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBicmF1bkJsYW5xdWV0RGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KGJyYXVuQmxhbnF1ZXRTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBydXNzZWxTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBpZiAoeC5sZW5ndGggPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIGNvbW1vbiAvIHgubGVuZ3RoO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJ1c3NlbERpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShydXNzZWxTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiByb2dvdEdvbGRiZXJnU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIGNvbnN0IHRvdGFsID0geC5jb3VudEJpdHModHJ1ZSkgKyB5LmNvdW50Qml0cyh0cnVlKTtcbiAgICBjb25zdCBsZW4gPSB4Lmxlbmd0aDtcbiAgICBjb25zdCBkaWZmID0gbGVuIC0gdG90YWwgKyBjb21tb247XG4gICAgaWYgKChjb21tb24gPT0gbGVuKSB8fCAoZGlmZiA9PSBsZW4pKVxuICAgICAgICByZXR1cm4gMS4wO1xuICAgIGVsc2VcbiAgICAgICAgcmV0dXJuIGNvbW1vbiAvIHRvdGFsICsgZGlmZiAvICgyICogbGVuIC0gdG90YWwpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJvZ290R29sZGJlcmdEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkocm9nb3RHb2xkYmVyZ1NpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFNpbWlsYXJpdHlGcm9tRGlzdGFuY2UoZGlzdGFuY2UpIHtcbiAgICByZXR1cm4gMSAvICgxICsgZGlzdGFuY2UpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoc2ltaWxhcml0eSkge1xuICAgIHJldHVybiBzaW1pbGFyaXR5ID09PSAwID8gMy40MDI4MjNFKzM4IDogKDEgLyBzaW1pbGFyaXR5KSAtIDE7XG59XG5leHBvcnQgZnVuY3Rpb24gbnVtZXJpY0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gTWF0aC5hYnMoeCAtIHkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWkdsemRHRnVZMlV0YldWMGNtbGpjeTF0WlhSb2IyUnpMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaVpHbHpkR0Z1WTJVdGJXVjBjbWxqY3kxdFpYUm9iMlJ6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTlCUVU4c1VVRkJVU3hOUVVGTkxIbERRVUY1UXl4RFFVRkRPMEZCUXk5RUxFOUJRVThzUlVGQlF5eHZRa0ZCYjBJc1JVRkJReXhOUVVGTkxIZENRVUYzUWl4RFFVRkRPMEZCUXpWRUxFOUJRVThzUlVGQlF5eDNRa0ZCZDBJc1JVRkJReXhOUVVGTkxHOURRVUZ2UXl4RFFVRkRPMEZCUlRWRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEdkQ1FVRm5RaXhIUVVFMlJEdEpRVU40Uml4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZGQlFWRXNRMEZCUXl4RlFVRkZMR3RDUVVGclFqdEpRVU51UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMR05CUVdNN1NVRkRNME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhWUVVGVkxFTkJRVU1zUlVGQlJTeHZRa0ZCYjBJN1NVRkRka1FzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhoUVVGaExFTkJRVU1zUlVGQlJTeDFRa0ZCZFVJN1NVRkROMFFzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeG5Ra0ZCWjBJN1NVRkRMME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhWUVVGVkxFTkJRVU1zUlVGQlJTeHZRa0ZCYjBJN1NVRkRka1FzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhaUVVGWkxFTkJRVU1zUlVGQlJTeHpRa0ZCYzBJN1NVRkRNMFFzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhoUVVGaExFTkJRVU1zUlVGQlJTeDFRa0ZCZFVJN1NVRkROMFFzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeG5Ra0ZCWjBJN1NVRkRMME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeGxRVUZsTzBsQlF6ZERMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc2FVSkJRV2xDTzBsQlEycEVMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNVMEZCVXl4RFFVRkRMRVZCUVVVc2JVSkJRVzFDTzBOQlEzUkVMRU5CUVVNN1FVRkZSaXhOUVVGTkxFTkJRVU1zVFVGQlRTeGxRVUZsTEVkQlFUWkVPMGxCUTNaR0xFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1VVRkJVU3hEUVVGRExFVkJRVVVzWjBKQlFXZENPMGxCUTJwRUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVVzV1VGQldUdEpRVU42UXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMR3RDUVVGclFqdEpRVU55UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXl4RlFVRkZMSEZDUVVGeFFqdEpRVU16UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMR05CUVdNN1NVRkROME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhWUVVGVkxFTkJRVU1zUlVGQlJTeHJRa0ZCYTBJN1NVRkRja1FzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhaUVVGWkxFTkJRVU1zUlVGQlJTeHZRa0ZCYjBJN1NVRkRla1FzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhoUVVGaExFTkJRVU1zUlVGQlJTeHhRa0ZCY1VJN1NVRkRNMFFzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeGpRVUZqTzBsQlF6ZERMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1lVRkJZVHRKUVVNelF5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTEdWQlFXVTdTVUZETDBNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4VFFVRlRMRU5CUVVNc1JVRkJSU3hwUWtGQmFVSTdRMEZEY0VRc1EwRkJRenRCUVVWR0xFMUJRVTBzUTBGQlF5eE5RVUZOTEhWQ1FVRjFRaXhIUVVGSE8wbEJRM0pETEc5Q1FVRnZRaXhEUVVGRExGRkJRVkU3U1VGRE4wSXNiMEpCUVc5Q0xFTkJRVU1zU1VGQlNUdEpRVU42UWl4dlFrRkJiMElzUTBGQlF5eE5RVUZOTzBOQlFVTXNRMEZCUXp0QlFVTXZRaXhOUVVGTkxFTkJRVU1zVFVGQlRTdzBRa0ZCTkVJc1IwRkJSenRKUVVNeFF5eHZRa0ZCYjBJc1EwRkJReXhSUVVGUk8wbEJRemRDTEc5Q1FVRnZRaXhEUVVGRExGVkJRVlU3U1VGREwwSXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRUdEpRVU16UWl4dlFrRkJiMElzUTBGQlF5eExRVUZMTzBOQlFVTXNRMEZCUXp0QlFVTTVRaXhOUVVGTkxFTkJRVU1zVFVGQlRTeG5RMEZCWjBNc1IwRkJSenRKUVVNNVF5eDNRa0ZCZDBJc1EwRkJReXhQUVVGUE8wbEJRMmhETEhkQ1FVRjNRaXhEUVVGRExGZEJRVmM3U1VGRGNFTXNkMEpCUVhkQ0xFTkJRVU1zZVVKQlFYbENPMGxCUTJ4RUxIZENRVUYzUWl4RFFVRkRMR2xDUVVGcFFqdERRVU16UXl4RFFVRkRPMEZCUjBZc1RVRkJUU3hWUVVGVkxHdENRVUZyUWl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRM3BFTEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN1NVRkROVU1zU1VGQlNTeExRVUZMTEVsQlFVa3NRMEZCUXp0UlFVRkZMRTlCUVU4c1IwRkJSeXhEUVVGRE8wbEJRek5DTEUxQlFVMHNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRE0wTXNUMEZCVHl4TlFVRk5MRWRCUVVjc1EwRkJReXhMUVVGTExFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTTdRVUZEYmtNc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeG5Ra0ZCWjBJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU4yUkN4UFFVRlBMSGxDUVVGNVFpeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUXpkRUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNkMEpCUVhkQ0xFTkJRVU1zUTBGQll5eEZRVUZGTEVOQlFXTTdTVUZEY2tVc1RVRkJUU3hGUVVGRkxFZEJRVWNzU1VGQlNTeFJRVUZSTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhOUVVGTkxFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTTdTVUZETVVNc1RVRkJUU3hGUVVGRkxFZEJRVWNzU1VGQlNTeFJRVUZSTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhOUVVGTkxFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTTdTVUZETVVNc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eEZRVUZGTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVNdlJDeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR05CUVdNc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU55UkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRelZETEVsQlFVa3NTMEZCU3l4SlFVRkpMRU5CUVVNN1VVRkJSU3hQUVVGUExFZEJRVWNzUTBGQlF6dEpRVU16UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6TkRMRTlCUVU4c1EwRkJReXhIUVVGSExFMUJRVTBzUjBGQlJ5eExRVUZMTEVOQlFVTTdRVUZETlVJc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeFpRVUZaTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRia1FzVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRla1FzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4blFrRkJaMElzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTjJSQ3hOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzBsQlF6VkRMRWxCUVVrc1MwRkJTeXhKUVVGSkxFTkJRVU03VVVGQlJTeFBRVUZQTEVkQlFVY3NRMEZCUXp0SlFVTXpRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpORExFOUJRVThzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UVVGRGJrTXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hqUVVGakxFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZEY2tRc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVNelJDeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMRzFDUVVGdFFpeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUXpGRUxFOUJRVThzZVVKQlFYbENMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRE5VUXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hwUWtGQmFVSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVONFJDeFBRVUZQTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNCR0xFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNhVUpCUVdsQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZEZUVRc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETVVRc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeGxRVUZsTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRkRVFzVDBGQlR5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wRkJRM3BGTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1pVRkJaU3hEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzUkVMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRE5VTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UXl4UFFVRlBMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eExRVUZMTEVkQlFVY3NRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRek5ETEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1lVRkJZU3hEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzQkVMRTlCUVU4c2VVSkJRWGxDTEVOQlFVTXNaVUZCWlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6RkVMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzYjBKQlFXOUNMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRE0wUXNUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVNMVF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUTJoRUxFbEJRVWtzVTBGQlV5eEpRVUZKTEVOQlFVTTdVVUZCUlN4UFFVRlBMRWRCUVVjc1EwRkJRenRKUVVNdlFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRek5ETEU5QlFVOHNRMEZCUXl4TlFVRk5MRWRCUVVjc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUVVNN1FVRkROVU1zUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4clFrRkJhMElzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTjZSQ3hQUVVGUExIbENRVUY1UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJReTlFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2MwSkJRWE5DTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkROMFFzVFVGQlRTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0SlFVTTFReXhOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzBsQlEyaEVMRWxCUVVrc1UwRkJVeXhKUVVGSkxFTkJRVU03VVVGQlJTeFBRVUZQTEVkQlFVY3NRMEZCUXp0SlFVTXZRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpORExFOUJRVThzUTBGQlF5eE5RVUZOTEVkQlFVY3NTMEZCU3l4SFFVRkhMRk5CUVZNc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF6dEJRVU5zUkN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHOUNRVUZ2UWl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRek5FTEU5QlFVOHNlVUpCUVhsQ0xFTkJRVU1zYzBKQlFYTkNMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEYWtVc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeHZRa0ZCYjBJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU16UkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTnVSQ3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETzFGQlFVVXNUMEZCVHl4SFFVRkhMRU5CUVVNN1NVRkRla0lzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRKUVVNelF5eFBRVUZQTEUxQlFVMHNSMEZCUnl4SFFVRkhMRU5CUVVNN1FVRkRkRUlzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4clFrRkJhMElzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTjZSQ3hQUVVGUExIbENRVUY1UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJReTlFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2RVSkJRWFZDTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRPVVFzVFVGQlRTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRGJrUXNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVGRkxFOUJRVThzUjBGQlJ5eERRVUZETzBsQlEzcENMRTFCUVUwc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdTVUZETTBNc1QwRkJUeXhOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzBGQlEzUkNMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzY1VKQlFYRkNMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRE5VUXNUMEZCVHl4NVFrRkJlVUlzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTnNSU3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdkQ1FVRm5RaXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzWkVMRWxCUVVrc1EwRkJReXhEUVVGRExFMUJRVTBzU1VGQlNTeERRVUZETzFGQlFVVXNUMEZCVHl4SFFVRkhMRU5CUVVNN1NVRkRPVUlzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRKUVVNelF5eFBRVUZQTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8wRkJRek5DTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1kwRkJZeXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzSkVMRTlCUVU4c2VVSkJRWGxDTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRNMFFzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4MVFrRkJkVUlzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTTVSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpORExFMUJRVTBzUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRKUVVOd1JDeE5RVUZOTEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRM0pDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWRCUVVjc1IwRkJSeXhMUVVGTExFZEJRVWNzVFVGQlRTeERRVUZETzBsQlEyeERMRWxCUVVrc1EwRkJReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRWxCUVVrc1IwRkJSeXhEUVVGRE8xRkJRVVVzVDBGQlR5eEhRVUZITEVOQlFVTTdPMUZCUXpWRExFOUJRVThzVFVGQlRTeEhRVUZITEV0QlFVc3NSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTNoRUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNjVUpCUVhGQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZETlVRc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOc1JTeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMSGxDUVVGNVFpeERRVUZETEZGQlFXZENPMGxCUTNoRUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRelZDTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2VVSkJRWGxDTEVOQlFVTXNWVUZCYTBJN1NVRkRNVVFzVDBGQlR5eFZRVUZWTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRlZCUVZVc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEJRVU5vUlN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHVkJRV1VzUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXp0SlFVTnNSQ3hQUVVGUExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM3BDTEVOQlFVTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdRbWwwUVhKeVlYa2dabkp2YlNBblFHUmhkR0ZuY205ckxXeHBZbkpoY21sbGN5OTFkR2xzY3k5emNtTXZZbWwwTFdGeWNtRjVKenRjYm1sdGNHOXlkQ0I3UW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhOOUlHWnliMjBnSnk0dmRIbHdaV1F0YldWMGNtbGpjeTlqYjI1emRITW5PMXh1YVcxd2IzSjBJSHROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTjlJR1p5YjIwZ0p5NHZiV0ZqY205dGIyeGxZM1ZzWlMxa2FYTjBZVzVqWlMxbWRXNWpkR2x2Ym5Nbk8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ2MybHRhV3hoY21sMGVVMWxkSEpwWXpvZ2V5QmJibUZ0WlRvZ2MzUnlhVzVuWFRvZ0tIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrZ1BUNGdiblZ0WW1WeUlIMGdQU0I3WEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVVWVc1cGJXOTBiMTA2SUhSaGJtbHRiM1J2VTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtScFkyVmRPaUJrYVdObFUybHRhV3hoY21sMGVTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrRnplVzF0WlhSeWFXTmRPaUJoYzNsdGJXVjBjbWxqVTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtKeVlYVnVRbXhoYm5GMVpYUmRPaUJpY21GMWJrSnNZVzV4ZFdWMFUybHRhV3hoY21sMGVTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrTnZjMmx1WlYwNklHTnZjMmx1WlZOcGJXbHNZWEpwZEhrc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1TGRXeGplbmx1YzJ0cFhUb2dhM1ZzWTNwNWJuTnJhVk5wYldsc1lYSnBkSGtzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVOWTBOdmJtNWhkV2RvWlhsZE9pQnRZME52Ym01aGRXZG9aWGxUYVcxcGJHRnlhWFI1TEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VW05bmIzUkhiMnhrWW1WeVoxMDZJSEp2WjI5MFIyOXNaR0psY21kVGFXMXBiR0Z5YVhSNUxGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVVuVnpjMlZzWFRvZ2NuVnpjMlZzVTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxOdmEyRnNYVG9nYzI5cllXeFRhVzFwYkdGeWFYUjVMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVTR0Z0YldsdVoxMDZJR2hoYlcxcGJtZFRhVzFwYkdGeWFYUjVMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVSWFZqYkdsa1pXRnVYVG9nWlhWamJHbGtaV0Z1VTJsdGFXeGhjbWwwZVN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQmthWE4wWVc1alpVMWxkSEpwWTNNNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklDaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcElEMCtJRzUxYldKbGNpQjlJRDBnZTF4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VkdGdWFXMXZkRzlkT2lCMFlXNXBiVzkwYjBScGMzUmhibU5sTEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UkdsalpWMDZJR1JwWTJWRWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtGemVXMXRaWFJ5YVdOZE9pQmhjM2x0YldWMGNtbGpSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUNjbUYxYmtKc1lXNXhkV1YwWFRvZ1luSmhkVzVDYkdGdWNYVmxkRVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRMjl6YVc1bFhUb2dZMjl6YVc1bFJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1TGRXeGplbmx1YzJ0cFhUb2dhM1ZzWTNwNWJuTnJhVVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVUV05EYjI1dVlYVm5hR1Y1WFRvZ2JXTkRiMjV1WVhWbmFHVjVSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVNiMmR2ZEVkdmJHUmlaWEpuWFRvZ2NtOW5iM1JIYjJ4a1ltVnlaMFJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVblZ6YzJWc1hUb2djblZ6YzJWc1JHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VGIydGhiRjA2SUhOdmEyRnNSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUlZVzF0YVc1blhUb2dhR0Z0YldsdVowUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVJYVmpiR2xrWldGdVhUb2daWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUTBoRlRWOVRTVTFKVEVGU1NWUlpYMDFGVkZKSlExTWdQU0JiWEc0Z0lFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbFJoYm1sdGIzUnZMRnh1SUNCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUVhV05sTEZ4dUlDQkNhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVEYjNOcGJtVmRPMXh1Wlhod2IzSjBJR052Ym5OMElGTkZVVjlUVUVGRFJWOVRTVTFKVEVGU1NWUlpYMDFGVkZKSlExTWdQU0JiWEc0Z0lFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbFJoYm1sdGIzUnZMRnh1SUNCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUJjM2x0YldWMGNtbGpMRnh1SUNCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NURiM05wYm1Vc1hHNGdJRUpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxOdmEyRnNYVHRjYm1WNGNHOXlkQ0JqYjI1emRDQk5RVU5TVDAxUFRFVkRWVXhGWDFOSlRVbE1RVkpKVkZsZlRVVlVVa2xEVXlBOUlGdGNiaUFnVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMa2hCVFUxSlRrY3NYRzRnSUUxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVNUlZaRlRsTklWRVZKVGl4Y2JpQWdUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWekxrMVBUazlOUlZKZlEwaEZUVWxEUVV4ZlJFbFRWRUZPUTBVc1hHNGdJRTF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NU9SVVZFVEVWTlFVNU9YMWRWVGxORFNGeHVYVHRjYmx4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2RHRnVhVzF2ZEc5VGFXMXBiR0Z5YVhSNUtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJR052Ym5OMElIUnZkR0ZzSUQwZ2VDNTBjblZsUTI5MWJuUW9LU0FySUhrdWRISjFaVU52ZFc1MEtDazdYRzRnSUdsbUlDaDBiM1JoYkNBOVBTQXdLU0J5WlhSMWNtNGdNUzR3TzF4dUlDQmpiMjV6ZENCamIyMXRiMjRnUFNCNExtRnVaRmRwZEdoRGIzVnVkRUpwZEhNb2VTd2dkSEoxWlNrN1hHNGdJSEpsZEhWeWJpQmpiMjF0YjI0Z0x5QW9kRzkwWVd3Z0xTQmpiMjF0YjI0cE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnZEdGdWFXMXZkRzlFYVhOMFlXNWpaU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCeVpYUjFjbTRnWjJWMFJHbHpkR0Z1WTJWR2NtOXRVMmx0YVd4aGNtbDBlU2gwWVc1cGJXOTBiMU5wYldsc1lYSnBkSGtvZUN3Z2VTa3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2RHRnVhVzF2ZEc5RWFYTjBZVzVqWlVsdWRFRnljbUY1S0hnNklGVnBiblF6TWtGeWNtRjVMQ0I1T2lCVmFXNTBNekpCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUdOdmJuTjBJSGhpSUQwZ2JtVjNJRUpwZEVGeWNtRjVLSGdzSUhndWJHVnVaM1JvSUNvZ016SXBPMXh1SUNCamIyNXpkQ0I1WWlBOUlHNWxkeUJDYVhSQmNuSmhlU2g1TENCNUxteGxibWQwYUNBcUlETXlLVHRjYmlBZ2NtVjBkWEp1SUdkbGRFUnBjM1JoYm1ObFJuSnZiVk5wYldsc1lYSnBkSGtvZEdGdWFXMXZkRzlUYVcxcGJHRnlhWFI1S0hoaUxDQjVZaWtwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaR2xqWlZOcGJXbHNZWEpwZEhrb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdZMjl1YzNRZ2RHOTBZV3dnUFNCNExuUnlkV1ZEYjNWdWRDZ3BJQ3NnZVM1MGNuVmxRMjkxYm5Rb0tUdGNiaUFnYVdZZ0tIUnZkR0ZzSUQwOUlEQXBJSEpsZEhWeWJpQXdMakE3WEc0Z0lHTnZibk4wSUdOdmJXMXZiaUE5SUhndVlXNWtWMmwwYUVOdmRXNTBRbWwwY3loNUxDQjBjblZsS1R0Y2JpQWdjbVYwZFhKdUlESWdLaUJqYjIxdGIyNGdMeUIwYjNSaGJEdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdScFkyVkVhWE4wWVc1alpTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0J5WlhSMWNtNGdaMlYwUkdsemRHRnVZMlZHY205dFUybHRhV3hoY21sMGVTaGthV05sVTJsdGFXeGhjbWwwZVNoNExDQjVLU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmpiM05wYm1WVGFXMXBiR0Z5YVhSNUtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJR052Ym5OMElIUnZkR0ZzSUQwZ2VDNTBjblZsUTI5MWJuUW9LU0FxSUhrdWRISjFaVU52ZFc1MEtDazdYRzRnSUdsbUlDaDBiM1JoYkNBOVBTQXdLU0J5WlhSMWNtNGdNQzR3TzF4dUlDQmpiMjV6ZENCamIyMXRiMjRnUFNCNExtRnVaRmRwZEdoRGIzVnVkRUpwZEhNb2VTd2dkSEoxWlNrN1hHNGdJSEpsZEhWeWJpQmpiMjF0YjI0Z0x5Qk5ZWFJvTG5OeGNuUW9kRzkwWVd3cE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWTI5emFXNWxSR2x6ZEdGdVkyVW9lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJR2RsZEVScGMzUmhibU5sUm5KdmJWTnBiV2xzWVhKcGRIa29ZMjl6YVc1bFUybHRhV3hoY21sMGVTaDRMQ0I1S1NrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJsZFdOc2FXUmxZVzVUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCblpYUlRhVzFwYkdGeWFYUjVSbkp2YlVScGMzUmhibU5sS0dWMVkyeHBaR1ZoYmtScGMzUmhibU5sS0hnc0lIa3BLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHVjFZMnhwWkdWaGJrUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQk5ZWFJvTG5OeGNuUW9lQzUwY25WbFEyOTFiblFvS1NBcklIa3VkSEoxWlVOdmRXNTBLQ2tnTFNBeUlDb2dlQzVoYm1SWGFYUm9RMjkxYm5SQ2FYUnpLSGtzSUhSeWRXVXBLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHaGhiVzFwYm1kVGFXMXBiR0Z5YVhSNUtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJUYVcxcGJHRnlhWFI1Um5KdmJVUnBjM1JoYm1ObEtHaGhiVzFwYm1kRWFYTjBZVzVqWlNoNExDQjVLU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm9ZVzF0YVc1blJHbHpkR0Z1WTJVb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdjbVYwZFhKdUlIZ3VkSEoxWlVOdmRXNTBLQ2tnS3lCNUxuUnlkV1ZEYjNWdWRDZ3BJQzBnTWlBcUlIZ3VZVzVrVjJsMGFFTnZkVzUwUW1sMGN5aDVMQ0IwY25WbEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhOdmEyRnNVMmx0YVd4aGNtbDBlU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCamIyNXpkQ0IwYjNSaGJDQTlJSGd1ZEhKMVpVTnZkVzUwS0NrZ0t5QjVMblJ5ZFdWRGIzVnVkQ2dwTzF4dUlDQmpiMjV6ZENCamIyMXRiMjRnUFNCNExtRnVaRmRwZEdoRGIzVnVkRUpwZEhNb2VTd2dkSEoxWlNrN1hHNGdJSEpsZEhWeWJpQmpiMjF0YjI0Z0x5QW9NaUFxSUhSdmRHRnNJQzBnTXlBcUlHTnZiVzF2YmlrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ6YjJ0aGJFUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtITnZhMkZzVTJsdGFXeGhjbWwwZVNoNExDQjVLU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnJkV3hqZW5sdWMydHBVMmx0YVd4aGNtbDBlU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCamIyNXpkQ0IwYjNSaGJDQTlJSGd1ZEhKMVpVTnZkVzUwS0NrZ0t5QjVMblJ5ZFdWRGIzVnVkQ2dwTzF4dUlDQmpiMjV6ZENCMGIzUmhiRkJ5YjJRZ1BTQjRMblJ5ZFdWRGIzVnVkQ2dwSUNvZ2VTNTBjblZsUTI5MWJuUW9LVHRjYmlBZ2FXWWdLSFJ2ZEdGc1VISnZaQ0E5UFNBd0tTQnlaWFIxY200Z01DNHdPMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lISmxkSFZ5YmlBb1kyOXRiVzl1SUNvZ2RHOTBZV3dwSUM4Z0tESWdLaUIwYjNSaGJGQnliMlFwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhM1ZzWTNwNWJuTnJhVVJwYzNSaGJtTmxLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJuWlhSRWFYTjBZVzVqWlVaeWIyMVRhVzFwYkdGeWFYUjVLR3QxYkdONmVXNXphMmxUYVcxcGJHRnlhWFI1S0hnc0lIa3BLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMWpRMjl1Ym1GMVoyaGxlVk5wYldsc1lYSnBkSGtvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ1kyOXVjM1FnZEc5MFlXd2dQU0I0TG5SeWRXVkRiM1Z1ZENncElDc2dlUzUwY25WbFEyOTFiblFvS1R0Y2JpQWdZMjl1YzNRZ2RHOTBZV3hRY205a0lEMGdlQzUwY25WbFEyOTFiblFvS1NBcUlIa3VkSEoxWlVOdmRXNTBLQ2s3WEc0Z0lHbG1JQ2gwYjNSaGJGQnliMlFnUFQwZ01Da2djbVYwZFhKdUlEQXVNRHRjYmlBZ1kyOXVjM1FnWTI5dGJXOXVJRDBnZUM1aGJtUlhhWFJvUTI5MWJuUkNhWFJ6S0hrc0lIUnlkV1VwTzF4dUlDQnlaWFIxY200Z0tHTnZiVzF2YmlBcUlIUnZkR0ZzSUMwZ2RHOTBZV3hRY205a0tTQXZJSFJ2ZEdGc1VISnZaRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMWpRMjl1Ym1GMVoyaGxlVVJwYzNSaGJtTmxLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJuWlhSRWFYTjBZVzVqWlVaeWIyMVRhVzFwYkdGeWFYUjVLRzFqUTI5dWJtRjFaMmhsZVZOcGJXbHNZWEpwZEhrb2VDd2dlU2twTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZWE41YlcxbGRISnBZMU5wYldsc1lYSnBkSGtvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ1kyOXVjM1FnYldsdUlEMGdUV0YwYUM1dGFXNG9lQzUwY25WbFEyOTFiblFvS1N3Z2VTNTBjblZsUTI5MWJuUW9LU2s3WEc0Z0lHbG1JQ2h0YVc0Z1BUMGdNQ2tnY21WMGRYSnVJREF1TUR0Y2JpQWdZMjl1YzNRZ1kyOXRiVzl1SUQwZ2VDNWhibVJYYVhSb1EyOTFiblJDYVhSektIa3NJSFJ5ZFdVcE8xeHVJQ0J5WlhSMWNtNGdZMjl0Ylc5dUlDOGdiV2x1TzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZWE41YlcxbGRISnBZMFJwYzNSaGJtTmxLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJuWlhSRWFYTjBZVzVqWlVaeWIyMVRhVzFwYkdGeWFYUjVLR0Z6ZVcxdFpYUnlhV05UYVcxcGJHRnlhWFI1S0hnc0lIa3BLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHSnlZWFZ1UW14aGJuRjFaWFJUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lHTnZibk4wSUcxaGVDQTlJRTFoZEdndWJXRjRLSGd1ZEhKMVpVTnZkVzUwS0Nrc0lIa3VkSEoxWlVOdmRXNTBLQ2twTzF4dUlDQnBaaUFvYldGNElEMDlJREFwSUhKbGRIVnliaUF3TGpBN1hHNGdJR052Ym5OMElHTnZiVzF2YmlBOUlIZ3VZVzVrVjJsMGFFTnZkVzUwUW1sMGN5aDVMQ0IwY25WbEtUdGNiaUFnY21WMGRYSnVJR052YlcxdmJpQXZJRzFoZUR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0p5WVhWdVFteGhibkYxWlhSRWFYTjBZVzVqWlNoNE9pQkNhWFJCY25KaGVTd2dlVG9nUW1sMFFYSnlZWGtwT2lCdWRXMWlaWElnZTF4dUlDQnlaWFIxY200Z1oyVjBSR2x6ZEdGdVkyVkdjbTl0VTJsdGFXeGhjbWwwZVNoaWNtRjFia0pzWVc1eGRXVjBVMmx0YVd4aGNtbDBlU2g0TENCNUtTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCeWRYTnpaV3hUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lHbG1JQ2g0TG14bGJtZDBhQ0E5UFNBd0tTQnlaWFIxY200Z01DNHdPMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lISmxkSFZ5YmlCamIyMXRiMjRnTHlCNExteGxibWQwYUR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSEoxYzNObGJFUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtISjFjM05sYkZOcGJXbHNZWEpwZEhrb2VDd2dlU2twTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbTluYjNSSGIyeGtZbVZ5WjFOcGJXbHNZWEpwZEhrb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdZMjl1YzNRZ1kyOXRiVzl1SUQwZ2VDNWhibVJYYVhSb1EyOTFiblJDYVhSektIa3NJSFJ5ZFdVcE8xeHVJQ0JqYjI1emRDQjBiM1JoYkNBOUlIZ3VZMjkxYm5SQ2FYUnpLSFJ5ZFdVcElDc2dlUzVqYjNWdWRFSnBkSE1vZEhKMVpTazdYRzRnSUdOdmJuTjBJR3hsYmlBOUlIZ3ViR1Z1WjNSb08xeHVJQ0JqYjI1emRDQmthV1ptSUQwZ2JHVnVJQzBnZEc5MFlXd2dLeUJqYjIxdGIyNDdYRzRnSUdsbUlDZ29ZMjl0Ylc5dUlEMDlJR3hsYmlrZ2ZId2dLR1JwWm1ZZ1BUMGdiR1Z1S1NrZ2NtVjBkWEp1SURFdU1EdGNiaUFnWld4elpTQnlaWFIxY200Z1kyOXRiVzl1SUM4Z2RHOTBZV3dnS3lCa2FXWm1JQzhnS0RJZ0tpQnNaVzRnTFNCMGIzUmhiQ2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnliMmR2ZEVkdmJHUmlaWEpuUkdsemRHRnVZMlVvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUdkbGRFUnBjM1JoYm1ObFJuSnZiVk5wYldsc1lYSnBkSGtvY205bmIzUkhiMnhrWW1WeVoxTnBiV2xzWVhKcGRIa29lQ3dnZVNrcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjJWMFUybHRhV3hoY21sMGVVWnliMjFFYVhOMFlXNWpaU2hrYVhOMFlXNWpaVG9nYm5WdFltVnlLU0I3WEc0Z0lISmxkSFZ5YmlBeElDOGdLREVnS3lCa2FYTjBZVzVqWlNrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJuWlhSRWFYTjBZVzVqWlVaeWIyMVRhVzFwYkdGeWFYUjVLSE5wYldsc1lYSnBkSGs2SUc1MWJXSmxjaWtnZXlBdkwybHVJR05oYzJVZ2MybHRhV3hoY21sMGVTQnBjeUF3TENCMWMyVWdiV0Y0SUc1MWJXSmxjaUJtYjNJZ1pteHZZWFF6TWx4dUlDQnlaWFIxY200Z2MybHRhV3hoY21sMGVTQTlQVDBnTUNBL0lETXVOREF5T0RJelJTc3pPQ0E2SUNneElDOGdjMmx0YVd4aGNtbDBlU2tnTFNBeE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYm5WdFpYSnBZMFJwYzNSaGJtTmxLSGc2SUc1MWJXSmxjaXdnZVRvZ2JuVnRZbVZ5S1NCN1hHNGdJSEpsZEhWeWJpQk5ZWFJvTG1GaWN5aDRJQzBnZVNrN1hHNTlYRzRpWFgwPSIsImltcG9ydCB7IFZlY3RvciB9IGZyb20gJy4vdHlwZS1kZWNsYXJhdGlvbnMnO1xuaW1wb3J0IHsgcmFuZG9tRmxvYXQsIHJhbmRvbUludCB9IGZyb20gJy4vcmFuZG9tJztcbi8qKlxuICogQXNzZXJ0cyBhIGNvbmRpdGlvbiBieSB0aHJvd2luZyBhbiBFcnJvci5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtjb25kaXRpb249ZmFsc2VdIENvbmRpdGlvbiB0byBhc3NlcnQuXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2U9J0Fzc2VydGlvbiBlcnJvci4nXSBNZXNzYWdlIHRvIG91dHB1dC5cbiAqIEB0aHJvd3Mge0Vycm9yfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbiA9IGZhbHNlLCBtZXNzYWdlID0gJ0Fzc2VydGlvbiBlcnJvci4nKSB7XG4gICAgaWYgKCFjb25kaXRpb24pXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbn1cbi8qKlxuICogQ3JlYXRlcyBuZXcgdHdvLWRpbWVuc2lvbmFsIGFycmF5IGFuZCBmaWxscyBpdCB3aXRoIHRoZSB2YWx1ZSBnaXZlbi5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gZGltZW5zaW9uMSBUaGUgZmlyc3QgZGltZW5zaW9uIG9mIHRoZSBjb29yZGluYXRlcyAobnVtYmVyIG9mIHJvd3MpLlxuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbjIgVGhlIHNlY29uZCBkaW1lbnNpb24gb2YgdGhlIGNvb3JkaW5hdGVzIChudW1iZXIgb2YgY29sdW1ucykuXG4gKiBAcGFyYW0ge251bWJlcn0gW2ZpbGw9MF0gQSB2YWx1ZSB0byBmaWxsIHRoZSBjb29yZGluYXRlcyB3aXRoLlxuICogQHJldHVybiB7Q29vcmRpbmF0ZXN9IEEgdHdvLWRpbWVuc2lvbmFsIGZpbGxlZCB3aXRoIHRoZSB2YWx1ZSBnaXZlbi5cbiAqIEB0b2RvIE1pZ2h0IGJlIHNsb3cgc2luY2UgdXNlZCBBcnJheS5tYXAuIFByb2JhYmx5IG5lZWRzIHBlcmZvcm1hbmNlIHJldmlzaW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdENvb3JkaW5hdGVzKGRpbWVuc2lvbjEsIGRpbWVuc2lvbjIsIGZpbGwgPSAwKSB7XG4gICAgcmV0dXJuIG5ldyBBcnJheShkaW1lbnNpb24xKS5maWxsKGZpbGwpLm1hcCgoKSA9PiAobmV3IFZlY3RvcihkaW1lbnNpb24yKS5maWxsKGZpbGwpKSk7XG59XG4vKipcbiAqIFRyYW5zcG9zZSBtYXRyaXguXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtNYXRyaXh9IG1hdHJpeCBUaGUgbWF0cml4IHRvIGJlIHRyYW5zcG9zZWQuXG4gKiBAcmV0dXJuIHtNYXRyaXh9IFRyYW5zcG9zZWQgbWF0cml4LlxuICogQHRvZG8gTWlnaHQgYmUgc2xvdyBzaW5jZSB1c2VkIEFycmF5Lm1hcC4gUHJvYmFibHkgbmVlZHMgcGVyZm9ybWFuY2UgcmV2aXNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc3Bvc2VNYXRyaXgobWF0cml4KSB7XG4gICAgcmV0dXJuIG5ldyBBcnJheShtYXRyaXhbMF0ubGVuZ3RoKS5maWxsKDApXG4gICAgICAgIC5tYXAoKF8sIGkpID0+IChuZXcgVmVjdG9yKG1hdHJpeC5sZW5ndGgpLmZpbGwoMCkubWFwKChfLCBqKSA9PiAobWF0cml4W2pdW2ldKSkpKTtcbn1cbi8qKlxuICogQWRkcyB0d28gdmVjdG9ycyB3aXRoIHRoZSBzZWNvbmQgb25lIHRvIGJlIG11bHRpcGxpZWQgYnkgdGhlIGdpdmVuIHJhdGlvLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yfSBwIFRoZSBmaXJzdCB2ZWN0b3IgdG8gYWRkLlxuICogQHBhcmFtIHtWZWN0b3J9IHEgVGhlIHNlY29uZCB2ZWN0b3IgdG8gYWRkLlxuICogQHBhcmFtIHtudW1iZXJ9IFttdWx0aXBsaWVyPTFdIEEgbXVsdGlwbGllciB0byBiZSB1c2VkIGJlZm9yZSB0aGUgc2Vjb25kIHZlY3RvciBpcyBhZGRlZC5cbiAqIEByZXR1cm4ge1ZlY3Rvcn0gTmV3IHZlY3RvciBjb250YWluZWQgdGhlIHJlc3VsdCBvZiBvcGVyYXRpb24gcCttdWx0aXBsaWVyKnEuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3JBZGQocCwgcSwgbXVsdGlwbGllciA9IDEpIHtcbiAgICBjb25zdCBuSXRlbXMgPSBwLmxlbmd0aDtcbiAgICBhc3NlcnQobkl0ZW1zID09IHEubGVuZ3RoLCAnVmVjdG9yIGxlbmd0aHMgZG8gbm90IG1hdGNoLicpO1xuICAgIGNvbnN0IHRvdGFsID0gbmV3IFZlY3RvcihuSXRlbXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcC5sZW5ndGg7ICsraSlcbiAgICAgICAgdG90YWxbaV0gPSBwW2ldICsgbXVsdGlwbGllciAqIHFbaV07XG4gICAgcmV0dXJuIHRvdGFsO1xufVxuLyoqXG4gKiBTdW1zIHRoZSB2ZWN0b3IncyBpdGVtcy5cbiAqXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gdiBUaGUgdmVjdG9yIHRvIGJlIHN1bW1lZC5cbiAqIEByZXR1cm4ge251bWJlcn0gVGhlIHZlY3RvcidzIGl0ZW1zIHN1bS5cbiAqL1xuZnVuY3Rpb24gaXRlbXNTdW0odikge1xuICAgIGxldCB0b3RhbCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgKytpKVxuICAgICAgICB0b3RhbCArPSB2W2ldO1xuICAgIHJldHVybiB0b3RhbDtcbn1cbi8qKlxuICogU3VxYXJlcyB0aGUgdmVjdG9yJ3MgaXRlbXMuXG4gKlxuICogQHBhcmFtIHtWZWN0b3J9IHYgVGhlIHZlY3RvciB0byBzcXVhcmUuXG4gKiBAcmV0dXJuIHtWZWN0b3J9IEEgbmV3IHZlY3RvciBjb250YWluaW5nIHRoZSBvcmlnaW5hbCdzIGl0ZW1zIHNxdWFyZWQuXG4gKi9cbmZ1bmN0aW9uIHZlY3RvclNxdWFyZSh2KSB7XG4gICAgY29uc3Qgbkl0ZW1zID0gdi5sZW5ndGg7XG4gICAgY29uc3QgdG90YWwgPSBuZXcgVmVjdG9yKG5JdGVtcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgKytpKVxuICAgICAgICB0b3RhbFtpXSA9IHZbaV0gKiB2W2ldO1xuICAgIHJldHVybiB0b3RhbDtcbn1cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3JMZW5ndGgodikge1xuICAgIGxldCBzcXJTdW0gPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdi5sZW5ndGg7IGkrKylcbiAgICAgICAgc3FyU3VtICs9IHZbaV0gKiB2W2ldO1xuICAgIHJldHVybiBNYXRoLnNxcnQoc3FyU3VtKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3JEb3RQcm9kdWN0KHYxLCB2Mikge1xuICAgIGlmICh2MS5sZW5ndGggIT0gdjIubGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBkaW1lbnNpb25hbGl0eSBvZiB0aGUgdmVjdG9ycyBtdXN0IG1hdGNoJyk7XG4gICAgbGV0IHByb2QgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdjEubGVuZ3RoOyBpKyspXG4gICAgICAgIHByb2QgKz0gdjFbaV0gKiB2MltpXTtcbiAgICByZXR1cm4gcHJvZDtcbn1cbi8qKlxuICogQ3JlYXRlcyBhIG1hdHJpeCBmaWxsZWQgd2l0aCByYW5kb20gZmxvYXRpbmcgcG9pbnQgdmFsdWVzLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBkaW1lbnNpb24xIFRoZSBmaXJzdCBkaW1lbnNpb24gb2YgdGhlIG1hdHJpeC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBkaW1lbnNpb24yIFRoZSBzZWNvbmQgZGltZW5zaW9uIG9mIHRoZSBtYXRyaXguXG4gKiBAcGFyYW0ge251bWJlcn0gW3NjYWxlPTEuXSBNYXggdmFsdWUgZ2l2ZW4gYnkgcmFuZG9tIGdlbmVyYXRvci5cbiAqIEByZXR1cm4ge01hdHJpeH0gQSBuZXcgbWF0cml4IGZpbGxlZCB3aXRoIHJhbmRvbSBmbG9hdGluZyBwb2ludCAgdmFsdWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsbFJhbmRvbU1hdHJpeChkaW1lbnNpb24xLCBkaW1lbnNpb24yLCBzY2FsZSA9IDEuKSB7XG4gICAgY29uc3QgbWF0cml4ID0gaW5pdENvb3JkaW5hdGVzKGRpbWVuc2lvbjEsIGRpbWVuc2lvbjIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltZW5zaW9uMTsgKytpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgZGltZW5zaW9uMjsgKytqKVxuICAgICAgICAgICAgbWF0cml4W2ldW2pdID0gcmFuZG9tRmxvYXQoc2NhbGUpO1xuICAgIH1cbiAgICByZXR1cm4gbWF0cml4O1xufVxuLyoqXG4gKiBDYWxjdWxhdGVzIEV1Y2xpZGVhbiBkaXN0YW5jZSBiZXR3ZWVuIHR3byB2ZWN0b3JzLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yfSBwIFRoZSBmaXJzdCB2ZWN0b3IuXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gcSBUaGUgc2Vjb25kIHZlY3Rvci5cbiAqIEByZXR1cm4ge251bWJlcn0gRXVjbGlkZWFuIGRpc3RhbmNlIGJldHdlZW4gdGhlIGdpdmVuIHZlY3RvcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZShwLCBxKSB7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgY29uc3QgbGVuID0gcC5sZW5ndGg7XG4gICAgaWYgKGxlbiAhPT0gcS5sZW5ndGgpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRpbWVuc2lvbmFsaXR5IG9mIHRoZSB2ZWN0b3JzIG11c3QgbWF0Y2gnKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgKytpKVxuICAgICAgICByZXN1bHQgKz0gTWF0aC5wb3coKHBbaV0gLSBxW2ldKSwgMik7XG4gICAgcmV0dXJuIE1hdGguc3FydChyZXN1bHQpO1xufVxuLyoqXG4gKiBDcmVhdGVzIGEgZGlzdGFuY2UgbWF0cml4IHVzaW5nIGEgY3VzdG9tIGRpc3RhbmNlIGZ1bmN0aW9uLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yc30gZGF0YSBJbnB1dCB2ZWN0b3JzIHRvIGNhbGN1bGF0ZSBkaXN0YW5jZXMuXG4gKiBAcGFyYW0ge0Rpc3RhbmNlTWV0cmljfSBkaXN0YW5jZSBDdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKiBAcmV0dXJuIHtNYXRyaXh9IENhbGN1bGF0ZWQgY3VzdG9tIGRpc3RhbmNlIG1hdHJpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGNEaXN0YW5jZU1hdHJpeChkYXRhLCBkaXN0YW5jZSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IGRhdGEubGVuZ3RoO1xuICAgIGNvbnN0IG1hdHJpeCA9IGluaXRDb29yZGluYXRlcyhuSXRlbXMsIG5JdGVtcywgMCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuSXRlbXM7ICsraSkge1xuICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBuSXRlbXM7ICsraikge1xuICAgICAgICAgICAgY29uc3QgZCA9IChkYXRhW2ldID09IG51bGwpIHx8IChkYXRhW2pdID09IG51bGwpID8gMCA6IGRpc3RhbmNlKGRhdGFbaV0sIGRhdGFbal0pO1xuICAgICAgICAgICAgbWF0cml4W2ldW2pdID0gbWF0cml4W2pdW2ldID0gZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWF0cml4O1xufVxuLyoqXG4gKiBDcmVhdGVzIGEgZGlzdGFuY2UgbWF0cml4IHVzaW5nIGEgY3VzdG9tIGRpc3RhbmNlIGZ1bmN0aW9uLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yc30gZGF0YSBJbnB1dCB2ZWN0b3JzIHRvIGNhbGN1bGF0ZSBkaXN0YW5jZXMuXG4gKiBAcGFyYW0ge0Rpc3RhbmNlTWV0cmljfSBkaXN0YW5jZSBDdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKiBAcmV0dXJuIHtNYXRyaXh9IENhbGN1bGF0ZWQgY3VzdG9tIGRpc3RhbmNlIG1hdHJpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGNOb3JtYWxpemVkRGlzdGFuY2VNYXRyaXgoZGF0YSwgZGlzdGFuY2UpIHtcbiAgICBjb25zdCBuSXRlbXMgPSBkYXRhLmxlbmd0aDtcbiAgICBjb25zdCBtYXRyaXggPSBpbml0Q29vcmRpbmF0ZXMobkl0ZW1zLCBuSXRlbXMsIDApO1xuICAgIGxldCBtYXggPSBOdW1iZXIuTUlOX1ZBTFVFO1xuICAgIGxldCBtaW4gPSBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbkl0ZW1zOyArK2kpIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IGk7IGogPCBuSXRlbXM7ICsraikge1xuICAgICAgICAgICAgY29uc3QgZCA9IChkYXRhW2ldID09IG51bGwpIHx8IChkYXRhW2pdID09IG51bGwgfHwgaSA9PT0gaikgPyAwIDogZGlzdGFuY2UoZGF0YVtpXSwgZGF0YVtqXSk7XG4gICAgICAgICAgICBtYXRyaXhbaV1bal0gPSBtYXRyaXhbal1baV0gPSBkO1xuICAgICAgICAgICAgaWYgKGQgPiBtYXgpXG4gICAgICAgICAgICAgICAgbWF4ID0gZDtcbiAgICAgICAgICAgIGlmIChkIDwgbWluKVxuICAgICAgICAgICAgICAgIG1pbiA9IGQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuSXRlbXM7ICsraSkge1xuICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBuSXRlbXM7ICsrailcbiAgICAgICAgICAgIG1hdHJpeFtpXVtqXSA9IG1hdHJpeFtqXVtpXSA9IChtYXRyaXhbaV1bal0gLSBtaW4pIC8gKG1heCAtIG1pbik7XG4gICAgfVxuICAgIHJldHVybiBtYXRyaXg7XG59XG4vKiogR2VuZXJhdGVzIGFycmF5IGZyb20gYSByYW5nZSBbYmVnaW47IGVuZF0gb3IgW2JlZ2luOyBlbmQpIGlmIGVuZEV4Y2x1c2l2ZS4gKiovXG5leHBvcnQgZnVuY3Rpb24gZ2VuUmFuZ2UoYmVnaW4sIGVuZCwgZW5kRXhjbHVzaXZlID0gZmFsc2UpIHtcbiAgICBjb25zdCBuSXRlbXMgPSBlbmQgLSBiZWdpbiArIChlbmRFeGNsdXNpdmUgPyAwIDogMSk7XG4gICAgY29uc3Qgc2VyaWVzID0gbmV3IEludDMyQXJyYXkobkl0ZW1zKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5JdGVtczsgKytpKVxuICAgICAgICBzZXJpZXNbaV0gPSBiZWdpbiArIGk7XG4gICAgcmV0dXJuIHNlcmllcztcbn1cbi8qKlxuICogUmV0dXJucyBvcmRlciBvZiB2YWx1ZXMgYXMgaWYgdGhleSBhcmUgc29ydGVkLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7YW55W119IHZhbHVlcyBJbnB1dCBhcnJheS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3JldmVyc2U9ZmFsc2VdIFdoZXRoZXIgdG8gcmV0dXJuIHJldmVyc2VkIG9yZGVyLlxuICogQHJldHVybiB7bnVtYmVyW119IFRoZSBvcmRlciBjb21wdXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFyZ1NvcnQodmFsdWVzLCByZXZlcnNlID0gZmFsc2UpIHtcbiAgICBjb25zdCBzb3J0Zm4gPSByZXZlcnNlID8gKGEsIGIpID0+IChiWzBdIC0gYVswXSkgOiAoYSwgYikgPT4gKGFbMF0gLSBiWzBdKTtcbiAgICBjb25zdCBkZWNvciA9ICh2LCBpKSA9PiBbdiwgaV07IC8vIHNldCBpbmRleCB0byB2YWx1ZVxuICAgIGNvbnN0IHVuZGVjb3IgPSAoYSkgPT4gYVsxXTsgLy8gbGVhdmUgb25seSBpbmRleFxuICAgIGNvbnN0IF9hcmdzb3J0ID0gKGFycikgPT4gYXJyLm1hcChkZWNvcikuc29ydChzb3J0Zm4pLm1hcCh1bmRlY29yKTtcbiAgICByZXR1cm4gX2FyZ3NvcnQodmFsdWVzKTtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgaW5kZXhlcyBvZiB0aGUgbW9zdCBkaXZlcnNlIG9iamVjdHMgYWNjb3JkaW5nIHRvIHRoZSBkaXN0IGZ1bmN0aW9uXG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoIHRvdGFsIG51bWJlciBvZiBvYmplY3RzXG4gKiBAcGFyYW0ge251bWJlcn0gbiBudW1iZXIgb2YgZGl2ZXJzZSBlbGVtZW50cyB0byBmaW5kXG4gKiBAcGFyYW0geyhpMTogbnVtYmVyLCBpMjogbnVtYmVyKSA9PiBudW1iZXJ9IGRpc3QgYSBmdW5jdGlvbiB3aGljaCBjYWxjdWxhdGVzIGRpc3RhbmNlIGJldHdlZW5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0d28gb2JqZWN0cyB1c2luZyB0aGVpciBpbmRleGVzXG4gKiBAcmV0dXJucyB7bnVtYmVyW119IFRoZSBpbmRleGVzIG9mIHRoZSBtb3N0IGRpdmVyc2Ugb2JqZWN0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGl2ZXJzZVN1YnNldChsZW5ndGgsIG4sIGRpc3QpIHtcbiAgICBmdW5jdGlvbiBtYXhCeSh2YWx1ZXMsIG9yZGVyQnkpIHtcbiAgICAgICAgbGV0IG1heFZhbHVlID0gbnVsbDtcbiAgICAgICAgbGV0IG1heE9yZGVyQnkgPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdmFsdWVzKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50T3JkZXJCeSA9IG9yZGVyQnkoZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAobWF4T3JkZXJCeSA9PSBudWxsIHx8IGVsZW1lbnRPcmRlckJ5ID4gbWF4T3JkZXJCeSkge1xuICAgICAgICAgICAgICAgIG1heFZhbHVlID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICBtYXhPcmRlckJ5ID0gZWxlbWVudE9yZGVyQnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1heFZhbHVlO1xuICAgIH1cbiAgICBjb25zdCBzdWJzZXQgPSBbcmFuZG9tSW50KGxlbmd0aCAtIDEpXTtcbiAgICBjb25zdCBjb21wbGVtZW50ID0gbmV3IFNldCgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICAgICAgaWYgKCFzdWJzZXQuaW5jbHVkZXMoaSkpXG4gICAgICAgICAgICBjb21wbGVtZW50LmFkZChpKTtcbiAgICB9XG4gICAgd2hpbGUgKHN1YnNldC5sZW5ndGggPCBuKSB7XG4gICAgICAgIGNvbnN0IGlkeCA9IG1heEJ5KGNvbXBsZW1lbnQudmFsdWVzKCksIChpKSA9PiBNYXRoLm1pbi5hcHBseShNYXRoLCBzdWJzZXQubWFwKGZ1bmN0aW9uICh2YWwsIGluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gZGlzdChpLCB2YWwpO1xuICAgICAgICB9KSkpO1xuICAgICAgICBpZiAoaWR4KSB7XG4gICAgICAgICAgICBzdWJzZXQucHVzaChpZHgpO1xuICAgICAgICAgICAgY29tcGxlbWVudC5kZWxldGUoaWR4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc3Vic2V0O1xufVxuLyoqXG4gKiBSZXR1cm5zIG5vcm1hbGl6ZWQgdmVjdG9yLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yfSBkYXRhIG51bWVyaWNhbCBhcnJheVxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplKGRhdGEpIHtcbiAgICBjb25zdCBsZW4gPSBkYXRhLmxlbmd0aDtcbiAgICBsZXQgc3VtID0gMDtcbiAgICBsZXQgc3VtT2ZTcXVhcmVzID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICAgIHN1bSArPSBkYXRhW2ldO1xuICAgICAgICBzdW1PZlNxdWFyZXMgKz0gTWF0aC5wb3coZGF0YVtpXSwgMik7XG4gICAgfVxuICAgIGNvbnN0IG1lYW4gPSBzdW0gLyBsZW47XG4gICAgY29uc3Qgc3RkRGV2SW52ZXJzZSA9IDEuMCAvIE1hdGguc3FydChzdW1PZlNxdWFyZXMgLyBsZW4gLSBNYXRoLnBvdyhtZWFuLCAyKSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47ICsraSlcbiAgICAgICAgZGF0YVtpXSA9IChkYXRhW2ldIC0gbWVhbikgKiBzdGREZXZJbnZlcnNlO1xuICAgIHJldHVybiBkYXRhO1xufVxuLyoqXG4gKiBGaW5kcyBzZXQgZGlmZmVyZW5jZSBiZXR3ZWVuIHR3byBsaXN0cy5cbiAqIEBwYXJhbSB7YW55W119IGEgVGhlIGZpcnN0IGxpc3QuXG4gKiBAcGFyYW0ge2FueVtdfSBiIFRoZSBzZWNvbmQgbGlzdC5cbiAqIEByZXR1cm4ge2FueVtdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0RGlmZmVyZW5jZShhLCBiKSB7XG4gICAgY29uc3QgYlNldCA9IG5ldyBTZXQoYik7XG4gICAgcmV0dXJuIEFycmF5LmZyb20obmV3IFNldChhLmZpbHRlcigoeCkgPT4gIWJTZXQuaGFzKHgpKSkudmFsdWVzKCkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZG1WamRHOXlMVzl3WlhKaGRHbHZibk11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjJaV04wYjNJdGIzQmxjbUYwYVc5dWN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4UFFVRlBMRVZCUVZNc1RVRkJUU3hGUVVGMVF5eE5RVUZOTEhGQ1FVRnhRaXhEUVVGRE8wRkJRM3BHTEU5QlFVOHNSVUZCUXl4WFFVRlhMRVZCUVVVc1UwRkJVeXhGUVVGRExFMUJRVTBzVlVGQlZTeERRVUZETzBGQlJXaEVPenM3T3pzN08wZEJUMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNUVUZCVFN4RFFVRkRMRmxCUVhGQ0xFdEJRVXNzUlVGQlJTeFZRVUZyUWl4clFrRkJhMEk3U1VGRGNrWXNTVUZCU1N4RFFVRkRMRk5CUVZNN1VVRkRXaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMEZCUXpkQ0xFTkJRVU03UVVGRlJEczdPenM3T3pzN1IwRlJSenRCUVVOSUxFMUJRVTBzVlVGQlZTeGxRVUZsTEVOQlFVTXNWVUZCYTBJc1JVRkJSU3hWUVVGclFpeEZRVUZGTEU5QlFXVXNRMEZCUXp0SlFVTjBSaXhQUVVGUExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzcEdMRU5CUVVNN1FVRkZSRHM3T3pzN096dEhRVTlITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR1ZCUVdVc1EwRkJReXhOUVVGak8wbEJRelZETEU5QlFVOHNTVUZCU1N4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03VTBGRGRrTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4SlFVRkpMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEZEVZc1EwRkJRenRCUVVWRU96czdPenM3T3p0SFFWRkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxGTkJRVk1zUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXl4RlFVRkZMR0ZCUVhGQ0xFTkJRVU03U1VGRGNFVXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dEpRVVY0UWl4TlFVRk5MRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVWQlFVVXNPRUpCUVRoQ0xFTkJRVU1zUTBGQlF6dEpRVVV6UkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0SlFVVnFReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETDBJc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhWUVVGVkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlhSRExFOUJRVThzUzBGQlN5eERRVUZETzBGQlEyWXNRMEZCUXp0QlFVVkVPenM3T3p0SFFVdEhPMEZCUTBnc1UwRkJVeXhSUVVGUkxFTkJRVU1zUTBGQlV6dEpRVU42UWl4SlFVRkpMRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRlpDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRMMElzUzBGQlN5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVWb1FpeFBRVUZQTEV0QlFVc3NRMEZCUXp0QlFVTm1MRU5CUVVNN1FVRkZSRHM3T3pzN1IwRkxSenRCUVVOSUxGTkJRVk1zV1VGQldTeERRVUZETEVOQlFWTTdTVUZETjBJc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXp0SlFVTjRRaXhOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVVWcVF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRMMElzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZla0lzVDBGQlR5eExRVUZMTEVOQlFVTTdRVUZEWml4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxGbEJRVmtzUTBGQlF5eERRVUZUTzBsQlEzQkRMRWxCUVVrc1RVRkJUU3hIUVVGWExFTkJRVU1zUTBGQlF6dEpRVU4yUWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGWExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVU3VVVGRGRrTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRlRUlzVDBGQlR5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRek5DTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1owSkJRV2RDTEVOQlFVTXNSVUZCVlN4RlFVRkZMRVZCUVZVN1NVRkRja1FzU1VGQlNTeEZRVUZGTEVOQlFVTXNUVUZCVFN4SlFVRkpMRVZCUVVVc1EwRkJReXhOUVVGTk8xRkJRM2hDTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc09FTkJRVGhETEVOQlFVTXNRMEZCUXp0SlFVTnNSU3hKUVVGSkxFbEJRVWtzUjBGQlZ5eERRVUZETEVOQlFVTTdTVUZEY2tJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlZ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTzFGQlEzaERMRWxCUVVrc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM2hDTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJRc1EwRkJRenRCUVVWRU96czdPenM3T3p0SFFWRkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHZENRVUZuUWl4RFFVRkRMRlZCUVd0Q0xFVkJRVVVzVlVGQmEwSXNSVUZCUlN4UlFVRm5RaXhGUVVGRk8wbEJRM3BHTEUxQlFVMHNUVUZCVFN4SFFVRkhMR1ZCUVdVc1EwRkJReXhWUVVGVkxFVkJRVVVzVlVGQlZTeERRVUZETEVOQlFVTTdTVUZGZGtRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRlZCUVZVc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU51UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NWVUZCVlN4RlFVRkZMRVZCUVVVc1EwRkJRenRaUVVOcVF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzVjBGQlZ5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMHRCUTNKRE8wbEJRMFFzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc01FSkJRVEJDTEVOQlFVTXNRMEZCVXl4RlFVRkZMRU5CUVZNN1NVRkROMFFzU1VGQlNTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTJZc1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXp0SlFVVnlRaXhKUVVGSkxFZEJRVWNzUzBGQlN5eERRVUZETEVOQlFVTXNUVUZCVFR0UlFVTnNRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERoRFFVRTRReXhEUVVGRExFTkJRVU03U1VGRmJFVXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRNVUlzVFVGQlRTeEpRVUZKTEZOQlFVRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVrc1EwRkJReXhEUVVGQkxFTkJRVU03U1VGRkwwSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlF6TkNMRU5CUVVNN1FVRkZSRHM3T3pzN096dEhRVTlITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR3RDUVVGclFpeERRVUZETEVsQlFXRXNSVUZCUlN4UlFVRjNRanRKUVVONFJTeE5RVUZOTEUxQlFVMHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRek5DTEUxQlFVMHNUVUZCVFN4SFFVRkhMR1ZCUVdVc1EwRkJReXhOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUld4RUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVTdVVUZETDBJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVTdXVUZEYmtNc1RVRkJUU3hEUVVGRExFZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU14Uml4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0VFFVTnFRenRMUVVOR08wbEJRMFFzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc05FSkJRVFJDTEVOQlFVTXNTVUZCWVN4RlFVRkZMRkZCUVhkQ08wbEJRMnhHTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGRE0wSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1pVRkJaU3hEUVVGRExFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRiRVFzU1VGQlNTeEhRVUZITEVkQlFVY3NUVUZCVFN4RFFVRkRMRk5CUVZNc1EwRkJRenRKUVVNelFpeEpRVUZKTEVkQlFVY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1UwRkJVeXhEUVVGRE8wbEJRek5DTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVN1VVRkRMMElzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0WlFVTXZRaXhOUVVGTkxFTkJRVU1zUjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRja2NzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGFFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1IwRkJSenRuUWtGQlJTeEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUTNKQ0xFbEJRVWtzUTBGQlF5eEhRVUZITEVkQlFVYzdaMEpCUVVVc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dFRRVU4wUWp0TFFVTkdPMGxCUTBRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU12UWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03V1VGRGFrTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dExRVU53UlR0SlFVTkVMRTlCUVU4c1RVRkJUU3hEUVVGRE8wRkJRMmhDTEVOQlFVTTdRVUZGUkN4clJrRkJhMFk3UVVGRGJFWXNUVUZCVFN4VlFVRlZMRkZCUVZFc1EwRkJReXhMUVVGaExFVkJRVVVzUjBGQlZ5eEZRVUZGTEZsQlFWa3NSMEZCUnl4TFFVRkxPMGxCUTNaRkxFMUJRVTBzVFVGQlRTeEhRVUZITEVkQlFVY3NSMEZCUnl4TFFVRkxMRWRCUVVjc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGNFUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hWUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdTVUZGZEVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGRE4wSXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGZUVJc1QwRkJUeXhOUVVGTkxFTkJRVU03UVVGRGFFSXNRMEZCUXp0QlFVVkVPenM3T3pzN08wZEJUMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNUMEZCVHl4RFFVRkRMRTFCUVdFc1JVRkJSU3hQUVVGUExFZEJRVWNzUzBGQlN6dEpRVU53UkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCVVN4RlFVRkZMRU5CUVZFc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJVU3hGUVVGRkxFTkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRka2NzVFVGQlRTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRk5MRVZCUVVVc1EwRkJVeXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExIRkNRVUZ4UWp0SlFVTnNSU3hOUVVGTkxFOUJRVThzUjBGQlJ5eERRVUZETEVOQlFWRXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNiVUpCUVcxQ08wbEJRM1pFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRU5CUVVNc1IwRkJWU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRE1VVXNUMEZCVHl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03UVVGRE1VSXNRMEZCUXp0QlFVVkVPenM3T3pzN08wZEJUMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNaMEpCUVdkQ0xFTkJRVU1zVFVGQll5eEZRVUZGTEVOQlFWTXNSVUZCUlN4SlFVRjNRenRKUVVOc1J5eFRRVUZUTEV0QlFVc3NRMEZCUXl4TlFVRm5ReXhGUVVGRkxFOUJRVGhDTzFGQlF6ZEZMRWxCUVVrc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU53UWl4SlFVRkpMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRmRFSXNTMEZCU3l4TlFVRk5MRTlCUVU4c1NVRkJTU3hOUVVGTkxFVkJRVVU3V1VGRE5VSXNUVUZCVFN4alFVRmpMRWRCUVVjc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFsQlEzaERMRWxCUVVrc1ZVRkJWU3hKUVVGSkxFbEJRVWtzU1VGQlNTeGpRVUZqTEVkQlFVY3NWVUZCVlN4RlFVRkZPMmRDUVVOeVJDeFJRVUZSTEVkQlFVY3NUMEZCVHl4RFFVRkRPMmRDUVVOdVFpeFZRVUZWTEVkQlFVY3NZMEZCWXl4RFFVRkRPMkZCUXpkQ08xTkJRMFk3VVVGRFJDeFBRVUZQTEZGQlFWRXNRMEZCUXp0SlFVTnNRaXhEUVVGRE8wbEJSVVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZGtNc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVVTNRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1RVRkJUU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTzFGQlF5OUNMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnlRaXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMHRCUTNKQ08wbEJSVVFzVDBGQlR5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1JVRkJSVHRSUVVONFFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4TFFVRkxMRU5CUTJZc1ZVRkJWU3hEUVVGRExFMUJRVTBzUlVGQk9FSXNSVUZETDBNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGQlJTeE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRlZCUVZNc1IwRkJSeXhGUVVGRkxFdEJRVXM3V1VGRGVFUXNUMEZCVHl4SlFVRkpMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEzUkNMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5RTEVsQlFVa3NSMEZCUnl4RlFVRkZPMWxCUTFBc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTnFRaXhWUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMU5CUTNoQ08wdEJRMFk3U1VGRFJDeFBRVUZQTEUxQlFVMHNRMEZCUXp0QlFVTm9RaXhEUVVGRE8wRkJSVVE3T3pzN08wZEJTMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNVMEZCVXl4RFFVRkRMRWxCUVZrN1NVRkRjRU1zVFVGQlRTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVONFFpeEpRVUZKTEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRXaXhKUVVGSkxGbEJRVmtzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGY2tJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU0xUWl4SFFVRkhMRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEyWXNXVUZCV1N4SlFVRkpMRk5CUVVFc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZKTEVOQlFVTXNRMEZCUVN4RFFVRkRPMHRCUXpsQ08wbEJSVVFzVFVGQlRTeEpRVUZKTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVOMlFpeE5RVUZOTEdGQlFXRXNSMEZCUnl4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NSMEZCUnl4SFFVRkhMRk5CUVVFc1NVRkJTU3hGUVVGSkxFTkJRVU1zUTBGQlFTeERRVUZETEVOQlFVTTdTVUZGZEVVc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGRE1VSXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExHRkJRV0VzUTBGQlF6dEpRVVUzUXl4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOa0xFTkJRVU03UVVGRlJEczdPenM3UjBGTFJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4aFFVRmhMRU5CUVVNc1EwRkJVU3hGUVVGRkxFTkJRVkU3U1VGRE9VTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZUVJc1QwRkJUeXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEJRVU55UlN4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHROWVhSeWFYZ3NJRlpsWTNSdmNpd2dRMjl2Y21ScGJtRjBaWE1zSUZabFkzUnZjbk1zSUVScGMzUmhibU5sVFdWMGNtbGpmU0JtY205dElDY3VMM1I1Y0dVdFpHVmpiR0Z5WVhScGIyNXpKenRjYm1sdGNHOXlkQ0I3Y21GdVpHOXRSbXh2WVhRc0lISmhibVJ2YlVsdWRIMGdabkp2YlNBbkxpOXlZVzVrYjIwbk8xeHVYRzR2S2lwY2JpQXFJRUZ6YzJWeWRITWdZU0JqYjI1a2FYUnBiMjRnWW5rZ2RHaHliM2RwYm1jZ1lXNGdSWEp5YjNJdVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQmJZMjl1WkdsMGFXOXVQV1poYkhObFhTQkRiMjVrYVhScGIyNGdkRzhnWVhOelpYSjBMbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0dFpYTnpZV2RsUFNkQmMzTmxjblJwYjI0Z1pYSnliM0l1SjEwZ1RXVnpjMkZuWlNCMGJ5QnZkWFJ3ZFhRdVhHNGdLaUJBZEdoeWIzZHpJSHRGY25KdmNuMWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdGemMyVnlkQ2hqYjI1a2FYUnBiMjQ2SUdKdmIyeGxZVzRnUFNCbVlXeHpaU3dnYldWemMyRm5aVG9nYzNSeWFXNW5JRDBnSjBGemMyVnlkR2x2YmlCbGNuSnZjaTRuS1NCN1hHNGdJR2xtSUNnaFkyOXVaR2wwYVc5dUtWeHVJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWh0WlhOellXZGxLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkRjbVZoZEdWeklHNWxkeUIwZDI4dFpHbHRaVzV6YVc5dVlXd2dZWEp5WVhrZ1lXNWtJR1pwYkd4eklHbDBJSGRwZEdnZ2RHaGxJSFpoYkhWbElHZHBkbVZ1TGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JrYVcxbGJuTnBiMjR4SUZSb1pTQm1hWEp6ZENCa2FXMWxibk5wYjI0Z2IyWWdkR2hsSUdOdmIzSmthVzVoZEdWeklDaHVkVzFpWlhJZ2IyWWdjbTkzY3lrdVhHNGdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdaR2x0Wlc1emFXOXVNaUJVYUdVZ2MyVmpiMjVrSUdScGJXVnVjMmx2YmlCdlppQjBhR1VnWTI5dmNtUnBibUYwWlhNZ0tHNTFiV0psY2lCdlppQmpiMngxYlc1ektTNWNiaUFxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JiWm1sc2JEMHdYU0JCSUhaaGJIVmxJSFJ2SUdacGJHd2dkR2hsSUdOdmIzSmthVzVoZEdWeklIZHBkR2d1WEc0Z0tpQkFjbVYwZFhKdUlIdERiMjl5WkdsdVlYUmxjMzBnUVNCMGQyOHRaR2x0Wlc1emFXOXVZV3dnWm1sc2JHVmtJSGRwZEdnZ2RHaGxJSFpoYkhWbElHZHBkbVZ1TGx4dUlDb2dRSFJ2Wkc4Z1RXbG5hSFFnWW1VZ2MyeHZkeUJ6YVc1alpTQjFjMlZrSUVGeWNtRjVMbTFoY0M0Z1VISnZZbUZpYkhrZ2JtVmxaSE1nY0dWeVptOXliV0Z1WTJVZ2NtVjJhWE5wYjI0dVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJwYm1sMFEyOXZjbVJwYm1GMFpYTW9aR2x0Wlc1emFXOXVNVG9nYm5WdFltVnlMQ0JrYVcxbGJuTnBiMjR5T2lCdWRXMWlaWElzSUdacGJHdzZJRzUxYldKbGNpQTlJREFwT2lCRGIyOXlaR2x1WVhSbGN5QjdYRzRnSUhKbGRIVnliaUJ1WlhjZ1FYSnlZWGtvWkdsdFpXNXphVzl1TVNrdVptbHNiQ2htYVd4c0tTNXRZWEFvS0NrZ1BUNGdLRzVsZHlCV1pXTjBiM0lvWkdsdFpXNXphVzl1TWlrdVptbHNiQ2htYVd4c0tTa3BPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGUnlZVzV6Y0c5elpTQnRZWFJ5YVhndVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRSEJoY21GdElIdE5ZWFJ5YVhoOUlHMWhkSEpwZUNCVWFHVWdiV0YwY21sNElIUnZJR0psSUhSeVlXNXpjRzl6WldRdVhHNGdLaUJBY21WMGRYSnVJSHROWVhSeWFYaDlJRlJ5WVc1emNHOXpaV1FnYldGMGNtbDRMbHh1SUNvZ1FIUnZaRzhnVFdsbmFIUWdZbVVnYzJ4dmR5QnphVzVqWlNCMWMyVmtJRUZ5Y21GNUxtMWhjQzRnVUhKdlltRmliSGtnYm1WbFpITWdjR1Z5Wm05eWJXRnVZMlVnY21WMmFYTnBiMjR1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQjBjbUZ1YzNCdmMyVk5ZWFJ5YVhnb2JXRjBjbWw0T2lCTllYUnlhWGdwT2lCTllYUnlhWGdnZTF4dUlDQnlaWFIxY200Z2JtVjNJRUZ5Y21GNUtHMWhkSEpwZUZzd1hTNXNaVzVuZEdncExtWnBiR3dvTUNsY2JpQWdJQ0F1YldGd0tDaGZMQ0JwS1NBOVBpQW9ibVYzSUZabFkzUnZjaWh0WVhSeWFYZ3ViR1Z1WjNSb0tTNW1hV3hzS0RBcExtMWhjQ2dvWHl3Z2Fpa2dQVDRnS0cxaGRISnBlRnRxWFZ0cFhTa3BLU2s3WEc1OVhHNWNiaThxS2x4dUlDb2dRV1JrY3lCMGQyOGdkbVZqZEc5eWN5QjNhWFJvSUhSb1pTQnpaV052Ym1RZ2IyNWxJSFJ2SUdKbElHMTFiSFJwY0d4cFpXUWdZbmtnZEdobElHZHBkbVZ1SUhKaGRHbHZMbHh1SUNwY2JpQXFJRUJsZUhCdmNuUmNiaUFxSUVCd1lYSmhiU0I3Vm1WamRHOXlmU0J3SUZSb1pTQm1hWEp6ZENCMlpXTjBiM0lnZEc4Z1lXUmtMbHh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0o5SUhFZ1ZHaGxJSE5sWTI5dVpDQjJaV04wYjNJZ2RHOGdZV1JrTGx4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlGdHRkV3gwYVhCc2FXVnlQVEZkSUVFZ2JYVnNkR2x3YkdsbGNpQjBieUJpWlNCMWMyVmtJR0psWm05eVpTQjBhR1VnYzJWamIyNWtJSFpsWTNSdmNpQnBjeUJoWkdSbFpDNWNiaUFxSUVCeVpYUjFjbTRnZTFabFkzUnZjbjBnVG1WM0lIWmxZM1J2Y2lCamIyNTBZV2x1WldRZ2RHaGxJSEpsYzNWc2RDQnZaaUJ2Y0dWeVlYUnBiMjRnY0N0dGRXeDBhWEJzYVdWeUtuRXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMlpXTjBiM0pCWkdRb2NEb2dWbVZqZEc5eUxDQnhPaUJXWldOMGIzSXNJRzExYkhScGNHeHBaWEk2SUc1MWJXSmxjaUE5SURFcE9pQldaV04wYjNJZ2UxeHVJQ0JqYjI1emRDQnVTWFJsYlhNZ1BTQndMbXhsYm1kMGFEdGNibHh1SUNCaGMzTmxjblFvYmtsMFpXMXpJRDA5SUhFdWJHVnVaM1JvTENBblZtVmpkRzl5SUd4bGJtZDBhSE1nWkc4Z2JtOTBJRzFoZEdOb0xpY3BPMXh1WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnYm1WM0lGWmxZM1J2Y2lodVNYUmxiWE1wTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnY0M1c1pXNW5kR2c3SUNzcmFTbGNiaUFnSUNCMGIzUmhiRnRwWFNBOUlIQmJhVjBnS3lCdGRXeDBhWEJzYVdWeUlDb2djVnRwWFR0Y2JseHVJQ0J5WlhSMWNtNGdkRzkwWVd3N1hHNTlYRzVjYmk4cUtseHVJQ29nVTNWdGN5QjBhR1VnZG1WamRHOXlKM01nYVhSbGJYTXVYRzRnS2x4dUlDb2dRSEJoY21GdElIdFdaV04wYjNKOUlIWWdWR2hsSUhabFkzUnZjaUIwYnlCaVpTQnpkVzF0WldRdVhHNGdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlJRlJvWlNCMlpXTjBiM0luY3lCcGRHVnRjeUJ6ZFcwdVhHNGdLaTljYm1aMWJtTjBhVzl1SUdsMFpXMXpVM1Z0S0hZNklGWmxZM1J2Y2lrNklHNTFiV0psY2lCN1hHNGdJR3hsZENCMGIzUmhiQ0E5SURBN1hHNWNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMkxteGxibWQwYURzZ0t5dHBLVnh1SUNBZ0lIUnZkR0ZzSUNzOUlIWmJhVjA3WEc1Y2JpQWdjbVYwZFhKdUlIUnZkR0ZzTzF4dWZWeHVYRzR2S2lwY2JpQXFJRk4xY1dGeVpYTWdkR2hsSUhabFkzUnZjaWR6SUdsMFpXMXpMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdWbVZqZEc5eWZTQjJJRlJvWlNCMlpXTjBiM0lnZEc4Z2MzRjFZWEpsTGx4dUlDb2dRSEpsZEhWeWJpQjdWbVZqZEc5eWZTQkJJRzVsZHlCMlpXTjBiM0lnWTI5dWRHRnBibWx1WnlCMGFHVWdiM0pwWjJsdVlXd25jeUJwZEdWdGN5QnpjWFZoY21Wa0xseHVJQ292WEc1bWRXNWpkR2x2YmlCMlpXTjBiM0pUY1hWaGNtVW9kam9nVm1WamRHOXlLVG9nVm1WamRHOXlJSHRjYmlBZ1kyOXVjM1FnYmtsMFpXMXpJRDBnZGk1c1pXNW5kR2c3WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnYm1WM0lGWmxZM1J2Y2lodVNYUmxiWE1wTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnZGk1c1pXNW5kR2c3SUNzcmFTbGNiaUFnSUNCMGIzUmhiRnRwWFNBOUlIWmJhVjBnS2lCMlcybGRPMXh1WEc0Z0lISmxkSFZ5YmlCMGIzUmhiRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIWmxZM1J2Y2t4bGJtZDBhQ2gyT2lCV1pXTjBiM0lwT2lCdWRXMWlaWElnZTF4dUlDQnNaWFFnYzNGeVUzVnRPaUJ1ZFcxaVpYSWdQU0F3TzF4dUlDQm1iM0lnS0d4bGRDQnBPaUJ1ZFcxaVpYSWdQU0F3T3lCcElEd2dkaTVzWlc1bmRHZzdJR2tyS3lsY2JpQWdJQ0J6Y1hKVGRXMGdLejBnZGx0cFhTQXFJSFpiYVYwN1hHNGdJSEpsZEhWeWJpQk5ZWFJvTG5OeGNuUW9jM0Z5VTNWdEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhabFkzUnZja1J2ZEZCeWIyUjFZM1FvZGpFNklGWmxZM1J2Y2l3Z2RqSTZJRlpsWTNSdmNpazZJRzUxYldKbGNpQjdYRzRnSUdsbUlDaDJNUzVzWlc1bmRHZ2dJVDBnZGpJdWJHVnVaM1JvS1Z4dUlDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25WR2hsSUdScGJXVnVjMmx2Ym1Gc2FYUjVJRzltSUhSb1pTQjJaV04wYjNKeklHMTFjM1FnYldGMFkyZ25LVHRjYmlBZ2JHVjBJSEJ5YjJRNklHNTFiV0psY2lBOUlEQTdYRzRnSUdadmNpQW9iR1YwSUdrNklHNTFiV0psY2lBOUlEQTdJR2tnUENCMk1TNXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQndjbTlrSUNzOUlIWXhXMmxkSUNvZ2RqSmJhVjA3WEc0Z0lISmxkSFZ5YmlCd2NtOWtPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFTnlaV0YwWlhNZ1lTQnRZWFJ5YVhnZ1ptbHNiR1ZrSUhkcGRHZ2djbUZ1Wkc5dElHWnNiMkYwYVc1bklIQnZhVzUwSUhaaGJIVmxjeTVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnWkdsdFpXNXphVzl1TVNCVWFHVWdabWx5YzNRZ1pHbHRaVzV6YVc5dUlHOW1JSFJvWlNCdFlYUnlhWGd1WEc0Z0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1pHbHRaVzV6YVc5dU1pQlVhR1VnYzJWamIyNWtJR1JwYldWdWMybHZiaUJ2WmlCMGFHVWdiV0YwY21sNExseHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRnR6WTJGc1pUMHhMbDBnVFdGNElIWmhiSFZsSUdkcGRtVnVJR0o1SUhKaGJtUnZiU0JuWlc1bGNtRjBiM0l1WEc0Z0tpQkFjbVYwZFhKdUlIdE5ZWFJ5YVhoOUlFRWdibVYzSUcxaGRISnBlQ0JtYVd4c1pXUWdkMmwwYUNCeVlXNWtiMjBnWm14dllYUnBibWNnY0c5cGJuUWdJSFpoYkhWbGN5NWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdacGJHeFNZVzVrYjIxTllYUnlhWGdvWkdsdFpXNXphVzl1TVRvZ2JuVnRZbVZ5TENCa2FXMWxibk5wYjI0eU9pQnVkVzFpWlhJc0lITmpZV3hsT2lCdWRXMWlaWElnUFNBeExpazZJRTFoZEhKcGVDQjdYRzRnSUdOdmJuTjBJRzFoZEhKcGVDQTlJR2x1YVhSRGIyOXlaR2x1WVhSbGN5aGthVzFsYm5OcGIyNHhMQ0JrYVcxbGJuTnBiMjR5S1R0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdScGJXVnVjMmx2YmpFN0lDc3JhU2tnZTF4dUlDQWdJR1p2Y2lBb2JHVjBJR29nUFNBd095QnFJRHdnWkdsdFpXNXphVzl1TWpzZ0t5dHFLVnh1SUNBZ0lDQWdiV0YwY21sNFcybGRXMnBkSUQwZ2NtRnVaRzl0Um14dllYUW9jMk5oYkdVcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdFlYUnlhWGc3WEc1OVhHNWNiaThxS2x4dUlDb2dRMkZzWTNWc1lYUmxjeUJGZFdOc2FXUmxZVzRnWkdsemRHRnVZMlVnWW1WMGQyVmxiaUIwZDI4Z2RtVmpkRzl5Y3k1Y2JpQXFYRzRnS2lCQVpYaHdiM0owWEc0Z0tpQkFjR0Z5WVcwZ2UxWmxZM1J2Y24wZ2NDQlVhR1VnWm1seWMzUWdkbVZqZEc5eUxseHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSjlJSEVnVkdobElITmxZMjl1WkNCMlpXTjBiM0l1WEc0Z0tpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOUlFVjFZMnhwWkdWaGJpQmthWE4wWVc1alpTQmlaWFIzWldWdUlIUm9aU0JuYVhabGJpQjJaV04wYjNKekxseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWTJGc1kzVnNZWFJsUlhWamJHbGtaV0Z1UkdsemRHRnVZMlVvY0RvZ1ZtVmpkRzl5TENCeE9pQldaV04wYjNJcE9pQnVkVzFpWlhJZ2UxeHVJQ0JzWlhRZ2NtVnpkV3gwSUQwZ01EdGNiaUFnWTI5dWMzUWdiR1Z1SUQwZ2NDNXNaVzVuZEdnN1hHNWNiaUFnYVdZZ0tHeGxiaUFoUFQwZ2NTNXNaVzVuZEdncFhHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RVYUdVZ1pHbHRaVzV6YVc5dVlXeHBkSGtnYjJZZ2RHaGxJSFpsWTNSdmNuTWdiWFZ6ZENCdFlYUmphQ2NwTzF4dUlDQmNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCc1pXNDdJQ3NyYVNsY2JpQWdJQ0J5WlhOMWJIUWdLejBnS0hCYmFWMGdMU0J4VzJsZEtTQXFLaUF5TzF4dUlDQmNiaUFnY21WMGRYSnVJRTFoZEdndWMzRnlkQ2h5WlhOMWJIUXBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFTnlaV0YwWlhNZ1lTQmthWE4wWVc1alpTQnRZWFJ5YVhnZ2RYTnBibWNnWVNCamRYTjBiMjBnWkdsemRHRnVZMlVnWm5WdVkzUnBiMjR1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0p6ZlNCa1lYUmhJRWx1Y0hWMElIWmxZM1J2Y25NZ2RHOGdZMkZzWTNWc1lYUmxJR1JwYzNSaGJtTmxjeTVjYmlBcUlFQndZWEpoYlNCN1JHbHpkR0Z1WTJWTlpYUnlhV045SUdScGMzUmhibU5sSUVOMWMzUnZiU0JrYVhOMFlXNWpaU0JtZFc1amRHbHZiaTVjYmlBcUlFQnlaWFIxY200Z2UwMWhkSEpwZUgwZ1EyRnNZM1ZzWVhSbFpDQmpkWE4wYjIwZ1pHbHpkR0Z1WTJVZ2JXRjBjbWw0TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZzWTBScGMzUmhibU5sVFdGMGNtbDRLR1JoZEdFNklGWmxZM1J2Y25Nc0lHUnBjM1JoYm1ObE9pQkVhWE4wWVc1alpVMWxkSEpwWXlrNklFMWhkSEpwZUNCN1hHNGdJR052Ym5OMElHNUpkR1Z0Y3lBOUlHUmhkR0V1YkdWdVozUm9PMXh1SUNCamIyNXpkQ0J0WVhSeWFYZ2dQU0JwYm1sMFEyOXZjbVJwYm1GMFpYTW9ia2wwWlcxekxDQnVTWFJsYlhNc0lEQXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dia2wwWlcxek95QXJLMmtwSUh0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JxSUQwZ2FTQXJJREU3SUdvZ1BDQnVTWFJsYlhNN0lDc3JhaWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaRG9nYm5WdFltVnlJRDBnS0dSaGRHRmJhVjBnUFQwZ2JuVnNiQ2tnZkh3Z0tHUmhkR0ZiYWwwZ1BUMGdiblZzYkNrZ1B5QXdJRG9nWkdsemRHRnVZMlVvWkdGMFlWdHBYU3dnWkdGMFlWdHFYU2s3WEc0Z0lDQWdJQ0J0WVhSeWFYaGJhVjFiYWwwZ1BTQnRZWFJ5YVhoYmFsMWJhVjBnUFNCa08xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnYldGMGNtbDRPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFTnlaV0YwWlhNZ1lTQmthWE4wWVc1alpTQnRZWFJ5YVhnZ2RYTnBibWNnWVNCamRYTjBiMjBnWkdsemRHRnVZMlVnWm5WdVkzUnBiMjR1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0p6ZlNCa1lYUmhJRWx1Y0hWMElIWmxZM1J2Y25NZ2RHOGdZMkZzWTNWc1lYUmxJR1JwYzNSaGJtTmxjeTVjYmlBcUlFQndZWEpoYlNCN1JHbHpkR0Z1WTJWTlpYUnlhV045SUdScGMzUmhibU5sSUVOMWMzUnZiU0JrYVhOMFlXNWpaU0JtZFc1amRHbHZiaTVjYmlBcUlFQnlaWFIxY200Z2UwMWhkSEpwZUgwZ1EyRnNZM1ZzWVhSbFpDQmpkWE4wYjIwZ1pHbHpkR0Z1WTJVZ2JXRjBjbWw0TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZzWTA1dmNtMWhiR2w2WldSRWFYTjBZVzVqWlUxaGRISnBlQ2hrWVhSaE9pQldaV04wYjNKekxDQmthWE4wWVc1alpUb2dSR2x6ZEdGdVkyVk5aWFJ5YVdNcE9pQk5ZWFJ5YVhnZ2UxeHVJQ0JqYjI1emRDQnVTWFJsYlhNZ1BTQmtZWFJoTG14bGJtZDBhRHRjYmlBZ1kyOXVjM1FnYldGMGNtbDRJRDBnYVc1cGRFTnZiM0prYVc1aGRHVnpLRzVKZEdWdGN5d2dia2wwWlcxekxDQXdLVHRjYmlBZ2JHVjBJRzFoZUNBOUlFNTFiV0psY2k1TlNVNWZWa0ZNVlVVN1hHNGdJR3hsZENCdGFXNGdQU0JPZFcxaVpYSXVUVUZZWDFaQlRGVkZPMXh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHNUpkR1Z0Y3pzZ0t5dHBLU0I3WEc0Z0lDQWdabTl5SUNoc1pYUWdhaUE5SUdrN0lHb2dQQ0J1U1hSbGJYTTdJQ3NyYWlrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWkRvZ2JuVnRZbVZ5SUQwZ0tHUmhkR0ZiYVYwZ1BUMGdiblZzYkNrZ2ZId2dLR1JoZEdGYmFsMGdQVDBnYm5Wc2JDQjhmQ0JwSUQwOVBTQnFLU0EvSURBZ09pQmthWE4wWVc1alpTaGtZWFJoVzJsZExDQmtZWFJoVzJwZEtUdGNiaUFnSUNBZ0lHMWhkSEpwZUZ0cFhWdHFYU0E5SUcxaGRISnBlRnRxWFZ0cFhTQTlJR1E3WEc0Z0lDQWdJQ0JwWmlBb1pDQStJRzFoZUNrZ2JXRjRJRDBnWkR0Y2JpQWdJQ0FnSUdsbUlDaGtJRHdnYldsdUtTQnRhVzRnUFNCa08xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHNUpkR1Z0Y3pzZ0t5dHBLU0I3WEc0Z0lDQWdabTl5SUNoc1pYUWdhaUE5SUdrZ0t5QXhPeUJxSUR3Z2JrbDBaVzF6T3lBcksyb3BYRzRnSUNBZ0lDQnRZWFJ5YVhoYmFWMWJhbDBnUFNCdFlYUnlhWGhiYWwxYmFWMGdQU0FvYldGMGNtbDRXMmxkVzJwZElDMGdiV2x1S1NBdklDaHRZWGdnTFNCdGFXNHBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnRZWFJ5YVhnN1hHNTlYRzVjYmk4cUtpQkhaVzVsY21GMFpYTWdZWEp5WVhrZ1puSnZiU0JoSUhKaGJtZGxJRnRpWldkcGJqc2daVzVrWFNCdmNpQmJZbVZuYVc0N0lHVnVaQ2tnYVdZZ1pXNWtSWGhqYkhWemFYWmxMaUFxS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCblpXNVNZVzVuWlNoaVpXZHBiam9nYm5WdFltVnlMQ0JsYm1RNklHNTFiV0psY2l3Z1pXNWtSWGhqYkhWemFYWmxJRDBnWm1Gc2MyVXBPaUJKYm5Rek1rRnljbUY1SUh0Y2JpQWdZMjl1YzNRZ2JrbDBaVzF6SUQwZ1pXNWtJQzBnWW1WbmFXNGdLeUFvWlc1a1JYaGpiSFZ6YVhabElEOGdNQ0E2SURFcE8xeHVJQ0JqYjI1emRDQnpaWEpwWlhNZ1BTQnVaWGNnU1c1ME16SkJjbkpoZVNodVNYUmxiWE1wTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYmtsMFpXMXpPeUFySzJrcFhHNGdJQ0FnYzJWeWFXVnpXMmxkSUQwZ1ltVm5hVzRnS3lCcE8xeHVYRzRnSUhKbGRIVnliaUJ6WlhKcFpYTTdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVjBkWEp1Y3lCdmNtUmxjaUJ2WmlCMllXeDFaWE1nWVhNZ2FXWWdkR2hsZVNCaGNtVWdjMjl5ZEdWa0xseHVJQ3BjYmlBcUlFQmxlSEJ2Y25SY2JpQXFJRUJ3WVhKaGJTQjdZVzU1VzExOUlIWmhiSFZsY3lCSmJuQjFkQ0JoY25KaGVTNWNiaUFxSUVCd1lYSmhiU0I3WW05dmJHVmhibjBnVzNKbGRtVnljMlU5Wm1Gc2MyVmRJRmRvWlhSb1pYSWdkRzhnY21WMGRYSnVJSEpsZG1WeWMyVmtJRzl5WkdWeUxseHVJQ29nUUhKbGRIVnliaUI3Ym5WdFltVnlXMTE5SUZSb1pTQnZjbVJsY2lCamIyMXdkWFJsWkM1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0Z5WjFOdmNuUW9kbUZzZFdWek9pQmhibmxiWFN3Z2NtVjJaWEp6WlNBOUlHWmhiSE5sS1RvZ2JuVnRZbVZ5VzEwZ2UxeHVJQ0JqYjI1emRDQnpiM0owWm00Z1BTQnlaWFpsY25ObElEOGdLR0U2SUdGdWVWdGRMQ0JpT2lCaGJubGJYU2tnUFQ0Z0tHSmJNRjBnTFNCaFd6QmRLU0E2SUNoaE9pQmhibmxiWFN3Z1lqb2dZVzU1VzEwcElEMCtJQ2hoV3pCZElDMGdZbHN3WFNrN1hHNGdJR052Ym5OMElHUmxZMjl5SUQwZ0tIWTZJR0Z1ZVN3Z2FUb2diblZ0WW1WeUtTQTlQaUJiZGl3Z2FWMDdJQzh2SUhObGRDQnBibVJsZUNCMGJ5QjJZV3gxWlZ4dUlDQmpiMjV6ZENCMWJtUmxZMjl5SUQwZ0tHRTZJR0Z1ZVZ0ZEtTQTlQaUJoV3pGZE95QXZMeUJzWldGMlpTQnZibXg1SUdsdVpHVjRYRzRnSUdOdmJuTjBJRjloY21kemIzSjBJRDBnS0dGeWNqb2dZVzU1VzEwcElEMCtJR0Z5Y2k1dFlYQW9aR1ZqYjNJcExuTnZjblFvYzI5eWRHWnVLUzV0WVhBb2RXNWtaV052Y2lrN1hHNGdJSEpsZEhWeWJpQmZZWEpuYzI5eWRDaDJZV3gxWlhNcE8xeHVmVnh1WEc0dktpcGNiaUFxSUZKbGRIVnlibk1nZEdobElHbHVaR1Y0WlhNZ2IyWWdkR2hsSUcxdmMzUWdaR2wyWlhKelpTQnZZbXBsWTNSeklHRmpZMjl5WkdsdVp5QjBieUIwYUdVZ1pHbHpkQ0JtZFc1amRHbHZibHh1SUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUd4bGJtZDBhQ0IwYjNSaGJDQnVkVzFpWlhJZ2IyWWdiMkpxWldOMGMxeHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRzRnYm5WdFltVnlJRzltSUdScGRtVnljMlVnWld4bGJXVnVkSE1nZEc4Z1ptbHVaRnh1SUNvZ1FIQmhjbUZ0SUhzb2FURTZJRzUxYldKbGNpd2dhVEk2SUc1MWJXSmxjaWtnUFQ0Z2JuVnRZbVZ5ZlNCa2FYTjBJR0VnWm5WdVkzUnBiMjRnZDJocFkyZ2dZMkZzWTNWc1lYUmxjeUJrYVhOMFlXNWpaU0JpWlhSM1pXVnVYRzRnS2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGR2SUc5aWFtVmpkSE1nZFhOcGJtY2dkR2hsYVhJZ2FXNWtaWGhsYzF4dUlDb2dRSEpsZEhWeWJuTWdlMjUxYldKbGNsdGRmU0JVYUdVZ2FXNWtaWGhsY3lCdlppQjBhR1VnYlc5emRDQmthWFpsY25ObElHOWlhbVZqZEhOY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVScGRtVnljMlZUZFdKelpYUW9iR1Z1WjNSb09pQnVkVzFpWlhJc0lHNDZJRzUxYldKbGNpd2daR2x6ZERvZ0tHa3hPaUJ1ZFcxaVpYSXNJR2t5T2lCdWRXMWlaWElwSUQwK0lHNTFiV0psY2lrNklHNTFiV0psY2x0ZElIdGNiaUFnWm5WdVkzUnBiMjRnYldGNFFua29kbUZzZFdWek9pQkpkR1Z5WVdKc1pVbDBaWEpoZEc5eVBHNTFiV0psY2o0c0lHOXlaR1Z5UW5rNklDaHBPaUJ1ZFcxaVpYSXBJRDArSUc1MWJXSmxjaWtnZTF4dUlDQWdJR3hsZENCdFlYaFdZV3gxWlNBOUlHNTFiR3c3WEc0Z0lDQWdiR1YwSUcxaGVFOXlaR1Z5UW5rZ1BTQnVkV3hzTzF4dVhHNGdJQ0FnWm05eUlDaGpiMjV6ZENCbGJHVnRaVzUwSUc5bUlIWmhiSFZsY3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWld4bGJXVnVkRTl5WkdWeVFua2dQU0J2Y21SbGNrSjVLR1ZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdhV1lnS0cxaGVFOXlaR1Z5UW5rZ1BUMGdiblZzYkNCOGZDQmxiR1Z0Wlc1MFQzSmtaWEpDZVNBK0lHMWhlRTl5WkdWeVFua3BJSHRjYmlBZ0lDQWdJQ0FnYldGNFZtRnNkV1VnUFNCbGJHVnRaVzUwTzF4dUlDQWdJQ0FnSUNCdFlYaFBjbVJsY2tKNUlEMGdaV3hsYldWdWRFOXlaR1Z5UW5rN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnRZWGhXWVd4MVpUdGNiaUFnZlZ4dVhHNGdJR052Ym5OMElITjFZbk5sZENBOUlGdHlZVzVrYjIxSmJuUW9iR1Z1WjNSb0lDMGdNU2xkTzF4dUlDQmpiMjV6ZENCamIyMXdiR1Z0Wlc1MElEMGdibVYzSUZObGRDZ3BPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2diR1Z1WjNSb095QXJLMmtwSUh0Y2JpQWdJQ0JwWmlBb0lYTjFZbk5sZEM1cGJtTnNkV1JsY3locEtTbGNiaUFnSUNBZ0lHTnZiWEJzWlcxbGJuUXVZV1JrS0drcE8xeHVJQ0I5WEc1Y2JpQWdkMmhwYkdVZ0tITjFZbk5sZEM1c1pXNW5kR2dnUENCdUtTQjdYRzRnSUNBZ1kyOXVjM1FnYVdSNElEMGdiV0Y0UW5rb1hHNGdJQ0FnSUNCamIyMXdiR1Z0Wlc1MExuWmhiSFZsY3lncElHRnpJRWwwWlhKaFlteGxTWFJsY21GMGIzSThiblZ0WW1WeVBpeGNiaUFnSUNBZ0lDaHBLU0E5UGlCTllYUm9MbTFwYmk1aGNIQnNlU2hOWVhSb0xDQnpkV0p6WlhRdWJXRndLR1oxYm1OMGFXOXVLSFpoYkN3Z2FXNWtaWGdwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdScGMzUW9hU3dnZG1Gc0tUdGNiaUFnSUNBZ0lIMHBLU2s3WEc0Z0lDQWdhV1lnS0dsa2VDa2dlMXh1SUNBZ0lDQWdjM1ZpYzJWMExuQjFjMmdvYVdSNEtUdGNiaUFnSUNBZ0lHTnZiWEJzWlcxbGJuUXVaR1ZzWlhSbEtHbGtlQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnpkV0p6WlhRN1hHNTlYRzVjYmk4cUtseHVJQ29nVW1WMGRYSnVjeUJ1YjNKdFlXeHBlbVZrSUhabFkzUnZjaTVjYmlBcUlGeHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0o5SUdSaGRHRWdiblZ0WlhKcFkyRnNJR0Z5Y21GNVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVVvWkdGMFlUb2dWbVZqZEc5eUtUb2dWbVZqZEc5eUlIdGNiaUFnWTI5dWMzUWdiR1Z1SUQwZ1pHRjBZUzVzWlc1bmRHZzdYRzRnSUd4bGRDQnpkVzBnUFNBd08xeHVJQ0JzWlhRZ2MzVnRUMlpUY1hWaGNtVnpJRDBnTUR0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUd4bGJqc2dLeXRwS1NCN1hHNGdJQ0FnYzNWdElDczlJR1JoZEdGYmFWMDdYRzRnSUNBZ2MzVnRUMlpUY1hWaGNtVnpJQ3M5SUdSaGRHRmJhVjBnS2lvZ01qdGNiaUFnZlZ4dVhHNGdJR052Ym5OMElHMWxZVzRnUFNCemRXMGdMeUJzWlc0N1hHNGdJR052Ym5OMElITjBaRVJsZGtsdWRtVnljMlVnUFNBeExqQWdMeUJOWVhSb0xuTnhjblFvYzNWdFQyWlRjWFZoY21WeklDOGdiR1Z1SUMwZ2JXVmhiaUFxS2lBeUtUdGNibHh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHeGxianNnS3l0cEtWeHVJQ0FnSUdSaGRHRmJhVjBnUFNBb1pHRjBZVnRwWFNBdElHMWxZVzRwSUNvZ2MzUmtSR1YyU1c1MlpYSnpaVHRjYmx4dUlDQnlaWFIxY200Z1pHRjBZVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkdhVzVrY3lCelpYUWdaR2xtWm1WeVpXNWpaU0JpWlhSM1pXVnVJSFIzYnlCc2FYTjBjeTVjYmlBcUlFQndZWEpoYlNCN1lXNTVXMTE5SUdFZ1ZHaGxJR1pwY25OMElHeHBjM1F1WEc0Z0tpQkFjR0Z5WVcwZ2UyRnVlVnRkZlNCaUlGUm9aU0J6WldOdmJtUWdiR2x6ZEM1Y2JpQXFJRUJ5WlhSMWNtNGdlMkZ1ZVZ0ZGZWeHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYzJWMFJHbG1abVZ5Wlc1alpTaGhPaUJoYm5sYlhTd2dZam9nWVc1NVcxMHBPaUJoYm5sYlhTQjdYRzRnSUdOdmJuTjBJR0pUWlhRZ1BTQnVaWGNnVTJWMEtHSXBPMXh1SUNCeVpYUjFjbTRnUVhKeVlYa3Vabkp2YlNodVpYY2dVMlYwS0dFdVptbHNkR1Z5S0NoNEtTQTlQaUFoWWxObGRDNW9ZWE1vZUNrcEtTNTJZV3gxWlhNb0tTazdYRzU5WEc0aVhYMD0iLCJpbXBvcnQgKiBhcyBmbCBmcm9tICdmYXN0ZXN0LWxldmVuc2h0ZWluJztcbmltcG9ydCB7IGphcm9XaW5rbGVyIH0gZnJvbSAnamFyby13aW5rbGVyLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgYXN5bW1ldHJpY0Rpc3RhbmNlLCBicmF1bkJsYW5xdWV0RGlzdGFuY2UsIGNvc2luZURpc3RhbmNlLCBkaWNlRGlzdGFuY2UsIGV1Y2xpZGVhbkRpc3RhbmNlLCBoYW1taW5nRGlzdGFuY2UsIGt1bGN6eW5za2lEaXN0YW5jZSwgbWNDb25uYXVnaGV5RGlzdGFuY2UsIHJvZ290R29sZGJlcmdEaXN0YW5jZSwgcnVzc2VsRGlzdGFuY2UsIHNva2FsRGlzdGFuY2UsIHRhbmltb3RvRGlzdGFuY2UsIG51bWVyaWNEaXN0YW5jZSwgdGFuaW1vdG9EaXN0YW5jZUludEFycmF5LCB9IGZyb20gJy4uL2Rpc3RhbmNlLW1ldHJpY3MtbWV0aG9kcyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZSB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3ZlY3Rvci1vcGVyYXRpb25zJztcbmltcG9ydCB7IG1tRGlzdGFuY2VGdW5jdGlvbnMsIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcyB9IGZyb20gJy4uL21hY3JvbW9sZWN1bGUtZGlzdGFuY2UtZnVuY3Rpb25zJztcbmltcG9ydCB7IERpc3RhbmNlTWV0cmljc1N1YmplY3RzLCBCaXRBcnJheU1ldHJpY3NOYW1lcywgU3RyaW5nTWV0cmljc05hbWVzLCBWZWN0b3JNZXRyaWNzTmFtZXMsIE51bWJlck1ldHJpY3NOYW1lcywgSW50QXJyYXlNZXRyaWNzTmFtZXMgfSBmcm9tICcuL2NvbnN0cyc7XG5leHBvcnQgY29uc3QgdmVjdG9yRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbVmVjdG9yTWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGNhbGN1bGF0ZUV1Y2xpZGVhbkRpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTGV2ZW5zaHRlaW5dOiBmbC5kaXN0YW5jZSxcbiAgICBbU3RyaW5nTWV0cmljc05hbWVzLkphcm9XaW5rbGVyXTogamFyb1dpbmtsZXIsXG4gICAgW1N0cmluZ01ldHJpY3NOYW1lcy5NYW5oYXR0YW5dOiBtYW5oYXR0YW5EaXN0YW5jZSxcbiAgICBbU3RyaW5nTWV0cmljc05hbWVzLk9uZWhvdF06IGNhdGVnb3JpY2FsRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dOiB0YW5pbW90b0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogZGljZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYXN5bW1ldHJpY0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XTogYnJhdW5CbGFucXVldERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBjb3NpbmVEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGt1bGN6eW5za2lEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XTogbWNDb25uYXVnaGV5RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiByb2dvdEdvbGRiZXJnRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IHJ1c3NlbERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF06IHNva2FsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkhhbW1pbmddOiBoYW1taW5nRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGV1Y2xpZGVhbkRpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBpbnRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHMgPSB7XG4gICAgW0ludEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvSW50QXJyYXldOiB0YW5pbW90b0Rpc3RhbmNlSW50QXJyYXksXG59O1xuZXhwb3J0IGNvbnN0IG51bWJlckRpc3RhbmNlTWV0cmljc01ldGhvZHMgPSB7XG4gICAgW051bWJlck1ldHJpY3NOYW1lcy5EaWZmZXJlbmNlXTogbnVtZXJpY0Rpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBBdmFpbGFibGVNZXRyaWNzID0ge1xuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5WZWN0b3JdOiB7XG4gICAgICAgIFtWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogdmVjdG9yRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5TdHJpbmddOiB7XG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTGV2ZW5zaHRlaW5dOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5MZXZlbnNodGVpbl0sXG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuSmFyb1dpbmtsZXJdOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5KYXJvV2lua2xlcl0sXG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXTogc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXSxcbiAgICAgICAgW1N0cmluZ01ldHJpY3NOYW1lcy5PbmVob3RdOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5PbmVob3RdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLkJpdEFycmF5XToge1xuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuQXN5bW1ldHJpY10sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkt1bGN6eW5za2ldLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLk1jQ29ubmF1Z2hleV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Sb2dvdEdvbGRiZXJnXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuTWFjcm9Nb2xlY3VsZV06IHtcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5IQU1NSU5HXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuSEFNTUlOR10sXG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTEVWRU5TSFRFSU5dOiBtbURpc3RhbmNlRnVuY3Rpb25zW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5MRVZFTlNIVEVJTl0sXG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTkVFRExFTUFOTl9XVU5TQ0hdOiBtbURpc3RhbmNlRnVuY3Rpb25zW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5ORUVETEVNQU5OX1dVTlNDSF0sXG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRV06IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk1PTk9NRVJfQ0hFTUlDQUxfRElTVEFOQ0VdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLk51bWJlcl06IHtcbiAgICAgICAgW051bWJlck1ldHJpY3NOYW1lcy5EaWZmZXJlbmNlXTogbnVtYmVyRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tOdW1iZXJNZXRyaWNzTmFtZXMuRGlmZmVyZW5jZV0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuSW50QXJyYXldOiB7XG4gICAgICAgIFtJbnRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b0ludEFycmF5XTogaW50QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0ludEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvSW50QXJyYXldLFxuICAgIH1cbn07XG5leHBvcnQgY29uc3QgTWV0cmljVG9EYXRhVHlwZSA9IE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3MpXG4gICAgLnJlZHVjZSgocmV0LCBrZXkpID0+IHtcbiAgICBmb3IgKGNvbnN0IHZhbCBvZiBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzW2tleV0pKVxuICAgICAgICByZXRbdmFsXSA9IGtleTtcbiAgICByZXR1cm4gcmV0O1xufSwge30pO1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnU3RyaW5nJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0JpdEFycmF5TWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnQml0QXJyYXknO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmVjdG9yTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnVmVjdG9yJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc01hY3JvTW9sZWN1bGVNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09IERpc3RhbmNlTWV0cmljc1N1YmplY3RzLk1hY3JvTW9sZWN1bGUudG9TdHJpbmcoKTtcbn1cbi8qKiBNYW5oYXR0YW4gZGlzdGFuY2UgYmV0d2VlbiB0d28gc2VxdWVuY2VzIChtYXRjaCAtIDAsIG1pc21hdGNoIC0gMSkgbm9ybWFsaXplZCBmb3IgbGVuZ3RoLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hbmhhdHRhbkRpc3RhbmNlKHMxLCBzMikge1xuICAgIGlmIChzMS5sZW5ndGggIT09IHMyLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCBkaXN0ID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzMS5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIGRpc3QgKz0gczFbaV0gPT0gczJbaV0gPyAwIDogMTtcbiAgICAgICAgcmV0dXJuIGRpc3QgLyBzMS5sZW5ndGg7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGNhdGVnb3JpY2FsRGlzdGFuY2UoczEsIHMyKSB7XG4gICAgcmV0dXJuIHMxID09PSBzMiA/IDAgOiAxO1xufVxuLyoqIFVuaWZpZWQgY2xhc3MgaW1wbGVtZW50aW5nIGRpZmZlcmVudCBzdHJpbmcgbWVhc3VyZXMuICovXG5leHBvcnQgY2xhc3MgTWVhc3VyZSB7XG4gICAgbWV0aG9kO1xuICAgIGRhdGFUeXBlO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTWVhc3VyZSB3aXRoIC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kIE1ldGhvZCB0byBjYWxjdWxhdGUgZGlzdGFuY2UgYmV0d2VlbiBzdHJpbmdzLlxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKG1ldGhvZCkge1xuICAgICAgICB0aGlzLm1ldGhvZCA9IG1ldGhvZDtcbiAgICAgICAgdGhpcy5kYXRhVHlwZSA9IE1ldHJpY1RvRGF0YVR5cGVbbWV0aG9kXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXN0b20gc3RyaW5nIGRpc3RhbmNlIGZ1bmN0aW9uIHNwZWNpZmllZC5cbiAgICAgKiBAcGFyYW0ge29wdHN9IG9wdHMgT3B0aW9ucyBmb3IgdGhlIG1lYXN1cmUuIHVzZWQgZm9yIG1hY3JvbW9sZWN1bGUgZGlzdGFuY2VzXG4gICAgICogQHJldHVybiB7RGlzdGFuY2VNZXRyaWN9IENhbGxiYWNrIG9mIHRoZSBtZWFzdXJlIGNob3Nlbi5cbiAgICAgKiBAbWVtYmVyb2YgTWVhc3VyZXJcbiAgICAgKi9cbiAgICBnZXRNZWFzdXJlKG9wdHMpIHtcbiAgICAgICAgY29uc3QgZGljdCA9IEF2YWlsYWJsZU1ldHJpY3M7XG4gICAgICAgIGlmICghZGljdC5oYXNPd25Qcm9wZXJ0eSh0aGlzLmRhdGFUeXBlKSB8fCAhZGljdFt0aGlzLmRhdGFUeXBlXS5oYXNPd25Qcm9wZXJ0eSh0aGlzLm1ldGhvZCkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gbWVhc3VyZSAke3RoaXMubWV0aG9kfSBmb3IgZGF0YSB0eXBlICR7dGhpcy5kYXRhVHlwZX1gKTtcbiAgICAgICAgcmV0dXJuIGlzTWFjcm9Nb2xlY3VsZU1ldHJpYyh0aGlzLm1ldGhvZCkgP1xuICAgICAgICAgICAgZGljdFt0aGlzLmRhdGFUeXBlXVt0aGlzLm1ldGhvZF0ob3B0cykgOlxuICAgICAgICAgICAgZGljdFt0aGlzLmRhdGFUeXBlXVt0aGlzLm1ldGhvZF07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgY3VzdG9tIHN0cmluZyBkaXN0YW5jZSBieSB0aGUgZ2l2ZW4gZGF0YSB0eXBlLlxuICAgICAqIEBwYXJhbSB7QXZhaWxhYmxlRGF0YVR5cGVzfSBkYXRhVHlwZSBNZXRyaWMncyBkYXRhIHR5cGVcbiAgICAgKiBAcmV0dXJuIHtzdHJpbmdbXX0gTWV0cmljIG5hbWVzIHdoaWNoIGV4cGVjdHMgdGhlIGdpdmVuIGRhdGEgdHlwZVxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRNZXRyaWNCeURhdGFUeXBlKGRhdGFUeXBlKSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzW2RhdGFUeXBlXSk7XG4gICAgfVxuICAgIC8qKiBSZXR1cm5zIG1ldHJpYyBuYW1lcyBhdmFpbGFibGUuXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgc3RhdGljIGdldCBhdmFpbGFibGVNZWFzdXJlcygpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3MpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRIbHdaV1F0YldWMGNtbGpjeTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkluUjVjR1ZrTFcxbGRISnBZM011ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNUMEZCVHl4TFFVRkxMRVZCUVVVc1RVRkJUU3h4UWtGQmNVSXNRMEZCUXp0QlFVTXhReXhQUVVGUExFVkJRVU1zVjBGQlZ5eEZRVUZETEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRmNFUXNUMEZCVHl4RlFVTk1MR3RDUVVGclFpeEZRVU5zUWl4eFFrRkJjVUlzUlVGRGNrSXNZMEZCWXl4RlFVTmtMRmxCUVZrc1JVRkRXaXhwUWtGQmFVSXNSVUZEYWtJc1pVRkJaU3hGUVVObUxHdENRVUZyUWl4RlFVTnNRaXh2UWtGQmIwSXNSVUZEY0VJc2NVSkJRWEZDTEVWQlEzSkNMR05CUVdNc1JVRkRaQ3hoUVVGaExFVkJRMklzWjBKQlFXZENMRVZCUTJoQ0xHVkJRV1VzUlVGRFppeDNRa0ZCZDBJc1IwRkRla0lzVFVGQlRTdzJRa0ZCTmtJc1EwRkJRenRCUVVWeVF5eFBRVUZQTEVWQlFVTXNNRUpCUVRCQ0xFVkJRVU1zVFVGQlRTeHBSRUZCYVVRc1EwRkJRenRCUVVjelJpeFBRVUZQTEVWQlFVTXNiVUpCUVcxQ0xFVkJRVVVzZDBKQlFYZENMRVZCUVVNc1RVRkJUU3h4UTBGQmNVTXNRMEZCUXp0QlFVTnNSeXhQUVVGUExFVkJRVU1zZFVKQlFYVkNMRVZCUVVVc2IwSkJRVzlDTEVWQlEyNUVMR3RDUVVGclFpeEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxHdENRVUZyUWl4RlFVRkZMRzlDUVVGdlFpeEZRVUZETEUxQlFVMHNWVUZCVlN4RFFVRkRPMEZCUjNCSExFMUJRVTBzUTBGQlF5eE5RVUZOTERSQ1FVRTBRaXhIUVVGNVJEdEpRVU5vUnl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMREJDUVVFd1FqdERRVU16UkN4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzTkVKQlFUUkNMRWRCUVhsRU8wbEJRMmhITEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRkZCUVZFN1NVRkROME1zUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJTeFhRVUZYTzBsQlF6ZERMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNVMEZCVXl4RFFVRkRMRVZCUVVVc2FVSkJRV2xDTzBsQlEycEVMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc2JVSkJRVzFDTzBOQlEycEVMRU5CUVVNN1FVRkZSaXhOUVVGTkxFTkJRVU1zVFVGQlRTdzRRa0ZCT0VJc1IwRkJOa1E3U1VGRGRFY3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlN4blFrRkJaMEk3U1VGRGFrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4WlFVRlpPMGxCUTNwRExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1ZVRkJWU3hEUVVGRExFVkJRVVVzYTBKQlFXdENPMGxCUTNKRUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1lVRkJZU3hEUVVGRExFVkJRVVVzY1VKQlFYRkNPMGxCUXpORUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzWTBGQll6dEpRVU0zUXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMR3RDUVVGclFqdEpRVU55UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZsQlFWa3NRMEZCUXl4RlFVRkZMRzlDUVVGdlFqdEpRVU42UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXl4RlFVRkZMSEZDUVVGeFFqdEpRVU16UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMR05CUVdNN1NVRkROME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeGhRVUZoTzBsQlF6TkRMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1pVRkJaVHRKUVVNdlF5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGTkJRVk1zUTBGQlF5eEZRVUZGTEdsQ1FVRnBRanREUVVOd1JDeERRVUZETzBGQlJVWXNUVUZCVFN4RFFVRkRMRTFCUVUwc09FSkJRVGhDTEVkQlFXMUZPMGxCUXpWSExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNSVUZCUlN4M1FrRkJkMEk3UTBGRGJFVXNRMEZCUXp0QlFVVkdMRTFCUVUwc1EwRkJReXhOUVVGTkxEUkNRVUUwUWl4SFFVRjVSRHRKUVVOb1J5eERRVUZETEd0Q1FVRnJRaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTEdWQlFXVTdRMEZEYWtRc1EwRkJRenRCUVVWR0xFMUJRVTBzUTBGQlF5eE5RVUZOTEdkQ1FVRm5RaXhIUVVGSE8wbEJRemxDTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVTdVVUZEYUVNc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4VFFVRlRMRU5CUVVNc1JVRkJSU3cwUWtGQk5FSXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eFRRVUZUTEVOQlFVTTdTMEZETTBZN1NVRkRSQ3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRk8xRkJRMmhETEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVXNORUpCUVRSQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1YwRkJWeXhEUVVGRE8xRkJRemxHTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVXNORUpCUVRSQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1YwRkJWeXhEUVVGRE8xRkJRemxHTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVTBGQlV5eERRVUZETEVWQlFVVXNORUpCUVRSQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1UwRkJVeXhEUVVGRE8xRkJRekZHTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNORUpCUVRSQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1RVRkJUU3hEUVVGRE8wdEJRM0pHTzBsQlEwUXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlR0UlFVTnNReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRkZCUVZFc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZGQlFWRXNRMEZCUXp0UlFVTTVSaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVsQlFVa3NRMEZCUXp0UlFVTjBSaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXp0UlFVTnNSeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXp0UlFVTjRSeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXp0UlFVTXhSaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXp0UlFVTnNSeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRmxCUVZrc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZsQlFWa3NRMEZCUXp0UlFVTjBSeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXp0UlFVTjRSeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXp0UlFVTXhSaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEV0QlFVc3NRMEZCUXp0TFFVTjZSanRKUVVORUxFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1lVRkJZU3hEUVVGRExFVkJRVVU3VVVGRGRrTXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eFBRVUZQTEVOQlFVTXNSVUZCUlN4dFFrRkJiVUlzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhQUVVGUExFTkJRVU03VVVGRGVrWXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlN4dFFrRkJiVUlzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhYUVVGWExFTkJRVU03VVVGRGFrY3NRMEZCUXl4M1FrRkJkMElzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhGUVVGRkxHMUNRVUZ0UWl4RFFVRkRMSGRDUVVGM1FpeERRVUZETEdsQ1FVRnBRaXhEUVVGRE8xRkJRemRITEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zZVVKQlFYbENMRU5CUVVNc1JVRkRiRVFzYlVKQlFXMUNMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNlVUpCUVhsQ0xFTkJRVU03UzBGRE1VVTdTVUZEUkN4RFFVRkRMSFZDUVVGMVFpeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZPMUZCUTJoRExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hEUVVGRExFVkJRVVVzTkVKQlFUUkNMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWVUZCVlN4RFFVRkRPMHRCUXpkR08wbEJRMFFzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhSUVVGUkxFTkJRVU1zUlVGQlJUdFJRVU5zUXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFVkJRVVVzT0VKQlFUaENMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU03UzBGREwwYzdRMEZEUml4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzWjBKQlFXZENMRWRCUVhGQ0xFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU03UzBGRE5VVXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJjVUlzUlVGQlJTeEhRVUZITEVWQlFVVXNSVUZCUlR0SlFVTnlReXhMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNSMEZCZVVJc1EwRkJReXhEUVVGRE8xRkJRM2hGTEVkQlFVY3NRMEZCUXl4SFFVRjVRaXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlJYWkRMRTlCUVU4c1IwRkJSeXhEUVVGRE8wRkJRMklzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMEZCWlZRc1RVRkJUU3hWUVVGVkxHTkJRV01zUTBGQlF5eEpRVUZyUWp0SlFVTXZReXhQUVVGUExHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxGRkJRVkVzUTBGQlF6dEJRVU0xUXl4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHZENRVUZuUWl4RFFVRkRMRWxCUVd0Q08wbEJRMnBFTEU5QlFVOHNaMEpCUVdkQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NWVUZCVlN4RFFVRkRPMEZCUXpsRExFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNZMEZCWXl4RFFVRkRMRWxCUVd0Q08wbEJReTlETEU5QlFVOHNaMEpCUVdkQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NVVUZCVVN4RFFVRkRPMEZCUXpWRExFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNjVUpCUVhGQ0xFTkJRVU1zU1VGQmEwSTdTVUZEZEVRc1QwRkJUeXhuUWtGQlowSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3gxUWtGQmRVSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU03UVVGRGNFWXNRMEZCUXp0QlFVVkVMR2RIUVVGblJ6dEJRVU5vUnl4TlFVRk5MRlZCUVZVc2FVSkJRV2xDTEVOQlFVTXNSVUZCVlN4RlFVRkZMRVZCUVZVN1NVRkRkRVFzU1VGQlNTeEZRVUZGTEVOQlFVTXNUVUZCVFN4TFFVRkxMRVZCUVVVc1EwRkJReXhOUVVGTkxFVkJRVVU3VVVGRE0wSXNUMEZCVHl4RFFVRkRMRU5CUVVNN1MwRkRWanRUUVVGTk8xRkJRMHdzU1VGQlNTeEpRVUZKTEVkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUTNKQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlR0WlFVTm9ReXhKUVVGSkxFbEJRVWtzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGFrTXNUMEZCVHl4SlFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF6dExRVU42UWp0QlFVTklMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzYlVKQlFXMUNMRU5CUVVNc1JVRkJWU3hGUVVGRkxFVkJRVlU3U1VGRGVFUXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVNelFpeERRVUZETzBGQlJVUXNORVJCUVRSRU8wRkJRelZFTEUxQlFVMHNUMEZCVHl4UFFVRlBPMGxCUTFJc1RVRkJUU3hEUVVGbE8wbEJRM0pDTEZGQlFWRXNRMEZCY1VJN1NVRkZka003T3pzN1QwRkpSenRKUVVOSUxGbEJRVmtzVFVGQmIwSTdVVUZET1VJc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eE5RVUZOTEVOQlFVTTdVVUZEY2tJc1NVRkJTU3hEUVVGRExGRkJRVkVzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkJReXhOUVVGTkxFTkJRWFZDTEVOQlFVTTdTVUZEYWtVc1EwRkJRenRKUVVWRU96czdPenRQUVV0SE8wbEJRMGtzVlVGQlZTeERRVUZETEVsQlFWVTdVVUZETVVJc1RVRkJUU3hKUVVGSkxFZEJSVTRzWjBKQlFXZENMRU5CUVVNN1VVRkRja0lzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eGpRVUZqTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRaUVVONlJpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRzFDUVVGdFFpeEpRVUZKTEVOQlFVTXNUVUZCVFN4clFrRkJhMElzU1VGQlNTeERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRia1lzVDBGQlR5eHhRa0ZCY1VJc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTjRReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRWEZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVNM1JTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFXMUNMRU5CUVVNN1NVRkRka1FzUTBGQlF6dEpRVVZFT3pzN096dFBRVXRITzBsQlEwa3NUVUZCVFN4RFFVRkRMRzFDUVVGdFFpeERRVUZETEZGQlFUUkNPMUZCUXpWRUxFOUJRVThzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTJwRUxFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTklMRTFCUVUwc1MwRkJTeXhwUWtGQmFVSTdVVUZETVVJc1QwRkJUeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU03U1VGRGRrTXNRMEZCUXp0RFFVTkdJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJQ29nWVhNZ1ptd2dabkp2YlNBblptRnpkR1Z6ZEMxc1pYWmxibk5vZEdWcGJpYzdYRzVwYlhCdmNuUWdlMnBoY205WGFXNXJiR1Z5ZlNCbWNtOXRJQ2RxWVhKdkxYZHBibXRzWlhJdGRIbHdaWE5qY21sd2RDYzdYRzVwYlhCdmNuUWdlMFJwYzNSaGJtTmxUV1YwY21samZTQm1jbTl0SUNkQVpHRjBZV2R5YjJzdGJHbGljbUZ5YVdWekwzVjBhV3h6TDNOeVl5OTBlWEJsTFdSbFkyeGhjbUYwYVc5dWN5YzdYRzVwYlhCdmNuUWdlMXh1SUNCaGMzbHRiV1YwY21salJHbHpkR0Z1WTJVc1hHNGdJR0p5WVhWdVFteGhibkYxWlhSRWFYTjBZVzVqWlN4Y2JpQWdZMjl6YVc1bFJHbHpkR0Z1WTJVc1hHNGdJR1JwWTJWRWFYTjBZVzVqWlN4Y2JpQWdaWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVXNYRzRnSUdoaGJXMXBibWRFYVhOMFlXNWpaU3hjYmlBZ2EzVnNZM3A1Ym5OcmFVUnBjM1JoYm1ObExGeHVJQ0J0WTBOdmJtNWhkV2RvWlhsRWFYTjBZVzVqWlN4Y2JpQWdjbTluYjNSSGIyeGtZbVZ5WjBScGMzUmhibU5sTEZ4dUlDQnlkWE56Wld4RWFYTjBZVzVqWlN4Y2JpQWdjMjlyWVd4RWFYTjBZVzVqWlN4Y2JpQWdkR0Z1YVcxdmRHOUVhWE4wWVc1alpTeGNiaUFnYm5WdFpYSnBZMFJwYzNSaGJtTmxMRnh1SUNCMFlXNXBiVzkwYjBScGMzUmhibU5sU1c1MFFYSnlZWGtzWEc1OUlHWnliMjBnSnk0dUwyUnBjM1JoYm1ObExXMWxkSEpwWTNNdGJXVjBhRzlrY3ljN1hHNWNibWx0Y0c5eWRDQjdZMkZzWTNWc1lYUmxSWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVjlJR1p5YjIwZ0owQmtZWFJoWjNKdmF5MXNhV0p5WVhKcFpYTXZkWFJwYkhNdmMzSmpMM1psWTNSdmNpMXZjR1Z5WVhScGIyNXpKenRjYm1sdGNHOXlkQ0JDYVhSQmNuSmhlU0JtY205dElDZEFaR0YwWVdkeWIyc3RiR2xpY21GeWFXVnpMM1YwYVd4ekwzTnlZeTlpYVhRdFlYSnlZWGtuTzF4dWFXMXdiM0owSUh0V1pXTjBiM0lzSUZOMGNtbHVaMFJwWTNScGIyNWhjbmw5SUdaeWIyMGdKMEJrWVhSaFozSnZheTFzYVdKeVlYSnBaWE12ZFhScGJITXZjM0pqTDNSNWNHVXRaR1ZqYkdGeVlYUnBiMjV6Snp0Y2JtbHRjRzl5ZENCN2JXMUVhWE4wWVc1alpVWjFibU4wYVc5dWN5d2dUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWemZTQm1jbTl0SUNjdUxpOXRZV055YjIxdmJHVmpkV3hsTFdScGMzUmhibU5sTFdaMWJtTjBhVzl1Y3ljN1hHNXBiWEJ2Y25RZ2UwUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TENCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5eGNiaUFnVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TENCV1pXTjBiM0pOWlhSeWFXTnpUbUZ0WlhNc0lFNTFiV0psY2sxbGRISnBZM05PWVcxbGN5d2dTVzUwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE45SUdaeWIyMGdKeTR2WTI5dWMzUnpKenRjYmx4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnZG1WamRHOXlSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrY3pvZ2V5QmJibUZ0WlRvZ2MzUnlhVzVuWFRvZ0tIZzZJRlpsWTNSdmNpd2dlVG9nVm1WamRHOXlLU0E5UGlCdWRXMWlaWElnZlNBOUlIdGNiaUFnVzFabFkzUnZjazFsZEhKcFkzTk9ZVzFsY3k1RmRXTnNhV1JsWVc1ZE9pQmpZV3hqZFd4aGRHVkZkV05zYVdSbFlXNUVhWE4wWVc1alpTeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0J6ZEhKcGJtZEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6T2lCN0lGdHVZVzFsT2lCemRISnBibWRkT2lBb2VEb2djM1J5YVc1bkxDQjVPaUJ6ZEhKcGJtY3BJRDArSUc1MWJXSmxjaUI5SUQwZ2UxeHVJQ0JiVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TGt4bGRtVnVjMmgwWldsdVhUb2dabXd1WkdsemRHRnVZMlVzWEc0Z0lGdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVTbUZ5YjFkcGJtdHNaWEpkT2lCcVlYSnZWMmx1YTJ4bGNpeGNiaUFnVzFOMGNtbHVaMDFsZEhKcFkzTk9ZVzFsY3k1TllXNW9ZWFIwWVc1ZE9pQnRZVzVvWVhSMFlXNUVhWE4wWVc1alpTeGNiaUFnVzFOMGNtbHVaMDFsZEhKcFkzTk9ZVzFsY3k1UGJtVm9iM1JkT2lCallYUmxaMjl5YVdOaGJFUnBjM1JoYm1ObExGeHVmVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJR0pwZEVGeWNtRjVSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrY3pvZ2V5QmJibUZ0WlRvZ2MzUnlhVzVuWFRvZ0tIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrZ1BUNGdiblZ0WW1WeUlIMGdQU0I3WEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVVWVc1cGJXOTBiMTA2SUhSaGJtbHRiM1J2UkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVFYVdObFhUb2daR2xqWlVScGMzUmhibU5sTEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UVhONWJXMWxkSEpwWTEwNklHRnplVzF0WlhSeWFXTkVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrSnlZWFZ1UW14aGJuRjFaWFJkT2lCaWNtRjFia0pzWVc1eGRXVjBSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NURiM05wYm1WZE9pQmpiM05wYm1WRWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGt0MWJHTjZlVzV6YTJsZE9pQnJkV3hqZW5sdWMydHBSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NU5ZME52Ym01aGRXZG9aWGxkT2lCdFkwTnZibTVoZFdkb1pYbEVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsSnZaMjkwUjI5c1pHSmxjbWRkT2lCeWIyZHZkRWR2YkdSaVpYSm5SR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVNkWE56Wld4ZE9pQnlkWE56Wld4RWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxOdmEyRnNYVG9nYzI5cllXeEVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxraGhiVzFwYm1kZE9pQm9ZVzF0YVc1blJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RmRXTnNhV1JsWVc1ZE9pQmxkV05zYVdSbFlXNUVhWE4wWVc1alpTeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JwYm5SQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhNNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklDaDRPaUJWYVc1ME16SkJjbkpoZVN3Z2VUb2dWV2x1ZERNeVFYSnlZWGtwSUQwK0lHNTFiV0psY2lCOUlEMGdlMXh1SUNCYlNXNTBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVWR0Z1YVcxdmRHOUpiblJCY25KaGVWMDZJSFJoYm1sdGIzUnZSR2x6ZEdGdVkyVkpiblJCY25KaGVTeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0J1ZFcxaVpYSkVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6T2lCN0lGdHVZVzFsT2lCemRISnBibWRkT2lBb2VEb2diblZ0WW1WeUxDQjVPaUJ1ZFcxaVpYSXBJRDArSUc1MWJXSmxjaUI5SUQwZ2UxeHVJQ0JiVG5WdFltVnlUV1YwY21samMwNWhiV1Z6TGtScFptWmxjbVZ1WTJWZE9pQnVkVzFsY21salJHbHpkR0Z1WTJVc1hHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRWFpoYVd4aFlteGxUV1YwY21samN5QTlJSHRjYmlBZ1cwUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TGxabFkzUnZjbDA2SUh0Y2JpQWdJQ0JiVm1WamRHOXlUV1YwY21samMwNWhiV1Z6TGtWMVkyeHBaR1ZoYmwwNklIWmxZM1J2Y2tScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJWbVZqZEc5eVRXVjBjbWxqYzA1aGJXVnpMa1YxWTJ4cFpHVmhibDBzWEc0Z0lIMHNYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVUZEhKcGJtZGRPaUI3WEc0Z0lDQWdXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVNWlhabGJuTm9kR1ZwYmwwNklITjBjbWx1WjBScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMa3hsZG1WdWMyaDBaV2x1WFN4Y2JpQWdJQ0JiVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TGtwaGNtOVhhVzVyYkdWeVhUb2djM1J5YVc1blJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRUZEhKcGJtZE5aWFJ5YVdOelRtRnRaWE11U21GeWIxZHBibXRzWlhKZExGeHVJQ0FnSUZ0VGRISnBibWROWlhSeWFXTnpUbUZ0WlhNdVRXRnVhR0YwZEdGdVhUb2djM1J5YVc1blJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRUZEhKcGJtZE5aWFJ5YVdOelRtRnRaWE11VFdGdWFHRjBkR0Z1WFN4Y2JpQWdJQ0JiVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TGs5dVpXaHZkRjA2SUhOMGNtbHVaMFJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlUzUnlhVzVuVFdWMGNtbGpjMDVoYldWekxrOXVaV2h2ZEYwc1hHNGdJSDBzWEc0Z0lGdEVhWE4wWVc1alpVMWxkSEpwWTNOVGRXSnFaV04wY3k1Q2FYUkJjbkpoZVYwNklIdGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVWR0Z1YVcxdmRHOWRPaUJpYVhSQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVWR0Z1YVcxdmRHOWRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVFYVdObFhUb2dZbWwwUVhKeVlYbEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrUnBZMlZkTEZ4dUlDQWdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1QmMzbHRiV1YwY21salhUb2dZbWwwUVhKeVlYbEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrRnplVzF0WlhSeWFXTmRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVDY21GMWJrSnNZVzV4ZFdWMFhUb2dZbWwwUVhKeVlYbEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrSnlZWFZ1UW14aGJuRjFaWFJkTEZ4dUlDQWdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RGIzTnBibVZkT2lCaWFYUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UTI5emFXNWxYU3hjYmlBZ0lDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UzNWc1kzcDVibk5yYVYwNklHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1TGRXeGplbmx1YzJ0cFhTeGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVUV05EYjI1dVlYVm5hR1Y1WFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGsxalEyOXVibUYxWjJobGVWMHNYRzRnSUNBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbEp2WjI5MFIyOXNaR0psY21kZE9pQmlhWFJCY25KaGVVUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVVtOW5iM1JIYjJ4a1ltVnlaMTBzWEc0Z0lDQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxKMWMzTmxiRjA2SUdKcGRFRnljbUY1UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVTZFhOelpXeGRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVUYjJ0aGJGMDZJR0pwZEVGeWNtRjVSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVRiMnRoYkYwc1hHNGdJSDBzWEc0Z0lGdEVhWE4wWVc1alpVMWxkSEpwWTNOVGRXSnFaV04wY3k1TllXTnliMDF2YkdWamRXeGxYVG9nZXlBdkx5QnZjSFJwYjI1aGJDQmhjbWR6SUc1bFpXUmxaQ0JtYjNJZ2JXRmpjbTl0YjJ4bFkzVnNaU0JtZFc1amRHbHZibk1nZDJocFkyZ2dhVzVwZEdsaGJHbDZaU0IwYUdWdFhHNGdJQ0FnVzAxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVJUVUxTlNVNUhYVG9nYlcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzF0TmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE11U0VGTlRVbE9SMTBzWEc0Z0lDQWdXMDF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NU1SVlpGVGxOSVZFVkpUbDA2SUcxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OYlRXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6TGt4RlZrVk9VMGhVUlVsT1hTeGNiaUFnSUNCYlRXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6TGs1RlJVUk1SVTFCVGs1ZlYxVk9VME5JWFRvZ2JXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMxdE5iVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpUbUZ0WlhNdVRrVkZSRXhGVFVGT1RsOVhWVTVUUTBoZExGeHVJQ0FnSUZ0TmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE11VFU5T1QwMUZVbDlEU0VWTlNVTkJURjlFU1ZOVVFVNURSVjA2WEc0Z0lDQWdJQ0J0YlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VzAxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVOVDA1UFRVVlNYME5JUlUxSlEwRk1YMFJKVTFSQlRrTkZYU3hjYmlBZ2ZTeGNiaUFnVzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMazUxYldKbGNsMDZJSHRjYmlBZ0lDQmJUblZ0WW1WeVRXVjBjbWxqYzA1aGJXVnpMa1JwWm1abGNtVnVZMlZkT2lCdWRXMWlaWEpFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwNTFiV0psY2sxbGRISnBZM05PWVcxbGN5NUVhV1ptWlhKbGJtTmxYU3hjYmlBZ2ZTeGNiaUFnVzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMa2x1ZEVGeWNtRjVYVG9nZTF4dUlDQWdJRnRKYm5SQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VVlXNXBiVzkwYjBsdWRFRnljbUY1WFRvZ2FXNTBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMGx1ZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxSaGJtbHRiM1J2U1c1MFFYSnlZWGxkTEZ4dUlDQjlYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVFdWMGNtbGpWRzlFWVhSaFZIbHdaVG9nVTNSeWFXNW5SR2xqZEdsdmJtRnllU0E5SUU5aWFtVmpkQzVyWlhsektFRjJZV2xzWVdKc1pVMWxkSEpwWTNNcFhHNGdJQzV5WldSMVkyVW9LSEpsZERvZ1UzUnlhVzVuUkdsamRHbHZibUZ5ZVN3Z2EyVjVLU0E5UGlCN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCMllXd2diMllnVDJKcVpXTjBMbXRsZVhNb1FYWmhhV3hoWW14bFRXVjBjbWxqYzF0clpYa2dZWE1nUVhaaGFXeGhZbXhsUkdGMFlWUjVjR1Z6WFNrcFhHNGdJQ0FnSUNCeVpYUmJkbUZzSUdGeklFRjJZV2xzWVdKc1pVUmhkR0ZVZVhCbGMxMGdQU0JyWlhrN1hHNWNiaUFnSUNCeVpYUjFjbTRnY21WME8xeHVJQ0I5TENCN2ZTazdYRzVjYm1WNGNHOXlkQ0IwZVhCbElFRjJZV2xzWVdKc1pVUmhkR0ZVZVhCbGN5QTlJR3RsZVc5bUlIUjVjR1Z2WmlCQmRtRnBiR0ZpYkdWTlpYUnlhV056TzF4dVpYaHdiM0owSUhSNWNHVWdWbVZqZEc5eVRXVjBjbWxqY3lBOUlHdGxlVzltSUhSNWNHVnZaaUJCZG1GcGJHRmliR1ZOWlhSeWFXTnpXMFJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxsWmxZM1J2Y2wwN1hHNWxlSEJ2Y25RZ2RIbHdaU0JUZEhKcGJtZE5aWFJ5YVdOeklEMGdhMlY1YjJZZ2RIbHdaVzltSUVGMllXbHNZV0pzWlUxbGRISnBZM05iUkdsemRHRnVZMlZOWlhSeWFXTnpVM1ZpYW1WamRITXVVM1J5YVc1blhUdGNibVY0Y0c5eWRDQjBlWEJsSUVKcGRFRnljbUY1VFdWMGNtbGpjeUE5SUd0bGVXOW1JSFI1Y0dWdlppQkJkbUZwYkdGaWJHVk5aWFJ5YVdOelcwUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TGtKcGRFRnljbUY1WFR0Y2JtVjRjRzl5ZENCMGVYQmxJRXR1YjNkdVRXVjBjbWxqY3lBOUlGTjBjbWx1WjAxbGRISnBZM01nZkNCQ2FYUkJjbkpoZVUxbGRISnBZM01nZkNCV1pXTjBiM0pOWlhSeWFXTnpJSHhjYmlBZ1RXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6SUh3Z1RuVnRZbVZ5VFdWMGNtbGpjMDVoYldWeklId2dTVzUwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE03WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRlpoYkdsa1ZIbHdaWE1nUFZ4dUlDQjdJR1JoZEdFNklITjBjbWx1WjF0ZExDQnRaWFJ5YVdNNklGTjBjbWx1WjAxbGRISnBZM01nZkNCTmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE1nZlNCOFhHNGdJSHNnWkdGMFlUb2dWbVZqZEc5eVcxMHNJRzFsZEhKcFl6b2dWbVZqZEc5eVRXVjBjbWxqY3lCOUlIeGNiaUFnZXlCa1lYUmhPaUJDYVhSQmNuSmhlVnRkTENCdFpYUnlhV002SUVKcGRFRnljbUY1VFdWMGNtbGpjeUI5SUh4Y2JpQWdleUJrWVhSaE9pQnVkVzFpWlhKYlhTd2diV1YwY21sak9pQk9kVzFpWlhKTlpYUnlhV056VG1GdFpYTWdmVHRjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdselUzUnlhVzVuVFdWMGNtbGpLRzVoYldVNklFdHViM2R1VFdWMGNtbGpjeWtnZTF4dUlDQnlaWFIxY200Z1RXVjBjbWxqVkc5RVlYUmhWSGx3WlZ0dVlXMWxYU0E5UFNBblUzUnlhVzVuSnp0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2x6UW1sMFFYSnlZWGxOWlhSeWFXTW9ibUZ0WlRvZ1MyNXZkMjVOWlhSeWFXTnpLU0I3WEc0Z0lISmxkSFZ5YmlCTlpYUnlhV05VYjBSaGRHRlVlWEJsVzI1aGJXVmRJRDA5SUNkQ2FYUkJjbkpoZVNjN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJwYzFabFkzUnZjazFsZEhKcFl5aHVZVzFsT2lCTGJtOTNiazFsZEhKcFkzTXBJSHRjYmlBZ2NtVjBkWEp1SUUxbGRISnBZMVJ2UkdGMFlWUjVjR1ZiYm1GdFpWMGdQVDBnSjFabFkzUnZjaWM3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMDFoWTNKdlRXOXNaV04xYkdWTlpYUnlhV01vYm1GdFpUb2dTMjV2ZDI1TlpYUnlhV056S1NCN1hHNGdJSEpsZEhWeWJpQk5aWFJ5YVdOVWIwUmhkR0ZVZVhCbFcyNWhiV1ZkSUQwOUlFUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TGsxaFkzSnZUVzlzWldOMWJHVXVkRzlUZEhKcGJtY29LVHRjYm4xY2JseHVMeW9xSUUxaGJtaGhkSFJoYmlCa2FYTjBZVzVqWlNCaVpYUjNaV1Z1SUhSM2J5QnpaWEYxWlc1alpYTWdLRzFoZEdOb0lDMGdNQ3dnYldsemJXRjBZMmdnTFNBeEtTQnViM0p0WVd4cGVtVmtJR1p2Y2lCc1pXNW5kR2d1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXRnVhR0YwZEdGdVJHbHpkR0Z1WTJVb2N6RTZJSE4wY21sdVp5d2djekk2SUhOMGNtbHVaeWs2SUc1MWJXSmxjaUI3WEc0Z0lHbG1JQ2h6TVM1c1pXNW5kR2dnSVQwOUlITXlMbXhsYm1kMGFDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBeE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHeGxkQ0JrYVhOME9pQnVkVzFpWlhJZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F4T3lCcElEd2djekV1YkdWdVozUm9PeUJwS3lzcFhHNGdJQ0FnSUNCa2FYTjBJQ3M5SUhNeFcybGRJRDA5SUhNeVcybGRJRDhnTUNBNklERTdYRzRnSUNBZ2NtVjBkWEp1SUdScGMzUWdMeUJ6TVM1c1pXNW5kR2c3WEc0Z0lIMWNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdOaGRHVm5iM0pwWTJGc1JHbHpkR0Z1WTJVb2N6RTZJSE4wY21sdVp5d2djekk2SUhOMGNtbHVaeWs2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCek1TQTlQVDBnY3pJZ1B5QXdJRG9nTVR0Y2JuMWNibHh1THlvcUlGVnVhV1pwWldRZ1kyeGhjM01nYVcxd2JHVnRaVzUwYVc1bklHUnBabVpsY21WdWRDQnpkSEpwYm1jZ2JXVmhjM1Z5WlhNdUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1RXVmhjM1Z5WlNCN1hHNGdJSEJ5YjNSbFkzUmxaQ0J0WlhSb2IyUTZJRXR1YjNkdVRXVjBjbWxqY3p0Y2JpQWdjSEp2ZEdWamRHVmtJR1JoZEdGVWVYQmxPaUJCZG1GcGJHRmliR1ZFWVhSaFZIbHdaWE03WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpYTWdZVzRnYVc1emRHRnVZMlVnYjJZZ1RXVmhjM1Z5WlNCM2FYUm9JQzVjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHMWxkR2h2WkNCTlpYUm9iMlFnZEc4Z1kyRnNZM1ZzWVhSbElHUnBjM1JoYm1ObElHSmxkSGRsWlc0Z2MzUnlhVzVuY3k1Y2JpQWdJQ29nUUcxbGJXSmxjbTltSUUxbFlYTjFjbVZ5WEc0Z0lDQXFMMXh1SUNCamIyNXpkSEoxWTNSdmNpaHRaWFJvYjJRNklFdHViM2R1VFdWMGNtbGpjeWtnZTF4dUlDQWdJSFJvYVhNdWJXVjBhRzlrSUQwZ2JXVjBhRzlrTzF4dUlDQWdJSFJvYVhNdVpHRjBZVlI1Y0dVZ1BTQk5aWFJ5YVdOVWIwUmhkR0ZVZVhCbFcyMWxkR2h2WkYwZ1lYTWdRWFpoYVd4aFlteGxSR0YwWVZSNWNHVnpPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nWTNWemRHOXRJSE4wY21sdVp5QmthWE4wWVc1alpTQm1kVzVqZEdsdmJpQnpjR1ZqYVdacFpXUXVYRzRnSUNBcUlFQndZWEpoYlNCN2IzQjBjMzBnYjNCMGN5QlBjSFJwYjI1eklHWnZjaUIwYUdVZ2JXVmhjM1Z5WlM0Z2RYTmxaQ0JtYjNJZ2JXRmpjbTl0YjJ4bFkzVnNaU0JrYVhOMFlXNWpaWE5jYmlBZ0lDb2dRSEpsZEhWeWJpQjdSR2x6ZEdGdVkyVk5aWFJ5YVdOOUlFTmhiR3hpWVdOcklHOW1JSFJvWlNCdFpXRnpkWEpsSUdOb2IzTmxiaTVjYmlBZ0lDb2dRRzFsYldKbGNtOW1JRTFsWVhOMWNtVnlYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdaMlYwVFdWaGMzVnlaU2h2Y0hSelB6b2dZVzU1S1RvZ1JHbHpkR0Z1WTJWTlpYUnlhV01nZTF4dUlDQWdJR052Ym5OMElHUnBZM1E2SUhzZ1cydGxlVG9nYzNSeWFXNW5YVHBjYmlBZ0lDQWdJSHRiYTJWNU1qb2djM1J5YVc1blhUb2dSR2x6ZEdGdVkyVk5aWFJ5YVdNZ2ZDQW9LRzl3ZEhNNklHRnVlU2tnUFQ0Z1JHbHpkR0Z1WTJWTlpYUnlhV01wZlZ4dUlDQWdJSDBnUFNCQmRtRnBiR0ZpYkdWTlpYUnlhV056TzF4dUlDQWdJR2xtSUNnaFpHbGpkQzVvWVhOUGQyNVFjbTl3WlhKMGVTaDBhR2x6TG1SaGRHRlVlWEJsS1NCOGZDQWhaR2xqZEZ0MGFHbHpMbVJoZEdGVWVYQmxYUzVvWVhOUGQyNVFjbTl3WlhKMGVTaDBhR2x6TG0xbGRHaHZaQ2twWEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRlZ1YTI1dmQyNGdiV1ZoYzNWeVpTQWtlM1JvYVhNdWJXVjBhRzlrZlNCbWIzSWdaR0YwWVNCMGVYQmxJQ1I3ZEdocGN5NWtZWFJoVkhsd1pYMWdLVHRjYmlBZ0lDQnlaWFIxY200Z2FYTk5ZV055YjAxdmJHVmpkV3hsVFdWMGNtbGpLSFJvYVhNdWJXVjBhRzlrS1NBL1hHNGdJQ0FnSUNBb1pHbGpkRnQwYUdsekxtUmhkR0ZVZVhCbFhWdDBhR2x6TG0xbGRHaHZaRjBnWVhNZ0tDaHZjSFJ6T2lCaGJua3BJRDArSUVScGMzUmhibU5sVFdWMGNtbGpLU2tvYjNCMGN5a2dPbHh1SUNBZ0lDQWdaR2xqZEZ0MGFHbHpMbVJoZEdGVWVYQmxYVnQwYUdsekxtMWxkR2h2WkYwZ1lYTWdSR2x6ZEdGdVkyVk5aWFJ5YVdNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QmpkWE4wYjIwZ2MzUnlhVzVuSUdScGMzUmhibU5sSUdKNUlIUm9aU0JuYVhabGJpQmtZWFJoSUhSNWNHVXVYRzRnSUNBcUlFQndZWEpoYlNCN1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWemZTQmtZWFJoVkhsd1pTQk5aWFJ5YVdNbmN5QmtZWFJoSUhSNWNHVmNiaUFnSUNvZ1FISmxkSFZ5YmlCN2MzUnlhVzVuVzExOUlFMWxkSEpwWXlCdVlXMWxjeUIzYUdsamFDQmxlSEJsWTNSeklIUm9aU0JuYVhabGJpQmtZWFJoSUhSNWNHVmNiaUFnSUNvZ1FHMWxiV0psY205bUlFMWxZWE4xY21WeVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2MzUmhkR2xqSUdkbGRFMWxkSEpwWTBKNVJHRjBZVlI1Y0dVb1pHRjBZVlI1Y0dVNklFRjJZV2xzWVdKc1pVUmhkR0ZVZVhCbGN5azZJSE4wY21sdVoxdGRJSHRjYmlBZ0lDQnlaWFIxY200Z1QySnFaV04wTG10bGVYTW9RWFpoYVd4aFlteGxUV1YwY21samMxdGtZWFJoVkhsd1pWMHBPMXh1SUNCOVhHNWNiaUFnTHlvcUlGSmxkSFZ5Ym5NZ2JXVjBjbWxqSUc1aGJXVnpJR0YyWVdsc1lXSnNaUzVjYmlBZ0lDb2dRRzFsYldKbGNtOW1JRTFsWVhOMWNtVnlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdaMlYwSUdGMllXbHNZV0pzWlUxbFlYTjFjbVZ6S0NrNklITjBjbWx1WjF0ZElIdGNiaUFnSUNCeVpYUjFjbTRnVDJKcVpXTjBMbXRsZVhNb1FYWmhhV3hoWW14bFRXVjBjbWxqY3lrN1hHNGdJSDFjYm4xY2JpSmRmUT09IiwiZXhwb3J0IHZhciBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcztcbihmdW5jdGlvbiAoRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMpIHtcbiAgICBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kc1tcIkVVQ0xJREVBTlwiXSA9IFwiRVVDTElERUFOXCI7XG4gICAgRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHNbXCJNQU5IQVRUQU5cIl0gPSBcIk1BTkhBVFRBTlwiO1xufSkoRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMgfHwgKERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzID0ge30pKTtcbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRIbHdaWE11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjBlWEJsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hOUVVGTkxFTkJRVTRzU1VGQldTd3dRa0ZIVkR0QlFVaElMRmRCUVZrc01FSkJRVEJDTzBsQlEyeERMSEZFUVVGMVFpeERRVUZCTzBsQlEzWkNMSEZFUVVGMVFpeERRVUZCTzBGQlEzcENMRU5CUVVNc1JVRklVeXd3UWtGQk1FSXNTMEZCTVVJc01FSkJRVEJDTEZGQlIyNURPMEZCUVVFc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1WNGNHOXlkQ0JsYm5WdElFUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNU5aWFJvYjJSeklIdGNiaUFnSUNCRlZVTk1TVVJGUVU0Z1BTQW5SVlZEVEVsRVJVRk9KeXhjYmlBZ0lDQk5RVTVJUVZSVVFVNGdQU0FuVFVGT1NFRlVWRUZPSnl4Y2JpQWdmVHRjYmx4dVpYaHdiM0owSUhSNWNHVWdSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpDQTlJR3RsZVc5bUlIUjVjR1Z2WmlCRWFYTjBZVzVqWlVGblozSmxaMkYwYVc5dVRXVjBhRzlrY3p0Y2JpSmRmUT09IiwiaW1wb3J0IHsgRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMgfSBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCBjb25zdCBpc05pbCA9ICh4KSA9PiB4ID09PSBudWxsIHx8IHggPT09IHVuZGVmaW5lZDtcbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRTbWFsbGVyKGRpc3RhbmNlc0FyLCBpbmRleGVzLCBudW0sIGluZGV4KSB7XG4gICAgaWYgKG51bSA+IGRpc3RhbmNlc0FyW2Rpc3RhbmNlc0FyLmxlbmd0aCAtIDFdKVxuICAgICAgICByZXR1cm47XG4gICAgY29uc3QgbmV3UG9zaXRpb24gPSBkaXN0YW5jZXNBci5maW5kSW5kZXgoKHYpID0+IG51bSA8IHYpO1xuICAgIGRpc3RhbmNlc0FyLnBvcCgpO1xuICAgIGRpc3RhbmNlc0FyLnNwbGljZShuZXdQb3NpdGlvbiwgMCwgbnVtKTtcbiAgICBpbmRleGVzLnBvcCgpO1xuICAgIGluZGV4ZXMuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBpbmRleCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0TGFyZ2VyKGRpc3RhbmNlc0FyLCBpbmRleGVzLCBudW0sIGluZGV4KSB7XG4gICAgaWYgKG51bSA8IGRpc3RhbmNlc0FyW2Rpc3RhbmNlc0FyLmxlbmd0aCAtIDFdKVxuICAgICAgICByZXR1cm47XG4gICAgY29uc3QgbmV3UG9zaXRpb24gPSBkaXN0YW5jZXNBci5maW5kSW5kZXgoKHYpID0+IG51bSA+IHYpO1xuICAgIGRpc3RhbmNlc0FyLnBvcCgpO1xuICAgIGRpc3RhbmNlc0FyLnNwbGljZShuZXdQb3NpdGlvbiwgMCwgbnVtKTtcbiAgICBpbmRleGVzLnBvcCgpO1xuICAgIGluZGV4ZXMuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBpbmRleCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0QWdncmVnYXRpb25GdW5jdGlvbihhZ2dyZWdhdGlvbk1ldGhvZCwgd2VpZ2h0cykge1xuICAgIHN3aXRjaCAoYWdncmVnYXRpb25NZXRob2QpIHtcbiAgICAgICAgY2FzZSBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcy5NQU5IQVRUQU46XG4gICAgICAgICAgICByZXR1cm4gKHZzKSA9PiB2cy5yZWR1Y2UoKGFjYywgdmFsLCBpZHgpID0+IGFjYyArIHZhbCAqIHdlaWdodHNbaWR4XSwgMCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gKHZzKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gZXVjbGlkZWFuXG4gICAgICAgICAgICAgICAgY29uc3Qgc3VtID0gdnMucmVkdWNlKChhY2MsIHZhbCwgaWR4KSA9PiBhY2MgKyAodmFsICogd2VpZ2h0c1tpZHhdKSAqKiAyLCAwKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KHN1bSk7XG4gICAgICAgICAgICB9O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRYUnBiSE11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjFkR2xzY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hQUVVGUExFVkJRVFJDTERCQ1FVRXdRaXhGUVVGRExFMUJRVTBzVTBGQlV5eERRVUZETzBGQlJUbEZMRTFCUVUwc1EwRkJReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhMUVVGTExFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NVMEZCVXl4RFFVRkRPMEZCUlM5RUxFMUJRVTBzVlVGQlZTeGhRVUZoTEVOQlFVTXNWMEZCY1VJc1JVRkJSU3hQUVVGcFFpeEZRVUZGTEVkQlFWY3NSVUZCUlN4TFFVRmhPMGxCUTJoSExFbEJRVWtzUjBGQlJ5eEhRVUZITEZkQlFWY3NRMEZCUXl4WFFVRlhMRU5CUVVNc1RVRkJUU3hIUVVGRExFTkJRVU1zUTBGQlF6dFJRVU42UXl4UFFVRlBPMGxCUlZRc1RVRkJUU3hYUVVGWExFZEJRVWNzVjBGQlZ5eERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUXpGRUxGZEJRVmNzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVTnNRaXhYUVVGWExFTkJRVU1zVFVGQlRTeERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGVFTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRE8wbEJRMlFzVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJReXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzBGQlEzaERMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzV1VGQldTeERRVUZETEZkQlFYRkNMRVZCUVVVc1QwRkJhVUlzUlVGQlJTeEhRVUZYTEVWQlFVVXNTMEZCWVR0SlFVTXZSaXhKUVVGSkxFZEJRVWNzUjBGQlJ5eFhRVUZYTEVOQlFVTXNWMEZCVnl4RFFVRkRMRTFCUVUwc1IwRkJReXhEUVVGRExFTkJRVU03VVVGRGVrTXNUMEZCVHp0SlFVVlVMRTFCUVUwc1YwRkJWeXhIUVVGSExGZEJRVmNzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTXhSQ3hYUVVGWExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTTdTVUZEYkVJc1YwRkJWeXhEUVVGRExFMUJRVTBzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRM2hETEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVOa0xFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dEJRVU40UXl4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxITkNRVUZ6UWl4RFFVTndReXhwUWtGQk5FTXNSVUZCUlN4UFFVRnBRanRKUVVVdlJDeFJRVUZSTEdsQ1FVRnBRaXhGUVVGRk8xRkJRM3BDTEV0QlFVc3NNRUpCUVRCQ0xFTkJRVU1zVTBGQlV6dFpRVU4yUXl4UFFVRlBMRU5CUVVNc1JVRkJXU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFZEJRVWNzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM0pHTzFsQlEwVXNUMEZCVHl4RFFVRkRMRVZCUVZrc1JVRkJSU3hGUVVGRk8yZENRVU4wUWl4WlFVRlpPMmRDUVVOYUxFMUJRVTBzUjBGQlJ5eEhRVUZITEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkROMFVzVDBGQlR5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM2hDTEVOQlFVTXNRMEZCUXp0TFFVTk1PMEZCUTBnc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3UkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaQ3dnUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaSE45SUdaeWIyMGdKeTR2ZEhsd1pYTW5PMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdhWE5PYVd3Z1BTQW9lRG9nWVc1NUtTQTlQaUI0SUQwOVBTQnVkV3hzSUh4OElIZ2dQVDA5SUhWdVpHVm1hVzVsWkR0Y2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHVjMlZ5ZEZOdFlXeHNaWElvWkdsemRHRnVZMlZ6UVhJNklHNTFiV0psY2x0ZExDQnBibVJsZUdWek9pQnVkVzFpWlhKYlhTd2diblZ0T2lCdWRXMWlaWElzSUdsdVpHVjRPaUJ1ZFcxaVpYSXBJSHRjYmlBZ2FXWWdLRzUxYlNBK0lHUnBjM1JoYm1ObGMwRnlXMlJwYzNSaGJtTmxjMEZ5TG14bGJtZDBhQzB4WFNsY2JpQWdJQ0J5WlhSMWNtNDdYRzVjYmlBZ1kyOXVjM1FnYm1WM1VHOXphWFJwYjI0Z1BTQmthWE4wWVc1alpYTkJjaTVtYVc1a1NXNWtaWGdvS0hZcElEMCtJRzUxYlNBOElIWXBPMXh1SUNCa2FYTjBZVzVqWlhOQmNpNXdiM0FvS1R0Y2JpQWdaR2x6ZEdGdVkyVnpRWEl1YzNCc2FXTmxLRzVsZDFCdmMybDBhVzl1TENBd0xDQnVkVzBwTzF4dUlDQnBibVJsZUdWekxuQnZjQ2dwTzF4dUlDQnBibVJsZUdWekxuTndiR2xqWlNodVpYZFFiM05wZEdsdmJpd2dNQ3dnYVc1a1pYZ3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FXNXpaWEowVEdGeVoyVnlLR1JwYzNSaGJtTmxjMEZ5T2lCdWRXMWlaWEpiWFN3Z2FXNWtaWGhsY3pvZ2JuVnRZbVZ5VzEwc0lHNTFiVG9nYm5WdFltVnlMQ0JwYm1SbGVEb2diblZ0WW1WeUtTQjdYRzRnSUdsbUlDaHVkVzBnUENCa2FYTjBZVzVqWlhOQmNsdGthWE4wWVc1alpYTkJjaTVzWlc1bmRHZ3RNVjBwWEc0Z0lDQWdjbVYwZFhKdU8xeHVYRzRnSUdOdmJuTjBJRzVsZDFCdmMybDBhVzl1SUQwZ1pHbHpkR0Z1WTJWelFYSXVabWx1WkVsdVpHVjRLQ2gyS1NBOVBpQnVkVzBnUGlCMktUdGNiaUFnWkdsemRHRnVZMlZ6UVhJdWNHOXdLQ2s3WEc0Z0lHUnBjM1JoYm1ObGMwRnlMbk53YkdsalpTaHVaWGRRYjNOcGRHbHZiaXdnTUN3Z2JuVnRLVHRjYmlBZ2FXNWtaWGhsY3k1d2IzQW9LVHRjYmlBZ2FXNWtaWGhsY3k1emNHeHBZMlVvYm1WM1VHOXphWFJwYjI0c0lEQXNJR2x1WkdWNEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdkbGRFRm5aM0psWjJGMGFXOXVSblZ1WTNScGIyNG9YRzRnSUdGblozSmxaMkYwYVc5dVRXVjBhRzlrT2lCRWFYTjBZVzVqWlVGblozSmxaMkYwYVc5dVRXVjBhRzlrTENCM1pXbG5hSFJ6T2lCdWRXMWlaWEpiWFZ4dUtUb2dLSFpoYkhWbGN6b2diblZ0WW1WeVcxMHBJRDArSUc1MWJXSmxjaUI3WEc0Z0lITjNhWFJqYUNBb1lXZG5jbVZuWVhScGIyNU5aWFJvYjJRcElIdGNiaUFnSUNCallYTmxJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUnpMazFCVGtoQlZGUkJUanBjYmlBZ0lDQWdJSEpsZEhWeWJpQW9kbk02SUc1MWJXSmxjbHRkS1NBOVBpQjJjeTV5WldSMVkyVW9LR0ZqWXl3Z2RtRnNMQ0JwWkhncElEMCtJR0ZqWXlBcklIWmhiQ0FxSUhkbGFXZG9kSE5iYVdSNFhTd2dNQ2s3WEc0Z0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lISmxkSFZ5YmlBb2RuTTZJRzUxYldKbGNsdGRLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDOHZJR1YxWTJ4cFpHVmhibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQnpkVzBnUFNCMmN5NXlaV1IxWTJVb0tHRmpZeXdnZG1Gc0xDQnBaSGdwSUQwK0lHRmpZeUFySUNoMllXd2dLaUIzWldsbmFIUnpXMmxrZUYwcElDb3FJRElzSURBcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1RXRjBhQzV6Y1hKMEtITjFiU2s3WEc0Z0lDQWdJQ0I5TzF4dUlDQjlYRzU5WEc0aVhYMD0iLCJleHBvcnQgY2xhc3MgRGlzdGFuY2VNYXRyaXhTZXJ2aWNlIHtcbiAgICBfd29ya2VycztcbiAgICBfd29ya2VyQ291bnQ7XG4gICAgX3Rlcm1pbmF0ZU9uQ29tcGxldGU7XG4gICAgY29uc3RydWN0b3IodXNlQ29uY3VycmVudFdvcmtlcnMgPSB0cnVlLCB0ZXJtaW5hdGVPbkNvbXBsZXRlID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCB0aHJlYWRDb3VudCA9IG5hdmlnYXRvci5oYXJkd2FyZUNvbmN1cnJlbmN5O1xuICAgICAgICB0aGlzLl93b3JrZXJDb3VudCA9IHVzZUNvbmN1cnJlbnRXb3JrZXJzID8gTWF0aC5tYXgodGhyZWFkQ291bnQgLSAyLCAxKSA6IDE7XG4gICAgICAgIHRoaXMuX3dvcmtlcnMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpLmZpbGwobnVsbClcbiAgICAgICAgICAgIC5tYXAoKCkgPT4gbmV3IFdvcmtlcihuZXcgVVJMKCcuL2Rpc3RhbmNlLW1hdHJpeC13b3JrZXInLCBpbXBvcnQubWV0YS51cmwpKSk7XG4gICAgICAgIHRoaXMuX3Rlcm1pbmF0ZU9uQ29tcGxldGUgPSB0ZXJtaW5hdGVPbkNvbXBsZXRlO1xuICAgIH1cbiAgICA7XG4gICAgYXN5bmMgY2FsYyh2YWx1ZXMsIGZuTmFtZSwgbm9ybWFsaXplID0gdHJ1ZSwgb3B0cykge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBsZW4gPSB2YWx1ZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb21pc2VzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbExlbmd0aCA9IGxlbiAqIChsZW4gLSAxKSAvIDI7IC8vIHNpemUgb2YgcmVkdWNlZCBkaXN0YW5jZSBtYXRyaXhcbiAgICAgICAgICAgICAgICB0aGlzLl93b3JrZXJDb3VudCA9IE1hdGgubWluKHRoaXMuX3dvcmtlckNvdW50LCB0b3RhbExlbmd0aCk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2h1bmtTaXplID0gdG90YWxMZW5ndGggLyB0aGlzLl93b3JrZXJDb3VudDtcbiAgICAgICAgICAgICAgICBjb25zdCBkaXN0YW5jZU1hdHJpeCA9IG5ldyBGbG9hdDMyQXJyYXkodG90YWxMZW5ndGgpO1xuICAgICAgICAgICAgICAgIGxldCBlbmRSb3cgPSAwO1xuICAgICAgICAgICAgICAgIGxldCBlbmRDb2wgPSAxO1xuICAgICAgICAgICAgICAgIC8vIG1pbm1heCBmb3Igbm9ybWFsaXphdGlvblxuICAgICAgICAgICAgICAgIGxldCBsbWluID0gMDtcbiAgICAgICAgICAgICAgICBsZXQgbG1heCA9IE51bWJlci5NSU5fVkFMVUU7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl93b3JrZXJDb3VudDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gTWF0aC5mbG9vcihpICogY2h1bmtTaXplKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kID0gKGkgPT09IHRoaXMuX3dvcmtlckNvdW50IC0gMSkgPyB0b3RhbExlbmd0aCA6IE1hdGguZmxvb3IoKGkgKyAxKSAqIGNodW5rU2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0Um93ID0gZW5kUm93O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydENvbCA9IGVuZENvbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgIT09IHRoaXMuX3dvcmtlckNvdW50IC0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlc2UgZm9ybXVsYXMgbWFwIHRoZSBsaW5lYXIgaW5kZXggdG8gdGhlIHVwcGVyIHRyaWFuZ3VsYXIgbWF0cml4IGluZGljZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZFJvdyA9IGxlbiAtIDIgLSBNYXRoLmZsb29yKE1hdGguc3FydCgtOCAqIGVuZCArIDQgKiBsZW4gKiAobGVuIC0gMSkgLSA3KSAvIDIgLSAwLjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZW5kQ29sID0gZW5kIC0gbGVuICogZW5kUm93ICsgTWF0aC5mbG9vcigoZW5kUm93ICsgMSkgKiAoZW5kUm93ICsgMikgLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl93b3JrZXJzW2ldLnBvc3RNZXNzYWdlKHsgdmFsdWVzLCBmbk5hbWUsIHN0YXJ0Um93LCBzdGFydENvbCwgY2h1bmNrU2l6ZTogZW5kIC0gc3RhcnQsIG9wdHMgfSk7XG4gICAgICAgICAgICAgICAgICAgIHByb21pc2VzW2ldID0gbmV3IFByb21pc2UoKHJlc29sdmVXb3JrZXIsIHJlamVjdFdvcmtlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fd29ya2Vyc1tpXS5vbm1lc3NhZ2UgPSAoeyBkYXRhOiB7IGVycm9yLCBkaXN0YW5jZU1hdHJpeERhdGEsIG1pbiwgbWF4IH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rlcm1pbmF0ZU9uQ29tcGxldGUgJiYgdGhpcy5fd29ya2Vyc1tpXS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0V29ya2VyKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlTWF0cml4LnNldChkaXN0YW5jZU1hdHJpeERhdGEsIHN0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1pbiA8IGxtaW4pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbWluID0gbWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF4ID4gbG1heClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxtYXggPSBtYXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgICAgICAgICAgICAgIGlmIChub3JtYWxpemUpXG4gICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlTWF0cml4LmZvckVhY2goKHZhbHVlLCBpbmRleCkgPT4geyBkaXN0YW5jZU1hdHJpeFtpbmRleF0gPSAodmFsdWUgLSBsbWluKSAvIChsbWF4IC0gbG1pbik7IH0pO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoZGlzdGFuY2VNYXRyaXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB0ZXJtaW5hdGUoKSB7XG4gICAgICAgIHRoaXMuX3dvcmtlcnMuZm9yRWFjaCgod29ya2VyKSA9PiB3b3JrZXIudGVybWluYXRlKCkpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVpHbHpkR0Z1WTJVdGJXRjBjbWw0TFhObGNuWnBZMlV1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SmthWE4wWVc1alpTMXRZWFJ5YVhndGMyVnlkbWxqWlM1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkZRU3hOUVVGTkxFOUJRVThzY1VKQlFYRkNPMGxCUTNSQ0xGRkJRVkVzUTBGQlZ6dEpRVU51UWl4WlFVRlpMRU5CUVZNN1NVRkRja0lzYjBKQlFXOUNMRU5CUVZVN1NVRkRkRU1zV1VGQmJVSXNiMEpCUVc5Q0xFZEJRVWNzU1VGQlNTeEZRVUZGTEcxQ1FVRnRRaXhIUVVGSExFbEJRVWs3VVVGRGVFVXNUVUZCVFN4WFFVRlhMRWRCUVVjc1UwRkJVeXhEUVVGRExHMUNRVUZ0UWl4RFFVRkRPMUZCUTJ4RUxFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NiMEpCUVc5Q0xFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1YwRkJWeXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRelZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU03WVVGRGNFUXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzVFVGQlRTeERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMREJDUVVFd1FpeEZRVUZGTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF5OUZMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNSMEZCUnl4dFFrRkJiVUlzUTBGQlF6dEpRVU5zUkN4RFFVRkRPMGxCUVVFc1EwRkJRenRKUVVWTExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVa3NUVUZCSzBJc1JVRkJSU3hOUVVGdlFpeEZRVU40UlN4VFFVRlRMRWRCUVVjc1NVRkJTU3hGUVVGRkxFbEJRWGxDTzFGQlF6TkRMRTlCUVU4c1NVRkJTU3hQUVVGUExFTkJRVU1zUzBGQlN5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVVc1JVRkJSVHRaUVVNelF5eEpRVUZKTzJkQ1FVTkdMRTFCUVUwc1IwRkJSeXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTTdaMEpCUXpGQ0xFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NTMEZCU3l4RFFVRm5RaXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdaMEpCUXpkRUxFMUJRVTBzVjBGQlZ5eEhRVUZITEVkQlFVY3NSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4clEwRkJhME03WjBKQlF6TkZMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRkxGZEJRVmNzUTBGQlF5eERRVUZETzJkQ1FVTTNSQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJRenRuUWtGRGJFUXNUVUZCVFN4alFVRmpMRWRCUVVjc1NVRkJTU3haUVVGWkxFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTTdaMEpCUTNKRUxFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXp0blFrRkRaaXhKUVVGSkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTTdaMEpCUTJZc01rSkJRVEpDTzJkQ1FVTXpRaXhKUVVGSkxFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTTdaMEpCUTJJc1NVRkJTU3hKUVVGSkxFZEJRVWNzVFVGQlRTeERRVUZETEZOQlFWTXNRMEZCUXp0blFrRkROVUlzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN2IwSkJRekZETEUxQlFVMHNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4RFFVRkRPMjlDUVVONFF5eE5RVUZOTEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zV1VGQldTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUVVNN2IwSkJRekZHTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1EwRkJRenR2UWtGRGVFSXNUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hEUVVGRE8yOUNRVU40UWl4SlFVRkpMRU5CUVVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zV1VGQldTeEhRVUZITEVOQlFVTXNSVUZCUlR0M1FrRkRMMElzTmtWQlFUWkZPM2RDUVVNM1JTeE5RVUZOTEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzNkQ1FVTjJSaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eEhRVUZITEVkQlFVY3NSMEZCUnl4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenR4UWtGRE0wVTdiMEpCUTBRc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJReXhOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEZGQlFWRXNSVUZCUlN4UlFVRlJMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFZEJRVWNzUjBGQlJ5eExRVUZMTEVWQlFVVXNTVUZCU1N4RlFVRkRMRU5CUVVNc1EwRkJRenR2UWtGRGJFY3NVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVTXNZVUZCWVN4RlFVRkZMRmxCUVZrc1JVRkJSU3hGUVVGRk8zZENRVU40UkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTXNSMEZCUnl4RFFVRkRMRVZCUVVNc1NVRkJTU3hGUVVGRkxFVkJRVU1zUzBGQlN5eEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVTXNSVUZCUXl4RlFVRlJMRVZCUVVVN05FSkJRMjVHTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzU1VGQlNTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZET3pSQ1FVTXhSQ3hKUVVGSkxFdEJRVXNzUlVGQlJUdG5RMEZEVkN4WlFVRlpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03TmtKQlEzSkNPMmxEUVVGTk8yZERRVU5NTEdOQlFXTXNRMEZCUXl4SFFVRkhMRU5CUVVNc2EwSkJRV3RDTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1owTkJRemxETEVsQlFVa3NSMEZCUnl4SFFVRkhMRWxCUVVrN2IwTkJRMW9zU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXp0blEwRkRZaXhKUVVGSkxFZEJRVWNzUjBGQlJ5eEpRVUZKTzI5RFFVTmFMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU03WjBOQlEySXNZVUZCWVN4RlFVRkZMRU5CUVVNN05rSkJRMnBDTzNkQ1FVTklMRU5CUVVNc1EwRkJRenR2UWtGRFNpeERRVUZETEVOQlFVTXNRMEZCUXp0cFFrRkRTanRuUWtGRFJDeE5RVUZOTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03WjBKQlF6VkNMRWxCUVVrc1UwRkJVenR2UWtGRFdDeGpRVUZqTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1MwRkJTeXhGUVVGRkxFdEJRVXNzUlVGQlJTeEZRVUZGTEVkQlFVY3NZMEZCWXl4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM2hITEU5QlFVOHNRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJRenRoUVVONlFqdFpRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZPMmRDUVVOV0xFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTllPMUZCUTBnc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRFRDeERRVUZETzBsQlJVMHNVMEZCVXp0UlFVTmtMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUVVVc1EwRkJReXhOUVVGTkxFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTjRSQ3hEUVVGRE8wTkJRMG9pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZTB0dWIzZHVUV1YwY21samMzMGdabkp2YlNBbkxpNHZkSGx3WldRdGJXVjBjbWxqY3ljN1hHNWNibVY0Y0c5eWRDQmpiR0Z6Y3lCRWFYTjBZVzVqWlUxaGRISnBlRk5sY25acFkyVWdlMXh1SUNBZ0lIQnlhWFpoZEdVZ1gzZHZjbXRsY25NNklGZHZjbXRsY2x0ZE8xeHVJQ0FnSUhCeWFYWmhkR1VnWDNkdmNtdGxja052ZFc1ME9pQnVkVzFpWlhJN1hHNGdJQ0FnY0hKcGRtRjBaU0JmZEdWeWJXbHVZWFJsVDI1RGIyMXdiR1YwWlRvZ1ltOXZiR1ZoYmp0Y2JpQWdJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvZFhObFEyOXVZM1Z5Y21WdWRGZHZjbXRsY25NZ1BTQjBjblZsTENCMFpYSnRhVzVoZEdWUGJrTnZiWEJzWlhSbElEMGdkSEoxWlNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnZEdoeVpXRmtRMjkxYm5RZ1BTQnVZWFpwWjJGMGIzSXVhR0Z5WkhkaGNtVkRiMjVqZFhKeVpXNWplVHRjYmlBZ0lDQWdJSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBJRDBnZFhObFEyOXVZM1Z5Y21WdWRGZHZjbXRsY25NZ1B5Qk5ZWFJvTG0xaGVDaDBhSEpsWVdSRGIzVnVkQ0F0SURJc0lERXBJRG9nTVR0Y2JpQWdJQ0FnSUhSb2FYTXVYM2R2Y210bGNuTWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTG1acGJHd29iblZzYkNsY2JpQWdJQ0FnSUNBZ0xtMWhjQ2dvS1NBOVBpQnVaWGNnVjI5eWEyVnlLRzVsZHlCVlVrd29KeTR2WkdsemRHRnVZMlV0YldGMGNtbDRMWGR2Y210bGNpY3NJR2x0Y0c5eWRDNXRaWFJoTG5WeWJDa3BLVHRjYmlBZ0lDQWdJSFJvYVhNdVgzUmxjbTFwYm1GMFpVOXVRMjl0Y0d4bGRHVWdQU0IwWlhKdGFXNWhkR1ZQYmtOdmJYQnNaWFJsTzF4dUlDQWdJSDA3WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdZWE41Ym1NZ1kyRnNZenhVUGloMllXeDFaWE02SUVGeWNtRjVQRlErSUh3Z1FYSnlZWGxNYVd0bFBGUStMQ0JtYms1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3l4Y2JpQWdJQ0FnSUc1dmNtMWhiR2w2WlNBOUlIUnlkV1VzSUc5d2RITS9PaUI3VzE4NklITjBjbWx1WjEwNklHRnVlWDBwT2lCUWNtOXRhWE5sUEVac2IyRjBNekpCY25KaGVUNGdlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJRY205dGFYTmxLR0Z6ZVc1aklDaHlaWE52YkhabExDQnlaV3BsWTNRcElEMCtJSHRjYmlBZ0lDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQnNaVzRnUFNCMllXeDFaWE11YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEJ5YjIxcGMyVnpJRDBnYm1WM0lFRnljbUY1UEZCeWIyMXBjMlU4ZG05cFpENCtLSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBLVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0IwYjNSaGJFeGxibWQwYUNBOUlHeGxiaUFxSUNoc1pXNGdMU0F4S1NBdklESTdJQzh2SUhOcGVtVWdiMllnY21Wa2RXTmxaQ0JrYVhOMFlXNWpaU0J0WVhSeWFYaGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ0E5SUUxaGRHZ3ViV2x1S0hSb2FYTXVYM2R2Y210bGNrTnZkVzUwTENCMGIzUmhiRXhsYm1kMGFDazdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdZMmgxYm10VGFYcGxJRDBnZEc5MFlXeE1aVzVuZEdnZ0x5QjBhR2x6TGw5M2IzSnJaWEpEYjNWdWREdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQmthWE4wWVc1alpVMWhkSEpwZUNBOUlHNWxkeUJHYkc5aGRETXlRWEp5WVhrb2RHOTBZV3hNWlc1bmRHZ3BPMXh1SUNBZ0lDQWdJQ0FnSUd4bGRDQmxibVJTYjNjZ1BTQXdPMXh1SUNBZ0lDQWdJQ0FnSUd4bGRDQmxibVJEYjJ3Z1BTQXhPMXh1SUNBZ0lDQWdJQ0FnSUM4dklHMXBibTFoZUNCbWIzSWdibTl5YldGc2FYcGhkR2x2Ymx4dUlDQWdJQ0FnSUNBZ0lHeGxkQ0JzYldsdUlEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNCc1pYUWdiRzFoZUNBOUlFNTFiV0psY2k1TlNVNWZWa0ZNVlVVN1hHNGdJQ0FnSUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IwYUdsekxsOTNiM0pyWlhKRGIzVnVkRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J6ZEdGeWRDQTlJRTFoZEdndVpteHZiM0lvYVNBcUlHTm9kVzVyVTJsNlpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JsYm1RZ1BTQW9hU0E5UFQwZ2RHaHBjeTVmZDI5eWEyVnlRMjkxYm5RZ0xTQXhLU0EvSUhSdmRHRnNUR1Z1WjNSb0lEb2dUV0YwYUM1bWJHOXZjaWdvYVNBcklERXBJQ29nWTJoMWJtdFRhWHBsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElITjBZWEowVW05M0lEMGdaVzVrVW05M08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjM1JoY25SRGIyd2dQU0JsYm1SRGIydzdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9hU0FoUFQwZ2RHaHBjeTVmZDI5eWEyVnlRMjkxYm5RZ0xTQXhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUZSb1pYTmxJR1p2Y20xMWJHRnpJRzFoY0NCMGFHVWdiR2x1WldGeUlHbHVaR1Y0SUhSdklIUm9aU0IxY0hCbGNpQjBjbWxoYm1kMWJHRnlJRzFoZEhKcGVDQnBibVJwWTJWelhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdWdVpGSnZkeUE5SUd4bGJpQXRJRElnTFNCTllYUm9MbVpzYjI5eUtFMWhkR2d1YzNGeWRDZ3RPQ0FxSUdWdVpDQXJJRFFnS2lCc1pXNGdLaUFvYkdWdUlDMGdNU2tnTFNBM0tTQXZJRElnTFNBd0xqVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmxibVJEYjJ3Z1BTQmxibVFnTFNCc1pXNGdLaUJsYm1SU2IzY2dLeUJOWVhSb0xtWnNiMjl5S0NobGJtUlNiM2NnS3lBeEtTQXFJQ2hsYm1SU2IzY2dLeUF5S1NBdklESXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NWZkMjl5YTJWeWMxdHBYUzV3YjNOMFRXVnpjMkZuWlNoN2RtRnNkV1Z6TENCbWJrNWhiV1VzSUhOMFlYSjBVbTkzTENCemRHRnlkRU52YkN3Z1kyaDFibU5yVTJsNlpUb2daVzVrSUMwZ2MzUmhjblFzSUc5d2RITjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIQnliMjFwYzJWelcybGRJRDBnYm1WM0lGQnliMjFwYzJVb0tISmxjMjlzZG1WWGIzSnJaWElzSUhKbGFtVmpkRmR2Y210bGNpa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxsOTNiM0pyWlhKelcybGRMbTl1YldWemMyRm5aU0E5SUNoN1pHRjBZVG9nZTJWeWNtOXlMQ0JrYVhOMFlXNWpaVTFoZEhKcGVFUmhkR0VzSUcxcGJpd2diV0Y0ZlgwcE9pQjJiMmxrSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TGw5MFpYSnRhVzVoZEdWUGJrTnZiWEJzWlhSbElDWW1JSFJvYVhNdVgzZHZjbXRsY25OYmFWMHVkR1Z5YldsdVlYUmxLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHVnljbTl5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaV3BsWTNSWGIzSnJaWElvWlhKeWIzSXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrYVhOMFlXNWpaVTFoZEhKcGVDNXpaWFFvWkdsemRHRnVZMlZOWVhSeWFYaEVZWFJoTENCemRHRnlkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9iV2x1SUR3Z2JHMXBiaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHMXBiaUE5SUcxcGJqdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodFlYZ2dQaUJzYldGNEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JzYldGNElEMGdiV0Y0TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnpiMngyWlZkdmNtdGxjaWdwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0JoZDJGcGRDQlFjbTl0YVhObExtRnNiQ2h3Y205dGFYTmxjeWs3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLRzV2Y20xaGJHbDZaU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lHUnBjM1JoYm1ObFRXRjBjbWw0TG1admNrVmhZMmdvS0haaGJIVmxMQ0JwYm1SbGVDa2dQVDRnZXlCa2FYTjBZVzVqWlUxaGRISnBlRnRwYm1SbGVGMGdQU0FvZG1Gc2RXVWdMU0JzYldsdUtTQXZJQ2hzYldGNElDMGdiRzFwYmlrN0lIMHBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGMyOXNkbVVvWkdsemRHRnVZMlZOWVhSeWFYZ3BPMXh1SUNBZ0lDQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVZxWldOMEtHVXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdkR1Z5YldsdVlYUmxLQ2s2SUhadmFXUWdlMXh1SUNBZ0lDQWdkR2hwY3k1ZmQyOXlhMlZ5Y3k1bWIzSkZZV05vS0NoM2IzSnJaWElwSUQwK0lIZHZjbXRsY2k1MFpYSnRhVzVoZEdVb0tTazdYRzRnSUNBZ2ZWeHVmVnh1SWwxOSIsIi8qKlxuICogQGxpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgMjAxOSBHb29nbGUgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG4vKipcbiAqIFNpbXBsZSByYW5kb20gaW50ZWdlciBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gdGF1UmFuZEludChuLCByYW5kb20pIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihyYW5kb20oKSAqIG4pO1xufVxuLyoqXG4gKiBTaW1wbGUgcmFuZG9tIGZsb2F0IGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YXVSYW5kKHJhbmRvbSkge1xuICAgIHJldHVybiByYW5kb20oKTtcbn1cbi8qKlxuICogQ29tcHV0ZSB0aGUgKHN0YW5kYXJkIGwyKSBub3JtIG9mIGEgdmVjdG9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybSh2ZWMpIHtcbiAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdmVjKVxuICAgICAgICByZXN1bHQgKz0gaXRlbSAqKiAyO1xuICAgIHJldHVybiBNYXRoLnNxcnQocmVzdWx0KTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhbiBlbXB0eSBhcnJheSAoZmlsbGVkIHdpdGggdW5kZWZpbmVkKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1wdHkobikge1xuICAgIGNvbnN0IG91dHB1dCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKVxuICAgICAgICBvdXRwdXQucHVzaCh1bmRlZmluZWQpO1xuICAgIHJldHVybiBvdXRwdXQ7XG59XG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgZmlsbGVkIHdpdGggaW5kZXggdmFsdWVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByYW5nZShuKSB7XG4gICAgcmV0dXJuIGVtcHR5KG4pLm1hcCgoXywgaSkgPT4gaSk7XG59XG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgZmlsbGVkIHdpdGggYSBzcGVjaWZpYyB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsbGVkKG4sIHYpIHtcbiAgICByZXR1cm4gZW1wdHkobikubWFwKCgpID0+IHYpO1xufVxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IGZpbGxlZCB3aXRoIHplcm9zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6ZXJvcyhuKSB7XG4gICAgcmV0dXJuIGZpbGxlZChuLCAwKTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBmaWxsZWQgd2l0aCBvbmVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvbmVzKG4pIHtcbiAgICByZXR1cm4gZmlsbGVkKG4sIDEpO1xufVxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IGZyb20gYSB0byBiLCBvZiBsZW5ndGggbGVuLCBpbmNsdXNpdmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpbmVhcihhLCBiLCBsZW4pIHtcbiAgICByZXR1cm4gZW1wdHkobGVuKS5tYXAoKF8sIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIGEgKyBpICogKChiIC0gYSkgLyAobGVuIC0gMSkpO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBzdW0gb2YgYW4gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1bShpbnB1dCkge1xuICAgIHJldHVybiBpbnB1dC5yZWR1Y2UoKHN1bSwgdmFsKSA9PiBzdW0gKyB2YWwpO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBtZWFuIG9mIGFuIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZWFuKGlucHV0KSB7XG4gICAgcmV0dXJuIHN1bShpbnB1dCkgLyBpbnB1dC5sZW5ndGg7XG59XG4vKipcbiAqIFJldHVybnMgdGhlIG1heGltdW0gdmFsdWUgb2YgYW4gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1heChpbnB1dCkge1xuICAgIGxldCBtYXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspXG4gICAgICAgIG1heCA9IGlucHV0W2ldID4gbWF4ID8gaW5wdXRbaV0gOiBtYXg7XG4gICAgcmV0dXJuIG1heDtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgbWF4aW11bSB2YWx1ZSBvZiBhIDJkIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXgyZChpbnB1dCkge1xuICAgIGxldCBtYXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpbnB1dFtpXS5sZW5ndGg7IGorKylcbiAgICAgICAgICAgIG1heCA9IGlucHV0W2ldW2pdID4gbWF4ID8gaW5wdXRbaV1bal0gOiBtYXg7XG4gICAgfVxuICAgIHJldHVybiBtYXg7XG59XG4vKipcbiAqIEdlbmVyYXRlIG5TYW1wbGVzIG1hbnkgaW50ZWdlcnMgZnJvbSAwIHRvIHBvb2xTaXplIHN1Y2ggdGhhdCBub1xuICogaW50ZWdlciBpcyBzZWxlY3RlZCB0d2ljZS4gVGhlIGR1cGxpY2F0aW9uIGNvbnN0cmFpbnQgaXMgYWNoaWV2ZWQgdmlhXG4gKiByZWplY3Rpb24gc2FtcGxpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWplY3Rpb25TYW1wbGUoblNhbXBsZXMsIHBvb2xTaXplLCByYW5kb20pIHtcbiAgICBjb25zdCByZXN1bHQgPSB6ZXJvcyhuU2FtcGxlcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuU2FtcGxlczsgaSsrKSB7XG4gICAgICAgIGxldCByZWplY3RTYW1wbGUgPSB0cnVlO1xuICAgICAgICB3aGlsZSAocmVqZWN0U2FtcGxlKSB7XG4gICAgICAgICAgICBjb25zdCBqID0gdGF1UmFuZEludChwb29sU2l6ZSwgcmFuZG9tKTtcbiAgICAgICAgICAgIGxldCBicm9rZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGZvciAobGV0IGsgPSAwOyBrIDwgaTsgaysrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGogPT09IHJlc3VsdFtrXSkge1xuICAgICAgICAgICAgICAgICAgICBicm9rZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWJyb2tlbilcbiAgICAgICAgICAgICAgICByZWplY3RTYW1wbGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHJlc3VsdFtpXSA9IGo7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbi8qKlxuICogUmVzaGFwZXMgYSAxZCBhcnJheSBpbnRvIGEgMkQgb2YgZ2l2ZW4gZGltZW5zaW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc2hhcGUyZCh4LCBhLCBiKSB7XG4gICAgY29uc3Qgcm93cyA9IFtdO1xuICAgIC8vIGxldCBjb3VudCA9IDA7XG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICBpZiAoeC5sZW5ndGggIT09IGEgKiBiKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FycmF5IGRpbWVuc2lvbnMgbXVzdCBtYXRjaCBpbnB1dCBsZW5ndGguJyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhOyBpKyspIHtcbiAgICAgICAgY29uc3QgY29sID0gW107XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYjsgaisrKSB7XG4gICAgICAgICAgICBjb2wucHVzaCh4W2luZGV4XSk7XG4gICAgICAgICAgICBpbmRleCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIHJvd3MucHVzaChjb2wpO1xuICAgICAgICAvLyBjb3VudCArPSAxO1xuICAgIH1cbiAgICByZXR1cm4gcm93cztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRYUnBiSE11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjFkR2xzY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3T3pzN096czdPenM3T3pzN096czdSMEZwUWtjN1FVRkpTRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4VlFVRlZMRU5CUVVNc1EwRkJVeXhGUVVGRkxFMUJRV2RDTzBsQlEzQkVMRTlCUVU4c1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOc1F5eERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVDBGQlR5eERRVUZETEUxQlFXZENPMGxCUTNSRExFOUJRVThzVFVGQlRTeEZRVUZGTEVOQlFVTTdRVUZEYkVJc1EwRkJRenRCUVVORU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRWxCUVVrc1EwRkJReXhIUVVGaE8wbEJRMmhETEVsQlFVa3NUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVObUxFdEJRVXNzVFVGQlRTeEpRVUZKTEVsQlFVa3NSMEZCUnp0UlFVTndRaXhOUVVGTkxFbEJRVWtzU1VGQlNTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVVjBRaXhQUVVGUExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkRNMElzUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxFdEJRVXNzUTBGQlF5eERRVUZUTzBsQlF6ZENMRTFCUVUwc1RVRkJUU3hIUVVGblFpeEZRVUZGTEVOQlFVTTdTVUZETDBJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVU3VVVGRGVFSXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dEpRVVY2UWl4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzUzBGQlN5eERRVUZETEVOQlFWTTdTVUZETjBJc1QwRkJUeXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRia01zUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxFMUJRVTBzUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXp0SlFVTjZReXhQUVVGUExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETDBJc1EwRkJRenRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRXRCUVVzc1EwRkJReXhEUVVGVE8wbEJRemRDTEU5QlFVOHNUVUZCVFN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU4wUWl4RFFVRkRPMEZCUlVRN08wZEJSVWM3UVVGRFNDeE5RVUZOTEZWQlFWVXNTVUZCU1N4RFFVRkRMRU5CUVZNN1NVRkROVUlzVDBGQlR5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM1JDTEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeE5RVUZOTEVOQlFVTXNRMEZCVXl4RlFVRkZMRU5CUVZNc1JVRkJSU3hIUVVGWE8wbEJRM1JFTEU5QlFVOHNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVNM1FpeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzWkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRMHdzUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxFZEJRVWNzUTBGQlF5eExRVUZsTzBsQlEycERMRTlCUVU4c1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTXZReXhEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1NVRkJTU3hEUVVGRExFdEJRV1U3U1VGRGJFTXNUMEZCVHl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXp0QlFVTnVReXhEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1IwRkJSeXhEUVVGRExFdEJRV1U3U1VGRGFrTXNTVUZCU1N4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMW9zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZPMUZCUTI1RExFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dEpRVVY0UXl4UFFVRlBMRWRCUVVjc1EwRkJRenRCUVVOaUxFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3hMUVVGTExFTkJRVU1zUzBGQmFVSTdTVUZEY2tNc1NVRkJTU3hIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlExb3NTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGNrTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTzFsQlEzUkRMRWRCUVVjc1IwRkJSeXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXp0TFFVTXZRenRKUVVORUxFOUJRVThzUjBGQlJ5eERRVUZETzBGQlEySXNRMEZCUXp0QlFVVkVPenM3TzBkQlNVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1pVRkJaU3hEUVVNM1FpeFJRVUZuUWl4RlFVTm9RaXhSUVVGblFpeEZRVU5vUWl4TlFVRm5RanRKUVVWb1FpeE5RVUZOTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03U1VGREwwSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEZGQlFWRXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVOcVF5eEpRVUZKTEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkRlRUlzVDBGQlR5eFpRVUZaTEVWQlFVVTdXVUZEYmtJc1RVRkJUU3hEUVVGRExFZEJRVWNzVlVGQlZTeERRVUZETEZGQlFWRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVOMlF5eEpRVUZKTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNN1dVRkRia0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkRNVUlzU1VGQlNTeERRVUZETEV0QlFVc3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRk8yOUNRVU51UWl4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRE8yOUNRVU5rTEUxQlFVMDdhVUpCUTFBN1lVRkRSanRaUVVORUxFbEJRVWtzUTBGQlF5eE5RVUZOTzJkQ1FVTlVMRmxCUVZrc1IwRkJSeXhMUVVGTExFTkJRVU03V1VGRmRrSXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFRRVU5tTzB0QlEwWTdTVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVTBGQlV5eERRVUZKTEVOQlFVMHNSVUZCUlN4RFFVRlRMRVZCUVVVc1EwRkJVenRKUVVOMlJDeE5RVUZOTEVsQlFVa3NSMEZCVlN4RlFVRkZMRU5CUVVNN1NVRkRka0lzYVVKQlFXbENPMGxCUTJwQ0xFbEJRVWtzUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVVmtMRWxCUVVrc1EwRkJReXhEUVVGRExFMUJRVTBzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXp0UlFVTndRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERKRFFVRXlReXhEUVVGRExFTkJRVU03U1VGSEwwUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVNeFFpeE5RVUZOTEVkQlFVY3NSMEZCVVN4RlFVRkZMRU5CUVVNN1VVRkRjRUlzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0WlFVTXhRaXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMjVDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRU5CUVVNN1UwRkRXanRSUVVORUxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRaaXhqUVVGak8wdEJRMlk3U1VGRFJDeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmtMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnNhV05sYm5ObFhHNGdLbHh1SUNvZ1EyOXdlWEpwWjJoMElESXdNVGtnUjI5dloyeGxJRXhNUXk0Z1FXeHNJRkpwWjJoMGN5QlNaWE5sY25abFpDNWNiaUFxWEc0Z0tpQk1hV05sYm5ObFpDQjFibVJsY2lCMGFHVWdRWEJoWTJobElFeHBZMlZ1YzJVc0lGWmxjbk5wYjI0Z01pNHdJQ2gwYUdVZ1hDSk1hV05sYm5ObFhDSXBPMXh1SUNvZ2VXOTFJRzFoZVNCdWIzUWdkWE5sSUhSb2FYTWdabWxzWlNCbGVHTmxjSFFnYVc0Z1kyOXRjR3hwWVc1alpTQjNhWFJvSUhSb1pTQk1hV05sYm5ObExseHVJQ29nV1c5MUlHMWhlU0J2WW5SaGFXNGdZU0JqYjNCNUlHOW1JSFJvWlNCTWFXTmxibk5sSUdGMFhHNGdLbHh1SUNvZ0lDQWdJR2gwZEhBNkx5OTNkM2N1WVhCaFkyaGxMbTl5Wnk5c2FXTmxibk5sY3k5TVNVTkZUbE5GTFRJdU1GeHVJQ3BjYmlBcUlGVnViR1Z6Y3lCeVpYRjFhWEpsWkNCaWVTQmhjSEJzYVdOaFlteGxJR3hoZHlCdmNpQmhaM0psWldRZ2RHOGdhVzRnZDNKcGRHbHVaeXdnYzI5bWRIZGhjbVZjYmlBcUlHUnBjM1J5YVdKMWRHVmtJSFZ1WkdWeUlIUm9aU0JNYVdObGJuTmxJR2x6SUdScGMzUnlhV0oxZEdWa0lHOXVJR0Z1SUZ3aVFWTWdTVk5jSWlCQ1FWTkpVeXhjYmlBcUlGZEpWRWhQVlZRZ1YwRlNVa0ZPVkVsRlV5QlBVaUJEVDA1RVNWUkpUMDVUSUU5R0lFRk9XU0JMU1U1RUxDQmxhWFJvWlhJZ1pYaHdjbVZ6Y3lCdmNpQnBiWEJzYVdWa0xseHVJQ29nVTJWbElIUm9aU0JNYVdObGJuTmxJR1p2Y2lCMGFHVWdjM0JsWTJsbWFXTWdiR0Z1WjNWaFoyVWdaMjkyWlhKdWFXNW5JSEJsY20xcGMzTnBiMjV6SUdGdVpGeHVJQ29nYkdsdGFYUmhkR2x2Ym5NZ2RXNWtaWElnZEdobElFeHBZMlZ1YzJVdVhHNGdLaUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNiaUFxTDF4dVhHNXBiWEJ2Y25RZ2UxSmhibVJ2YlVadWZTQm1jbTl0SUNjdUwzVnRZWEFuTzF4dVhHNHZLaXBjYmlBcUlGTnBiWEJzWlNCeVlXNWtiMjBnYVc1MFpXZGxjaUJtZFc1amRHbHZibHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2RHRjFVbUZ1WkVsdWRDaHVPaUJ1ZFcxaVpYSXNJSEpoYm1SdmJUb2dVbUZ1Wkc5dFJtNHBJSHRjYmlBZ2NtVjBkWEp1SUUxaGRHZ3VabXh2YjNJb2NtRnVaRzl0S0NrZ0tpQnVLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQlRhVzF3YkdVZ2NtRnVaRzl0SUdac2IyRjBJR1oxYm1OMGFXOXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMFlYVlNZVzVrS0hKaGJtUnZiVG9nVW1GdVpHOXRSbTRwSUh0Y2JpQWdjbVYwZFhKdUlISmhibVJ2YlNncE8xeHVmVnh1THlvcVhHNGdLaUJEYjIxd2RYUmxJSFJvWlNBb2MzUmhibVJoY21RZ2JESXBJRzV2Y20wZ2IyWWdZU0IyWldOMGIzSXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdWIzSnRLSFpsWXpvZ2JuVnRZbVZ5VzEwcElIdGNiaUFnYkdWMElISmxjM1ZzZENBOUlEQTdYRzRnSUdadmNpQW9ZMjl1YzNRZ2FYUmxiU0J2WmlCMlpXTXBYRzRnSUNBZ2NtVnpkV3gwSUNzOUlHbDBaVzBnS2lvZ01qdGNibHh1SUNCeVpYUjFjbTRnVFdGMGFDNXpjWEowS0hKbGMzVnNkQ2s3WEc1OVhHNWNiaThxS2x4dUlDb2dRM0psWVhSbGN5QmhiaUJsYlhCMGVTQmhjbkpoZVNBb1ptbHNiR1ZrSUhkcGRHZ2dkVzVrWldacGJtVmtLVnh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pXMXdkSGtvYmpvZ2JuVnRZbVZ5S1RvZ2RXNWtaV1pwYm1Wa1cxMGdlMXh1SUNCamIyNXpkQ0J2ZFhSd2RYUTZJSFZ1WkdWbWFXNWxaRnRkSUQwZ1cxMDdYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2Jqc2dhU3NyS1Z4dUlDQWdJRzkxZEhCMWRDNXdkWE5vS0hWdVpHVm1hVzVsWkNrN1hHNWNiaUFnY21WMGRYSnVJRzkxZEhCMWREdGNibjFjYmx4dUx5b3FYRzRnS2lCRGNtVmhkR1Z6SUdGdUlHRnljbUY1SUdacGJHeGxaQ0IzYVhSb0lHbHVaR1Y0SUhaaGJIVmxjMXh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NtRnVaMlVvYmpvZ2JuVnRZbVZ5S1RvZ2JuVnRZbVZ5VzEwZ2UxeHVJQ0J5WlhSMWNtNGdaVzF3ZEhrb2Jpa3ViV0Z3S0NoZkxDQnBLU0E5UGlCcEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCRGNtVmhkR1Z6SUdGdUlHRnljbUY1SUdacGJHeGxaQ0IzYVhSb0lHRWdjM0JsWTJsbWFXTWdkbUZzZFdWY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1pwYkd4bFpDaHVPaUJ1ZFcxaVpYSXNJSFk2SUc1MWJXSmxjaWs2SUc1MWJXSmxjbHRkSUh0Y2JpQWdjbVYwZFhKdUlHVnRjSFI1S0c0cExtMWhjQ2dvS1NBOVBpQjJLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkRjbVZoZEdWeklHRnVJR0Z5Y21GNUlHWnBiR3hsWkNCM2FYUm9JSHBsY205elhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUI2WlhKdmN5aHVPaUJ1ZFcxaVpYSXBPaUJ1ZFcxaVpYSmJYU0I3WEc0Z0lISmxkSFZ5YmlCbWFXeHNaV1FvYml3Z01DazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1EzSmxZWFJsY3lCaGJpQmhjbkpoZVNCbWFXeHNaV1FnZDJsMGFDQnZibVZ6WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnZibVZ6S0c0NklHNTFiV0psY2lrNklHNTFiV0psY2x0ZElIdGNiaUFnY21WMGRYSnVJR1pwYkd4bFpDaHVMQ0F4S1R0Y2JuMWNibHh1THlvcVhHNGdLaUJEY21WaGRHVnpJR0Z1SUdGeWNtRjVJR1p5YjIwZ1lTQjBieUJpTENCdlppQnNaVzVuZEdnZ2JHVnVMQ0JwYm1Oc2RYTnBkbVZjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHeHBibVZoY2loaE9pQnVkVzFpWlhJc0lHSTZJRzUxYldKbGNpd2diR1Z1T2lCdWRXMWlaWElwT2lCdWRXMWlaWEpiWFNCN1hHNGdJSEpsZEhWeWJpQmxiWEIwZVNoc1pXNHBMbTFoY0Nnb1h5d2dhU2tnUFQ0Z2UxeHVJQ0FnSUhKbGRIVnliaUJoSUNzZ2FTQXFJQ2dvWWlBdElHRXBJQzhnS0d4bGJpQXRJREVwS1R0Y2JpQWdmU2s3WEc1OVhHNWNiaThxS2x4dUlDb2dVbVYwZFhKdWN5QjBhR1VnYzNWdElHOW1JR0Z1SUdGeWNtRjVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCemRXMG9hVzV3ZFhRNklHNTFiV0psY2x0ZEtUb2diblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJR2x1Y0hWMExuSmxaSFZqWlNnb2MzVnRMQ0IyWVd3cElEMCtJSE4xYlNBcklIWmhiQ2s3WEc1OVhHNWNiaThxS2x4dUlDb2dVbVYwZFhKdWN5QjBhR1VnYldWaGJpQnZaaUJoYmlCaGNuSmhlVnh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXVmhiaWhwYm5CMWREb2diblZ0WW1WeVcxMHBPaUJ1ZFcxaVpYSWdlMXh1SUNCeVpYUjFjbTRnYzNWdEtHbHVjSFYwS1NBdklHbHVjSFYwTG14bGJtZDBhRHRjYm4xY2JseHVMeW9xWEc0Z0tpQlNaWFIxY201eklIUm9aU0J0WVhocGJYVnRJSFpoYkhWbElHOW1JR0Z1SUdGeWNtRjVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdFlYZ29hVzV3ZFhRNklHNTFiV0psY2x0ZEtUb2diblZ0WW1WeUlIdGNiaUFnYkdWMElHMWhlQ0E5SURBN1hHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYVc1d2RYUXViR1Z1WjNSb095QnBLeXNwWEc0Z0lDQWdiV0Y0SUQwZ2FXNXdkWFJiYVYwZ1BpQnRZWGdnUHlCcGJuQjFkRnRwWFNBNklHMWhlRHRjYmx4dUlDQnlaWFIxY200Z2JXRjRPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGSmxkSFZ5Ym5NZ2RHaGxJRzFoZUdsdGRXMGdkbUZzZFdVZ2IyWWdZU0F5WkNCaGNuSmhlVnh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXRjRNbVFvYVc1d2RYUTZJRzUxYldKbGNsdGRXMTBwT2lCdWRXMWlaWElnZTF4dUlDQnNaWFFnYldGNElEMGdNRHRjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnBibkIxZEM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2dhVzV3ZFhSYmFWMHViR1Z1WjNSb095QnFLeXNwWEc0Z0lDQWdJQ0J0WVhnZ1BTQnBibkIxZEZ0cFhWdHFYU0ErSUcxaGVDQS9JR2x1Y0hWMFcybGRXMnBkSURvZ2JXRjRPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnRZWGc3WEc1OVhHNWNiaThxS2x4dUlDb2dSMlZ1WlhKaGRHVWdibE5oYlhCc1pYTWdiV0Z1ZVNCcGJuUmxaMlZ5Y3lCbWNtOXRJREFnZEc4Z2NHOXZiRk5wZW1VZ2MzVmphQ0IwYUdGMElHNXZYRzRnS2lCcGJuUmxaMlZ5SUdseklITmxiR1ZqZEdWa0lIUjNhV05sTGlCVWFHVWdaSFZ3YkdsallYUnBiMjRnWTI5dWMzUnlZV2x1ZENCcGN5QmhZMmhwWlhabFpDQjJhV0ZjYmlBcUlISmxhbVZqZEdsdmJpQnpZVzF3YkdsdVp5NWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKbGFtVmpkR2x2YmxOaGJYQnNaU2hjYmlBZ2JsTmhiWEJzWlhNNklHNTFiV0psY2l4Y2JpQWdjRzl2YkZOcGVtVTZJRzUxYldKbGNpeGNiaUFnY21GdVpHOXRPaUJTWVc1a2IyMUdibHh1S1RvZ2JuVnRZbVZ5VzEwZ2UxeHVJQ0JqYjI1emRDQnlaWE4xYkhRZ1BTQjZaWEp2Y3lodVUyRnRjR3hsY3lrN1hHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYmxOaGJYQnNaWE03SUdrckt5a2dlMXh1SUNBZ0lHeGxkQ0J5WldwbFkzUlRZVzF3YkdVZ1BTQjBjblZsTzF4dUlDQWdJSGRvYVd4bElDaHlaV3BsWTNSVFlXMXdiR1VwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR29nUFNCMFlYVlNZVzVrU1c1MEtIQnZiMnhUYVhwbExDQnlZVzVrYjIwcE8xeHVJQ0FnSUNBZ2JHVjBJR0p5YjJ0bGJpQTlJR1poYkhObE8xeHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2F5QTlJREE3SUdzZ1BDQnBPeUJyS3lzcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dvZ1BUMDlJSEpsYzNWc2RGdHJYU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHSnliMnRsYmlBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDZ2hZbkp2YTJWdUtWeHVJQ0FnSUNBZ0lDQnlaV3BsWTNSVFlXMXdiR1VnUFNCbVlXeHpaVHRjYmx4dUlDQWdJQ0FnY21WemRXeDBXMmxkSUQwZ2FqdGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYm4xY2JseHVMeW9xWEc0Z0tpQlNaWE5vWVhCbGN5QmhJREZrSUdGeWNtRjVJR2x1ZEc4Z1lTQXlSQ0J2WmlCbmFYWmxiaUJrYVcxbGJuTnBiMjV6TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbVZ6YUdGd1pUSmtQRlErS0hnNklGUmJYU3dnWVRvZ2JuVnRZbVZ5TENCaU9pQnVkVzFpWlhJcE9pQlVXMTFiWFNCN1hHNGdJR052Ym5OMElISnZkM002SUZSYlhWdGRJRDBnVzEwN1hHNGdJQzh2SUd4bGRDQmpiM1Z1ZENBOUlEQTdYRzRnSUd4bGRDQnBibVJsZUNBOUlEQTdYRzVjYmlBZ2FXWWdLSGd1YkdWdVozUm9JQ0U5UFNCaElDb2dZaWxjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0owRnljbUY1SUdScGJXVnVjMmx2Ym5NZ2JYVnpkQ0J0WVhSamFDQnBibkIxZENCc1pXNW5kR2d1SnlrN1hHNWNibHh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHRTdJR2tyS3lrZ2UxeHVJQ0FnSUdOdmJuTjBJR052YkRvZ1ZGdGRJRDBnVzEwN1hHNGdJQ0FnWm05eUlDaHNaWFFnYWlBOUlEQTdJR29nUENCaU95QnFLeXNwSUh0Y2JpQWdJQ0FnSUdOdmJDNXdkWE5vS0hoYmFXNWtaWGhkS1R0Y2JpQWdJQ0FnSUdsdVpHVjRJQ3M5SURFN1hHNGdJQ0FnZlZ4dUlDQWdJSEp2ZDNNdWNIVnphQ2hqYjJ3cE8xeHVJQ0FnSUM4dklHTnZkVzUwSUNzOUlERTdYRzRnSUgxY2JpQWdjbVYwZFhKdUlISnZkM003WEc1OVhHNGlYWDA9IiwiLyoqXG4gKiBAbGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuLyoqXG4gKiAgQ29uc3RydWN0b3IgZm9yIHRoZSBoZWFwIG9iamVjdHMuIFRoZSBoZWFwcyBhcmUgdXNlZFxuICogZm9yIGFwcHJveGltYXRlIG5lYXJlc3QgbmVpZ2hib3Igc2VhcmNoLCBtYWludGFpbmluZyBhIGxpc3Qgb2YgcG90ZW50aWFsXG4gKiBuZWlnaGJvcnMgc29ydGVkIGJ5IHRoZWlyIGRpc3RhbmNlLiBXZSBhbHNvIGZsYWcgaWYgcG90ZW50aWFsIG5laWdoYm9yc1xuICogYXJlIG5ld2x5IGFkZGVkIHRvIHRoZSBsaXN0IG9yIG5vdC4gSW50ZXJuYWxseSB0aGlzIGlzIHN0b3JlZCBhc1xuICogYSBzaW5nbGUgYXJyYXk7IHRoZSBmaXJzdCBheGlzIGRldGVybWluZXMgd2hldGhlciB3ZSBhcmUgbG9va2luZyBhdCB0aGVcbiAqIGFycmF5IG9mIGNhbmRpZGF0ZSBpbmRpY2VzLCB0aGUgYXJyYXkgb2YgZGlzdGFuY2VzLCBvciB0aGUgZmxhZyBhcnJheSBmb3JcbiAqIHdoZXRoZXIgZWxlbWVudHMgYXJlIG5ldyBvciBub3QuIEVhY2ggb2YgdGhlc2UgYXJyYXlzIGFyZSBvZiBzaGFwZVxuICogKGBgblBvaW50c2BgLCBgYHNpemVgYClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VIZWFwKG5Qb2ludHMsIHNpemUpIHtcbiAgICBjb25zdCBtYWtlQXJyYXlzID0gKGZpbGxWYWx1ZSkgPT4ge1xuICAgICAgICByZXR1cm4gdXRpbHMuZW1wdHkoblBvaW50cykubWFwKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB1dGlscy5maWxsZWQoc2l6ZSwgZmlsbFZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBjb25zdCBoZWFwID0gW107XG4gICAgaGVhcC5wdXNoKG1ha2VBcnJheXMoLTEpKTtcbiAgICBoZWFwLnB1c2gobWFrZUFycmF5cyhJbmZpbml0eSkpO1xuICAgIGhlYXAucHVzaChtYWtlQXJyYXlzKDApKTtcbiAgICByZXR1cm4gaGVhcDtcbn1cbi8qKlxuICogR2VuZXJhdGUgbl9zYW1wbGVzIG1hbnkgaW50ZWdlcnMgZnJvbSAwIHRvIHBvb2xfc2l6ZSBzdWNoIHRoYXQgbm9cbiAqIGludGVnZXIgaXMgc2VsZWN0ZWQgdHdpY2UuIFRoZSBkdXBsaWNhdGlvbiBjb25zdHJhaW50IGlzIGFjaGlldmVkIHZpYVxuICogcmVqZWN0aW9uIHNhbXBsaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVqZWN0aW9uU2FtcGxlKG5TYW1wbGVzLCBwb29sU2l6ZSwgcmFuZG9tKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuemVyb3MoblNhbXBsZXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgblNhbXBsZXM7IGkrKykge1xuICAgICAgICBsZXQgcmVqZWN0U2FtcGxlID0gdHJ1ZTtcbiAgICAgICAgbGV0IGogPSAwO1xuICAgICAgICB3aGlsZSAocmVqZWN0U2FtcGxlKSB7XG4gICAgICAgICAgICBqID0gdXRpbHMudGF1UmFuZEludChwb29sU2l6ZSwgcmFuZG9tKTtcbiAgICAgICAgICAgIGxldCBicm9rZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGZvciAobGV0IGsgPSAwOyBrIDwgaTsgaysrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGogPT09IHJlc3VsdFtrXSkge1xuICAgICAgICAgICAgICAgICAgICBicm9rZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWJyb2tlbilcbiAgICAgICAgICAgICAgICByZWplY3RTYW1wbGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHRbaV0gPSBqO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLyoqXG4gKiBQdXNoIGEgbmV3IGVsZW1lbnQgb250byB0aGUgaGVhcC4gVGhlIGhlYXAgc3RvcmVzIHBvdGVudGlhbCBuZWlnaGJvcnNcbiAqIGZvciBlYWNoIGRhdGEgcG9pbnQuIFRoZSBgYHJvd2BgIHBhcmFtZXRlciBkZXRlcm1pbmVzIHdoaWNoIGRhdGEgcG9pbnQgd2VcbiAqIGFyZSBhZGRyZXNzaW5nLCB0aGUgYGB3ZWlnaHRgYCBkZXRlcm1pbmVzIHRoZSBkaXN0YW5jZSAoZm9yIGhlYXAgc29ydGluZyksXG4gKiB0aGUgYGBpbmRleGBgIGlzIHRoZSBlbGVtZW50IHRvIGFkZCwgYW5kIHRoZSBmbGFnIGRldGVybWluZXMgd2hldGhlciB0aGlzXG4gKiBpcyB0byBiZSBjb25zaWRlcmVkIGEgbmV3IGFkZGl0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGVhcFB1c2goaGVhcCwgcm93LCB3ZWlnaHQsIGluZGV4LCBmbGFnKSB7XG4gICAgcm93ID0gTWF0aC5mbG9vcihyb3cpO1xuICAgIGNvbnN0IGluZGljZXMgPSBoZWFwWzBdW3Jvd107XG4gICAgY29uc3Qgd2VpZ2h0cyA9IGhlYXBbMV1bcm93XTtcbiAgICAvL2NvbnN0IGlzTmV3ID0gaGVhcFsyXVtyb3ddO1xuICAgIGlmICh3ZWlnaHQgPj0gd2VpZ2h0c1swXSlcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgLy8gQnJlYWsgaWYgd2UgYWxyZWFkeSBoYXZlIHRoaXMgZWxlbWVudC5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluZGljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGluZGV4ID09PSBpbmRpY2VzW2ldKVxuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiB1bmNoZWNrZWRIZWFwUHVzaChoZWFwLCByb3csIHdlaWdodCwgaW5kZXgsIGZsYWcpO1xufVxuLyoqXG4gKiBQdXNoIGEgbmV3IGVsZW1lbnQgb250byB0aGUgaGVhcC4gVGhlIGhlYXAgc3RvcmVzIHBvdGVudGlhbCBuZWlnaGJvcnNcbiAqIGZvciBlYWNoIGRhdGEgcG9pbnQuIFRoZSBgYHJvd2BgIHBhcmFtZXRlciBkZXRlcm1pbmVzIHdoaWNoIGRhdGEgcG9pbnQgd2VcbiAqIGFyZSBhZGRyZXNzaW5nLCB0aGUgYGB3ZWlnaHRgYCBkZXRlcm1pbmVzIHRoZSBkaXN0YW5jZSAoZm9yIGhlYXAgc29ydGluZyksXG4gKiB0aGUgYGBpbmRleGBgIGlzIHRoZSBlbGVtZW50IHRvIGFkZCwgYW5kIHRoZSBmbGFnIGRldGVybWluZXMgd2hldGhlciB0aGlzXG4gKiBpcyB0byBiZSBjb25zaWRlcmVkIGEgbmV3IGFkZGl0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5jaGVja2VkSGVhcFB1c2goaGVhcCwgcm93LCB3ZWlnaHQsIGluZGV4LCBmbGFnKSB7XG4gICAgY29uc3QgaW5kaWNlcyA9IGhlYXBbMF1bcm93XTtcbiAgICBjb25zdCB3ZWlnaHRzID0gaGVhcFsxXVtyb3ddO1xuICAgIGNvbnN0IGlzTmV3ID0gaGVhcFsyXVtyb3ddO1xuICAgIGlmICh3ZWlnaHQgPj0gd2VpZ2h0c1swXSlcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgLy8gSW5zZXJ0IHZhbCBhdCBwb3NpdGlvbiB6ZXJvXG4gICAgd2VpZ2h0c1swXSA9IHdlaWdodDtcbiAgICBpbmRpY2VzWzBdID0gaW5kZXg7XG4gICAgaXNOZXdbMF0gPSBmbGFnO1xuICAgIC8vIERlc2NlbmQgdGhlIGhlYXAsIHN3YXBwaW5nIHZhbHVlcyB1bnRpbCB0aGUgbWF4IGhlYXAgY3JpdGVyaW9uIGlzIG1ldFxuICAgIGxldCBpID0gMDtcbiAgICBsZXQgaVN3YXAgPSAwO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGNvbnN0IGljMSA9IDIgKiBpICsgMTtcbiAgICAgICAgY29uc3QgaWMyID0gaWMxICsgMTtcbiAgICAgICAgY29uc3QgaGVhcFNoYXBlMiA9IGhlYXBbMF1bMF0ubGVuZ3RoO1xuICAgICAgICBpZiAoaWMxID49IGhlYXBTaGFwZTIpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGljMiA+PSBoZWFwU2hhcGUyKSB7XG4gICAgICAgICAgICBpZiAod2VpZ2h0c1tpYzFdID4gd2VpZ2h0KVxuICAgICAgICAgICAgICAgIGlTd2FwID0gaWMxO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHdlaWdodHNbaWMxXSA+PSB3ZWlnaHRzW2ljMl0pIHtcbiAgICAgICAgICAgIGlmICh3ZWlnaHQgPCB3ZWlnaHRzW2ljMV0pXG4gICAgICAgICAgICAgICAgaVN3YXAgPSBpYzE7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAod2VpZ2h0IDwgd2VpZ2h0c1tpYzJdKVxuICAgICAgICAgICAgICAgIGlTd2FwID0gaWMyO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHdlaWdodHNbaV0gPSB3ZWlnaHRzW2lTd2FwXTtcbiAgICAgICAgaW5kaWNlc1tpXSA9IGluZGljZXNbaVN3YXBdO1xuICAgICAgICBpc05ld1tpXSA9IGlzTmV3W2lTd2FwXTtcbiAgICAgICAgaSA9IGlTd2FwO1xuICAgIH1cbiAgICB3ZWlnaHRzW2ldID0gd2VpZ2h0O1xuICAgIGluZGljZXNbaV0gPSBpbmRleDtcbiAgICBpc05ld1tpXSA9IGZsYWc7XG4gICAgcmV0dXJuIDE7XG59XG4vKipcbiAqIEJ1aWxkIGEgaGVhcCBvZiBjYW5kaWRhdGUgbmVpZ2hib3JzIGZvciBuZWFyZXN0IG5laWdoYm9yIGRlc2NlbnQuIEZvclxuICogZWFjaCB2ZXJ0ZXggdGhlIGNhbmRpZGF0ZSBuZWlnaGJvcnMgYXJlIGFueSBjdXJyZW50IG5laWdoYm9ycywgYW5kIGFueVxuICogdmVydGljZXMgdGhhdCBoYXZlIHRoZSB2ZXJ0ZXggYXMgb25lIG9mIHRoZWlyIG5lYXJlc3QgbmVpZ2hib3JzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDYW5kaWRhdGVzKGN1cnJlbnRHcmFwaCwgblZlcnRpY2VzLCBuTmVpZ2hib3JzLCBtYXhDYW5kaWRhdGVzLCByYW5kb20pIHtcbiAgICBjb25zdCBjYW5kaWRhdGVOZWlnaGJvcnMgPSBtYWtlSGVhcChuVmVydGljZXMsIG1heENhbmRpZGF0ZXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgblZlcnRpY2VzOyBpKyspIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBuTmVpZ2hib3JzOyBqKyspIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50R3JhcGhbMF1baV1bal0gPCAwKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgY29uc3QgaWR4ID0gY3VycmVudEdyYXBoWzBdW2ldW2pdO1xuICAgICAgICAgICAgY29uc3QgaXNuID0gY3VycmVudEdyYXBoWzJdW2ldW2pdO1xuICAgICAgICAgICAgY29uc3QgZCA9IHV0aWxzLnRhdVJhbmQocmFuZG9tKTtcbiAgICAgICAgICAgIGhlYXBQdXNoKGNhbmRpZGF0ZU5laWdoYm9ycywgaSwgZCwgaWR4LCBpc24pO1xuICAgICAgICAgICAgaGVhcFB1c2goY2FuZGlkYXRlTmVpZ2hib3JzLCBpZHgsIGQsIGksIGlzbik7XG4gICAgICAgICAgICBjdXJyZW50R3JhcGhbMl1baV1bal0gPSAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjYW5kaWRhdGVOZWlnaGJvcnM7XG59XG4vKipcbiAqIEdpdmVuIGFuIGFycmF5IG9mIGhlYXBzIChvZiBpbmRpY2VzIGFuZCB3ZWlnaHRzKSwgdW5wYWNrIHRoZSBoZWFwXG4gKiBvdXQgdG8gZ2l2ZSBhbmQgYXJyYXkgb2Ygc29ydGVkIGxpc3RzIG9mIGluZGljZXMgYW5kIHdlaWdodHMgYnkgaW5jcmVhc2luZ1xuICogd2VpZ2h0LiBUaGlzIGlzIGVmZmVjdGl2ZWx5IGp1c3QgdGhlIHNlY29uZCBoYWxmIG9mIGhlYXAgc29ydCAodGhlIGZpcnN0XG4gKiBoYWxmIG5vdCBiZWluZyByZXF1aXJlZCBzaW5jZSB3ZSBhbHJlYWR5IGhhdmUgdGhlIGRhdGEgaW4gYSBoZWFwKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlaGVhcFNvcnQoaGVhcCkge1xuICAgIGNvbnN0IGluZGljZXMgPSBoZWFwWzBdO1xuICAgIGNvbnN0IHdlaWdodHMgPSBoZWFwWzFdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5kaWNlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBpbmRIZWFwID0gaW5kaWNlc1tpXTtcbiAgICAgICAgY29uc3QgZGlzdEhlYXAgPSB3ZWlnaHRzW2ldO1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGluZEhlYXAubGVuZ3RoIC0gMTsgaisrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRIZWFwSW5kZXggPSBpbmRIZWFwLmxlbmd0aCAtIGogLSAxO1xuICAgICAgICAgICAgY29uc3QgZGlzdEhlYXBJbmRleCA9IGRpc3RIZWFwLmxlbmd0aCAtIGogLSAxO1xuICAgICAgICAgICAgY29uc3QgdGVtcDEgPSBpbmRIZWFwWzBdO1xuICAgICAgICAgICAgaW5kSGVhcFswXSA9IGluZEhlYXBbaW5kSGVhcEluZGV4XTtcbiAgICAgICAgICAgIGluZEhlYXBbaW5kSGVhcEluZGV4XSA9IHRlbXAxO1xuICAgICAgICAgICAgY29uc3QgdGVtcDIgPSBkaXN0SGVhcFswXTtcbiAgICAgICAgICAgIGRpc3RIZWFwWzBdID0gZGlzdEhlYXBbZGlzdEhlYXBJbmRleF07XG4gICAgICAgICAgICBkaXN0SGVhcFtkaXN0SGVhcEluZGV4XSA9IHRlbXAyO1xuICAgICAgICAgICAgc2lmdERvd24oZGlzdEhlYXAsIGluZEhlYXAsIGRpc3RIZWFwSW5kZXgsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IGluZGljZXMsIHdlaWdodHMgfTtcbn1cbi8qKlxuICogUmVzdG9yZSB0aGUgaGVhcCBwcm9wZXJ0eSBmb3IgYSBoZWFwIHdpdGggYW4gb3V0IG9mIHBsYWNlIGVsZW1lbnRcbiAqIGF0IHBvc2l0aW9uIGBgZWx0YGAuIFRoaXMgd29ya3Mgd2l0aCBhIGhlYXAgcGFpciB3aGVyZSBoZWFwMSBjYXJyaWVzXG4gKiB0aGUgd2VpZ2h0cyBhbmQgaGVhcDIgaG9sZHMgdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMuXG4gKi9cbmZ1bmN0aW9uIHNpZnREb3duKGhlYXAxLCBoZWFwMiwgY2VpbGluZywgZWx0KSB7XG4gICAgd2hpbGUgKGVsdCAqIDIgKyAxIDwgY2VpbGluZykge1xuICAgICAgICBjb25zdCBsZWZ0Q2hpbGQgPSBlbHQgKiAyICsgMTtcbiAgICAgICAgY29uc3QgcmlnaHRDaGlsZCA9IGxlZnRDaGlsZCArIDE7XG4gICAgICAgIGxldCBzd2FwID0gZWx0O1xuICAgICAgICBpZiAoaGVhcDFbc3dhcF0gPCBoZWFwMVtsZWZ0Q2hpbGRdKVxuICAgICAgICAgICAgc3dhcCA9IGxlZnRDaGlsZDtcbiAgICAgICAgaWYgKHJpZ2h0Q2hpbGQgPCBjZWlsaW5nICYmIGhlYXAxW3N3YXBdIDwgaGVhcDFbcmlnaHRDaGlsZF0pXG4gICAgICAgICAgICBzd2FwID0gcmlnaHRDaGlsZDtcbiAgICAgICAgaWYgKHN3YXAgPT09IGVsdCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0ZW1wMSA9IGhlYXAxW2VsdF07XG4gICAgICAgICAgICBoZWFwMVtlbHRdID0gaGVhcDFbc3dhcF07XG4gICAgICAgICAgICBoZWFwMVtzd2FwXSA9IHRlbXAxO1xuICAgICAgICAgICAgY29uc3QgdGVtcDIgPSBoZWFwMltlbHRdO1xuICAgICAgICAgICAgaGVhcDJbZWx0XSA9IGhlYXAyW3N3YXBdO1xuICAgICAgICAgICAgaGVhcDJbc3dhcF0gPSB0ZW1wMjtcbiAgICAgICAgICAgIGVsdCA9IHN3YXA7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKipcbiAqIFNlYXJjaCB0aGUgaGVhcCBmb3IgdGhlIHNtYWxsZXN0IGVsZW1lbnQgdGhhdCBpcyBzdGlsbCBmbGFnZ2VkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc21hbGxlc3RGbGFnZ2VkKGhlYXAsIHJvdykge1xuICAgIGNvbnN0IGluZCA9IGhlYXBbMF1bcm93XTtcbiAgICBjb25zdCBkaXN0ID0gaGVhcFsxXVtyb3ddO1xuICAgIGNvbnN0IGZsYWcgPSBoZWFwWzJdW3Jvd107XG4gICAgbGV0IG1pbkRpc3QgPSBJbmZpbml0eTtcbiAgICBsZXQgcmVzdWx0SW5kZXggPSAtMTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA+IGluZC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoZmxhZ1tpXSA9PT0gMSAmJiBkaXN0W2ldIDwgbWluRGlzdCkge1xuICAgICAgICAgICAgbWluRGlzdCA9IGRpc3RbaV07XG4gICAgICAgICAgICByZXN1bHRJbmRleCA9IGk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHJlc3VsdEluZGV4ID49IDApIHtcbiAgICAgICAgZmxhZ1tyZXN1bHRJbmRleF0gPSAwO1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihpbmRbcmVzdWx0SW5kZXhdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhR1ZoY0M1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJbWhsWVhBdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN096czdPenM3T3pzN096czdPMGRCYVVKSE8wRkJNa05JTEU5QlFVOHNTMEZCU3l4TFFVRkxMRTFCUVUwc1UwRkJVeXhEUVVGRE8wRkJTV3BET3pzN096czdPenM3UjBGVFJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4UlFVRlJMRU5CUVVNc1QwRkJaU3hGUVVGRkxFbEJRVms3U1VGRGNFUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1EwRkJReXhUUVVGcFFpeEZRVUZGTEVWQlFVVTdVVUZEZGtNc1QwRkJUeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVU3V1VGRGJrTXNUMEZCVHl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXp0UlFVTjJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5NTEVOQlFVTXNRMEZCUXp0SlFVVkdMRTFCUVUwc1NVRkJTU3hIUVVGVExFVkJRVVVzUTBGQlF6dEpRVU4wUWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRNVUlzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5vUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTNwQ0xFOUJRVThzU1VGQlNTeERRVUZETzBGQlEyUXNRMEZCUXp0QlFVVkVPenM3TzBkQlNVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1pVRkJaU3hEUVVNM1FpeFJRVUZuUWl4RlFVTm9RaXhSUVVGblFpeEZRVU5vUWl4TlFVRm5RanRKUVVWb1FpeE5RVUZOTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzBsQlEzSkRMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4UlFVRlJMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGFrTXNTVUZCU1N4WlFVRlpMRWRCUVVjc1NVRkJTU3hEUVVGRE8xRkJRM2hDTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOV0xFOUJRVThzV1VGQldTeEZRVUZGTzFsQlEyNUNMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETEZGQlFWRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVOMlF5eEpRVUZKTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNN1dVRkRia0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkRNVUlzU1VGQlNTeERRVUZETEV0QlFVc3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRk8yOUNRVU51UWl4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRE8yOUNRVU5rTEUxQlFVMDdhVUpCUTFBN1lVRkRSanRaUVVORUxFbEJRVWtzUTBGQlF5eE5RVUZOTzJkQ1FVRkZMRmxCUVZrc1IwRkJSeXhMUVVGTExFTkJRVU03VTBGRGJrTTdVVUZEUkN4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzB0QlEyWTdTVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUTdPenM3T3p0SFFVMUhPMEZCUTBnc1RVRkJUU3hWUVVGVkxGRkJRVkVzUTBGRGRFSXNTVUZCVlN4RlFVTldMRWRCUVZjc1JVRkRXQ3hOUVVGakxFVkJRMlFzUzBGQllTeEZRVU5pTEVsQlFWazdTVUZGV2l4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTjBRaXhOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRE4wSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXpkQ0xEWkNRVUUyUWp0SlFVVTNRaXhKUVVGSkxFMUJRVTBzU1VGQlNTeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNSQ0xFOUJRVThzUTBGQlF5eERRVUZETzBsQlIxZ3NlVU5CUVhsRE8wbEJRM3BETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xRkJRM1pETEVsQlFVa3NTMEZCU3l4TFFVRkxMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGRFSXNUMEZCVHl4RFFVRkRMRU5CUVVNN1MwRkRXanRKUVVWRUxFOUJRVThzYVVKQlFXbENMRU5CUVVNc1NVRkJTU3hGUVVGRkxFZEJRVWNzUlVGQlJTeE5RVUZOTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wRkJRek5FTEVOQlFVTTdRVUZGUkRzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzYVVKQlFXbENMRU5CUXk5Q0xFbEJRVlVzUlVGRFZpeEhRVUZYTEVWQlExZ3NUVUZCWXl4RlFVTmtMRXRCUVdFc1JVRkRZaXhKUVVGWk8wbEJSVm9zVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF6ZENMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVNM1FpeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGTTBJc1NVRkJTU3hOUVVGTkxFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjBRaXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVWRZTERoQ1FVRTRRanRKUVVNNVFpeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRE8wbEJRM0JDTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU03U1VGRGJrSXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF6dEpRVVZvUWl4M1JVRkJkMFU3U1VGRGVFVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMVlzU1VGQlNTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTJRc1QwRkJUeXhKUVVGSkxFVkJRVVU3VVVGRFdDeE5RVUZOTEVkQlFVY3NSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU4wUWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlJYQkNMRTFCUVUwc1ZVRkJWU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRGNrTXNTVUZCU1N4SFFVRkhMRWxCUVVrc1ZVRkJWU3hGUVVGRk8xbEJRM0pDTEUxQlFVMDdVMEZEVUR0aFFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxGVkJRVlVzUlVGQlJUdFpRVU0xUWl4SlFVRkpMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eE5RVUZOTzJkQ1FVTjJRaXhMUVVGTExFZEJRVWNzUjBGQlJ5eERRVUZET3p0blFrRkZXaXhOUVVGTk8xTkJRMVE3WVVGQlRTeEpRVUZKTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVTdXVUZEZGtNc1NVRkJTU3hOUVVGTkxFZEJRVWNzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXp0blFrRkRka0lzUzBGQlN5eEhRVUZITEVkQlFVY3NRMEZCUXpzN1owSkJSVm9zVFVGQlRUdFRRVU5VTzJGQlFVMDdXVUZEVEN4SlFVRkpMRTFCUVUwc1IwRkJSeXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETzJkQ1FVTjJRaXhMUVVGTExFZEJRVWNzUjBGQlJ5eERRVUZET3p0blFrRkZXaXhOUVVGTk8xTkJRMVE3VVVGRlJDeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFGQlF6VkNMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkROVUlzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVVY0UWl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRE8wdEJRMWc3U1VGRlJDeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRE8wbEJRM0JDTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU03U1VGRGJrSXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF6dEpRVU5vUWl4UFFVRlBMRU5CUVVNc1EwRkJRenRCUVVOWUxFTkJRVU03UVVGRlJEczdPenRIUVVsSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdWQlFXVXNRMEZETjBJc1dVRkJhMElzUlVGRGJFSXNVMEZCYVVJc1JVRkRha0lzVlVGQmEwSXNSVUZEYkVJc1lVRkJjVUlzUlVGRGNrSXNUVUZCWjBJN1NVRkZhRUlzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSeXhSUVVGUkxFTkJRVU1zVTBGQlV5eEZRVUZGTEdGQlFXRXNRMEZCUXl4RFFVRkRPMGxCUXpsRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhUUVVGVExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEYkVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRlZCUVZVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU51UXl4SlFVRkpMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRE8yZENRVU16UWl4VFFVRlRPMWxCUlZnc1RVRkJUU3hIUVVGSExFZEJRVWNzV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEyeERMRTFCUVUwc1IwRkJSeXhIUVVGSExGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5zUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUTJoRExGRkJRVkVzUTBGQlF5eHJRa0ZCYTBJc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVNM1F5eFJRVUZSTEVOQlFVTXNhMEpCUVd0Q0xFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRE4wTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRUUVVNelFqdExRVU5HTzBsQlEwUXNUMEZCVHl4clFrRkJhMElzUTBGQlF6dEJRVU0xUWl4RFFVRkRPMEZCUlVRN096czdPMGRCUzBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVlVGQlZTeERRVUZETEVsQlFWVTdTVUZEYmtNc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTNoQ0xFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVWNFFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVOMlF5eE5RVUZOTEU5QlFVOHNSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRE0wSXNUVUZCVFN4UlFVRlJMRWRCUVVjc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJUVkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0WlFVTXpReXhOUVVGTkxGbEJRVmtzUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRE5VTXNUVUZCVFN4aFFVRmhMRWRCUVVjc1VVRkJVU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUlRsRExFMUJRVTBzUzBGQlN5eEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVONlFpeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFsQlEyNURMRTlCUVU4c1EwRkJReXhaUVVGWkxFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTTdXVUZGT1VJc1RVRkJUU3hMUVVGTExFZEJRVWNzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUXpGQ0xGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4UlFVRlJMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03V1VGRGRFTXNVVUZCVVN4RFFVRkRMR0ZCUVdFc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF6dFpRVVZvUXl4UlFVRlJMRU5CUVVNc1VVRkJVU3hGUVVGRkxFOUJRVThzUlVGQlJTeGhRVUZoTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1UwRkRMME03UzBGRFJqdEpRVU5FTEU5QlFVOHNSVUZCUXl4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRExFTkJRVU03UVVGRE5VSXNRMEZCUXp0QlFVVkVPenM3TzBkQlNVYzdRVUZEU0N4VFFVRlRMRkZCUVZFc1EwRkRaaXhMUVVGbExFVkJRMllzUzBGQlpTeEZRVU5tTEU5QlFXVXNSVUZEWml4SFFVRlhPMGxCUlZnc1QwRkJUeXhIUVVGSExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4UFFVRlBMRVZCUVVVN1VVRkROVUlzVFVGQlRTeFRRVUZUTEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRE9VSXNUVUZCVFN4VlFVRlZMRWRCUVVjc1UwRkJVeXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5xUXl4SlFVRkpMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU03VVVGRlppeEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETzFsQlEyaERMRWxCUVVrc1IwRkJSeXhUUVVGVExFTkJRVU03VVVGRmJrSXNTVUZCU1N4VlFVRlZMRWRCUVVjc1QwRkJUeXhKUVVGSkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRE8xbEJRM3BFTEVsQlFVa3NSMEZCUnl4VlFVRlZMRU5CUVVNN1VVRkhjRUlzU1VGQlNTeEpRVUZKTEV0QlFVc3NSMEZCUnl4RlFVRkZPMWxCUTJoQ0xFMUJRVTA3VTBGRFVEdGhRVUZOTzFsQlEwd3NUVUZCVFN4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzcENMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1dVRkRla0lzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJRenRaUVVWd1FpeE5RVUZOTEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGVrSXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0WlFVTjZRaXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRPMWxCUTNCQ0xFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTTdVMEZEV2p0TFFVTkdPMEZCUTBnc1EwRkJRenRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR1ZCUVdVc1EwRkJReXhKUVVGVkxFVkJRVVVzUjBGQlZ6dEpRVU55UkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRla0lzVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF6RkNMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVVeFFpeEpRVUZKTEU5QlFVOHNSMEZCUnl4UlFVRlJMRU5CUVVNN1NVRkRka0lzU1VGQlNTeFhRVUZYTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZja0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1VVRkRia01zU1VGQlNTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4UFFVRlBMRVZCUVVVN1dVRkRkRU1zVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOc1FpeFhRVUZYTEVkQlFVY3NRMEZCUXl4RFFVRkRPMU5CUTJwQ08wdEJRMFk3U1VGRlJDeEpRVUZKTEZkQlFWY3NTVUZCU1N4RFFVRkRMRVZCUVVVN1VVRkRjRUlzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOMFFpeFBRVUZQTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETEVOQlFVTTdTMEZEY2tNN1UwRkJUVHRSUVVOTUxFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTTdTMEZEV0R0QlFVTklMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnNhV05sYm5ObFhHNGdLbHh1SUNvZ1EyOXdlWEpwWjJoMElESXdNVGtnUjI5dloyeGxJRXhNUXk0Z1FXeHNJRkpwWjJoMGN5QlNaWE5sY25abFpDNWNiaUFxWEc0Z0tpQk1hV05sYm5ObFpDQjFibVJsY2lCMGFHVWdRWEJoWTJobElFeHBZMlZ1YzJVc0lGWmxjbk5wYjI0Z01pNHdJQ2gwYUdVZ1hDSk1hV05sYm5ObFhDSXBPMXh1SUNvZ2VXOTFJRzFoZVNCdWIzUWdkWE5sSUhSb2FYTWdabWxzWlNCbGVHTmxjSFFnYVc0Z1kyOXRjR3hwWVc1alpTQjNhWFJvSUhSb1pTQk1hV05sYm5ObExseHVJQ29nV1c5MUlHMWhlU0J2WW5SaGFXNGdZU0JqYjNCNUlHOW1JSFJvWlNCTWFXTmxibk5sSUdGMFhHNGdLbHh1SUNvZ0lDQWdJR2gwZEhBNkx5OTNkM2N1WVhCaFkyaGxMbTl5Wnk5c2FXTmxibk5sY3k5TVNVTkZUbE5GTFRJdU1GeHVJQ3BjYmlBcUlGVnViR1Z6Y3lCeVpYRjFhWEpsWkNCaWVTQmhjSEJzYVdOaFlteGxJR3hoZHlCdmNpQmhaM0psWldRZ2RHOGdhVzRnZDNKcGRHbHVaeXdnYzI5bWRIZGhjbVZjYmlBcUlHUnBjM1J5YVdKMWRHVmtJSFZ1WkdWeUlIUm9aU0JNYVdObGJuTmxJR2x6SUdScGMzUnlhV0oxZEdWa0lHOXVJR0Z1SUZ3aVFWTWdTVk5jSWlCQ1FWTkpVeXhjYmlBcUlGZEpWRWhQVlZRZ1YwRlNVa0ZPVkVsRlV5QlBVaUJEVDA1RVNWUkpUMDVUSUU5R0lFRk9XU0JMU1U1RUxDQmxhWFJvWlhJZ1pYaHdjbVZ6Y3lCdmNpQnBiWEJzYVdWa0xseHVJQ29nVTJWbElIUm9aU0JNYVdObGJuTmxJR1p2Y2lCMGFHVWdjM0JsWTJsbWFXTWdiR0Z1WjNWaFoyVWdaMjkyWlhKdWFXNW5JSEJsY20xcGMzTnBiMjV6SUdGdVpGeHVJQ29nYkdsdGFYUmhkR2x2Ym5NZ2RXNWtaWElnZEdobElFeHBZMlZ1YzJVdVhHNGdLaUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNiaUFxTDF4dVhHNHZLaXBjYmlBcUlGUm9hWE1nYVhNZ1lTQktZWFpoVTJOeWFYQjBJSEpsYVcxd2JHVnRaVzUwWVhScGIyNGdiMllnVlUxQlVDQW9iM0pwWjJsdVlXd2diR2xqWlc1elpTQmlaV3h2ZHlrc0lHWnliMjFjYmlBcUlIUm9aU0J3ZVhSb2IyNGdhVzF3YkdWdFpXNTBZWFJwYjI0Z1ptOTFibVFnWVhRZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyeHRZMmx1Ym1WekwzVnRZWEF1WEc0Z0tseHVJQ29nUUdGMWRHaHZjaUJoYm1SNVkyOWxibVZ1UUdkdmIyZHNaUzVqYjIwZ0tFRnVaSGtnUTI5bGJtVnVLVnh1SUNvdlhHNWNiaThxS2x4dUlDb2dRR3hwWTJWdWMyVmNiaUFxSUVKVFJDQXpMVU5zWVhWelpTQk1hV05sYm5ObFhHNGdLbHh1SUNvZ1EyOXdlWEpwWjJoMElDaGpLU0F5TURFM0xDQk1aV3hoYm1RZ1RXTkpibTVsYzF4dUlDb2dRV3hzSUhKcFoyaDBjeUJ5WlhObGNuWmxaQzVjYmlBcVhHNGdLaUJTWldScGMzUnlhV0oxZEdsdmJpQmhibVFnZFhObElHbHVJSE52ZFhKalpTQmhibVFnWW1sdVlYSjVJR1p2Y20xekxDQjNhWFJvSUc5eUlIZHBkR2h2ZFhSY2JpQXFJRzF2WkdsbWFXTmhkR2x2Yml3Z1lYSmxJSEJsY20xcGRIUmxaQ0J3Y205MmFXUmxaQ0IwYUdGMElIUm9aU0JtYjJ4c2IzZHBibWNnWTI5dVpHbDBhVzl1Y3lCaGNtVWdiV1YwT2x4dUlDcGNiaUFxSUNvZ1VtVmthWE4wY21saWRYUnBiMjV6SUc5bUlITnZkWEpqWlNCamIyUmxJRzExYzNRZ2NtVjBZV2x1SUhSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sTENCMGFHbHpYRzRnS2lBZ0lHeHBjM1FnYjJZZ1kyOXVaR2wwYVc5dWN5QmhibVFnZEdobElHWnZiR3h2ZDJsdVp5QmthWE5qYkdGcGJXVnlMbHh1SUNwY2JpQXFJQ29nVW1Wa2FYTjBjbWxpZFhScGIyNXpJR2x1SUdKcGJtRnllU0JtYjNKdElHMTFjM1FnY21Wd2NtOWtkV05sSUhSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sTEZ4dUlDb2dJQ0IwYUdseklHeHBjM1FnYjJZZ1kyOXVaR2wwYVc5dWN5QmhibVFnZEdobElHWnZiR3h2ZDJsdVp5QmthWE5qYkdGcGJXVnlJR2x1SUhSb1pTQmtiMk4xYldWdWRHRjBhVzl1WEc0Z0tpQWdJR0Z1WkM5dmNpQnZkR2hsY2lCdFlYUmxjbWxoYkhNZ2NISnZkbWxrWldRZ2QybDBhQ0IwYUdVZ1pHbHpkSEpwWW5WMGFXOXVMbHh1SUNwY2JpQXFJQ29nVG1WcGRHaGxjaUIwYUdVZ2JtRnRaU0J2WmlCMGFHVWdZMjl3ZVhKcFoyaDBJR2h2YkdSbGNpQnViM0lnZEdobElHNWhiV1Z6SUc5bUlHbDBjMXh1SUNvZ0lDQmpiMjUwY21saWRYUnZjbk1nYldGNUlHSmxJSFZ6WldRZ2RHOGdaVzVrYjNKelpTQnZjaUJ3Y205dGIzUmxJSEJ5YjJSMVkzUnpJR1JsY21sMlpXUWdabkp2YlZ4dUlDb2dJQ0IwYUdseklITnZablIzWVhKbElIZHBkR2h2ZFhRZ2MzQmxZMmxtYVdNZ2NISnBiM0lnZDNKcGRIUmxiaUJ3WlhKdGFYTnphVzl1TGx4dUlDcGNiaUFxSUZSSVNWTWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnUWxrZ1ZFaEZJRU5QVUZsU1NVZElWQ0JJVDB4RVJWSlRJRUZPUkNCRFQwNVVVa2xDVlZSUFVsTWdYQ0pCVXlCSlUxd2lYRzRnS2lCQlRrUWdRVTVaSUVWWVVGSkZVMU1nVDFJZ1NVMVFURWxGUkNCWFFWSlNRVTVVU1VWVExDQkpUa05NVlVSSlRrY3NJRUpWVkNCT1QxUWdURWxOU1ZSRlJDQlVUeXdnVkVoRlhHNGdLaUJKVFZCTVNVVkVJRmRCVWxKQlRsUkpSVk1nVDBZZ1RVVlNRMGhCVGxSQlFrbE1TVlJaSUVGT1JDQkdTVlJPUlZOVElFWlBVaUJCSUZCQlVsUkpRMVZNUVZJZ1VGVlNVRTlUUlNCQlVrVmNiaUFxSUVSSlUwTk1RVWxOUlVRdUlFbE9JRTVQSUVWV1JVNVVJRk5JUVV4TUlGUklSU0JEVDFCWlVrbEhTRlFnU0U5TVJFVlNJRTlTSUVOUFRsUlNTVUpWVkU5U1V5QkNSU0JNU1VGQ1RFVmNiaUFxSUVaUFVpQkJUbGtnUkVsU1JVTlVMQ0JKVGtSSlVrVkRWQ3dnU1U1RFNVUkZUbFJCVEN3Z1UxQkZRMGxCVEN3Z1JWaEZUVkJNUVZKWkxDQlBVaUJEVDA1VFJWRlZSVTVVU1VGTVhHNGdLaUJFUVUxQlIwVlRJQ2hKVGtOTVZVUkpUa2NzSUVKVlZDQk9UMVFnVEVsTlNWUkZSQ0JVVHl3Z1VGSlBRMVZTUlUxRlRsUWdUMFlnVTFWQ1UxUkpWRlZVUlNCSFQwOUVVeUJQVWx4dUlDb2dVMFZTVmtsRFJWTTdJRXhQVTFNZ1QwWWdWVk5GTENCRVFWUkJMQ0JQVWlCUVVrOUdTVlJUT3lCUFVpQkNWVk5KVGtWVFV5QkpUbFJGVWxKVlVGUkpUMDRwSUVoUFYwVldSVkpjYmlBcUlFTkJWVk5GUkNCQlRrUWdUMDRnUVU1WklGUklSVTlTV1NCUFJpQk1TVUZDU1V4SlZGa3NJRmRJUlZSSVJWSWdTVTRnUTA5T1ZGSkJRMVFzSUZOVVVrbERWQ0JNU1VGQ1NVeEpWRmtzWEc0Z0tpQlBVaUJVVDFKVUlDaEpUa05NVlVSSlRrY2dUa1ZIVEVsSFJVNURSU0JQVWlCUFZFaEZVbGRKVTBVcElFRlNTVk5KVGtjZ1NVNGdRVTVaSUZkQldTQlBWVlFnVDBZZ1ZFaEZJRlZUUlZ4dUlDb2dUMFlnVkVoSlV5QlRUMFpVVjBGU1JTd2dSVlpGVGlCSlJpQkJSRlpKVTBWRUlFOUdJRlJJUlNCUVQxTlRTVUpKVEVsVVdTQlBSaUJUVlVOSUlFUkJUVUZIUlM1Y2JpQXFMMXh1WEc1cGJYQnZjblFnZTFKaGJtUnZiVVp1ZlNCbWNtOXRJQ2N1TDNWdFlYQW5PMXh1YVcxd2IzSjBJQ29nWVhNZ2RYUnBiSE1nWm5KdmJTQW5MaTkxZEdsc2N5YzdYRzVjYm1WNGNHOXlkQ0IwZVhCbElFaGxZWEFnUFNCdWRXMWlaWEpiWFZ0ZFcxMDdYRzVjYmk4cUtseHVJQ29nSUVOdmJuTjBjblZqZEc5eUlHWnZjaUIwYUdVZ2FHVmhjQ0J2WW1wbFkzUnpMaUJVYUdVZ2FHVmhjSE1nWVhKbElIVnpaV1JjYmlBcUlHWnZjaUJoY0hCeWIzaHBiV0YwWlNCdVpXRnlaWE4wSUc1bGFXZG9ZbTl5SUhObFlYSmphQ3dnYldGcGJuUmhhVzVwYm1jZ1lTQnNhWE4wSUc5bUlIQnZkR1Z1ZEdsaGJGeHVJQ29nYm1WcFoyaGliM0p6SUhOdmNuUmxaQ0JpZVNCMGFHVnBjaUJrYVhOMFlXNWpaUzRnVjJVZ1lXeHpieUJtYkdGbklHbG1JSEJ2ZEdWdWRHbGhiQ0J1WldsbmFHSnZjbk5jYmlBcUlHRnlaU0J1Wlhkc2VTQmhaR1JsWkNCMGJ5QjBhR1VnYkdsemRDQnZjaUJ1YjNRdUlFbHVkR1Z5Ym1Gc2JIa2dkR2hwY3lCcGN5QnpkRzl5WldRZ1lYTmNiaUFxSUdFZ2MybHVaMnhsSUdGeWNtRjVPeUIwYUdVZ1ptbHljM1FnWVhocGN5QmtaWFJsY20xcGJtVnpJSGRvWlhSb1pYSWdkMlVnWVhKbElHeHZiMnRwYm1jZ1lYUWdkR2hsWEc0Z0tpQmhjbkpoZVNCdlppQmpZVzVrYVdSaGRHVWdhVzVrYVdObGN5d2dkR2hsSUdGeWNtRjVJRzltSUdScGMzUmhibU5sY3l3Z2IzSWdkR2hsSUdac1lXY2dZWEp5WVhrZ1ptOXlYRzRnS2lCM2FHVjBhR1Z5SUdWc1pXMWxiblJ6SUdGeVpTQnVaWGNnYjNJZ2JtOTBMaUJGWVdOb0lHOW1JSFJvWlhObElHRnljbUY1Y3lCaGNtVWdiMllnYzJoaGNHVmNiaUFxSUNoZ1lHNVFiMmx1ZEhOZ1lDd2dZR0J6YVhwbFlHQXBYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdFlXdGxTR1ZoY0NodVVHOXBiblJ6T2lCdWRXMWlaWElzSUhOcGVtVTZJRzUxYldKbGNpazZJRWhsWVhBZ2UxeHVJQ0JqYjI1emRDQnRZV3RsUVhKeVlYbHpJRDBnS0dacGJHeFdZV3gxWlRvZ2JuVnRZbVZ5S1NBOVBpQjdYRzRnSUNBZ2NtVjBkWEp1SUhWMGFXeHpMbVZ0Y0hSNUtHNVFiMmx1ZEhNcExtMWhjQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RYUnBiSE11Wm1sc2JHVmtLSE5wZW1Vc0lHWnBiR3hXWVd4MVpTazdYRzRnSUNBZ2ZTazdYRzRnSUgwN1hHNWNiaUFnWTI5dWMzUWdhR1ZoY0RvZ1NHVmhjQ0E5SUZ0ZE8xeHVJQ0JvWldGd0xuQjFjMmdvYldGclpVRnljbUY1Y3lndE1Ta3BPMXh1SUNCb1pXRndMbkIxYzJnb2JXRnJaVUZ5Y21GNWN5aEpibVpwYm1sMGVTa3BPMXh1SUNCb1pXRndMbkIxYzJnb2JXRnJaVUZ5Y21GNWN5Z3dLU2s3WEc0Z0lISmxkSFZ5YmlCb1pXRndPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFZGxibVZ5WVhSbElHNWZjMkZ0Y0d4bGN5QnRZVzU1SUdsdWRHVm5aWEp6SUdaeWIyMGdNQ0IwYnlCd2IyOXNYM05wZW1VZ2MzVmphQ0IwYUdGMElHNXZYRzRnS2lCcGJuUmxaMlZ5SUdseklITmxiR1ZqZEdWa0lIUjNhV05sTGlCVWFHVWdaSFZ3YkdsallYUnBiMjRnWTI5dWMzUnlZV2x1ZENCcGN5QmhZMmhwWlhabFpDQjJhV0ZjYmlBcUlISmxhbVZqZEdsdmJpQnpZVzF3YkdsdVp5NWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKbGFtVmpkR2x2YmxOaGJYQnNaU2hjYmlBZ2JsTmhiWEJzWlhNNklHNTFiV0psY2l4Y2JpQWdjRzl2YkZOcGVtVTZJRzUxYldKbGNpeGNiaUFnY21GdVpHOXRPaUJTWVc1a2IyMUdibHh1S1NCN1hHNGdJR052Ym5OMElISmxjM1ZzZENBOUlIVjBhV3h6TG5wbGNtOXpLRzVUWVcxd2JHVnpLVHRjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnVVMkZ0Y0d4bGN6c2dhU3NyS1NCN1hHNGdJQ0FnYkdWMElISmxhbVZqZEZOaGJYQnNaU0E5SUhSeWRXVTdYRzRnSUNBZ2JHVjBJR29nUFNBd08xeHVJQ0FnSUhkb2FXeGxJQ2h5WldwbFkzUlRZVzF3YkdVcElIdGNiaUFnSUNBZ0lHb2dQU0IxZEdsc2N5NTBZWFZTWVc1a1NXNTBLSEJ2YjJ4VGFYcGxMQ0J5WVc1a2IyMHBPMXh1SUNBZ0lDQWdiR1YwSUdKeWIydGxiaUE5SUdaaGJITmxPMXh1SUNBZ0lDQWdabTl5SUNoc1pYUWdheUE5SURBN0lHc2dQQ0JwT3lCckt5c3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHb2dQVDA5SUhKbGMzVnNkRnRyWFNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR0p5YjJ0bGJpQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2doWW5KdmEyVnVLU0J5WldwbFkzUlRZVzF3YkdVZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVZ6ZFd4MFcybGRJRDBnYWp0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGQjFjMmdnWVNCdVpYY2daV3hsYldWdWRDQnZiblJ2SUhSb1pTQm9aV0Z3TGlCVWFHVWdhR1ZoY0NCemRHOXlaWE1nY0c5MFpXNTBhV0ZzSUc1bGFXZG9ZbTl5YzF4dUlDb2dabTl5SUdWaFkyZ2daR0YwWVNCd2IybHVkQzRnVkdobElHQmdjbTkzWUdBZ2NHRnlZVzFsZEdWeUlHUmxkR1Z5YldsdVpYTWdkMmhwWTJnZ1pHRjBZU0J3YjJsdWRDQjNaVnh1SUNvZ1lYSmxJR0ZrWkhKbGMzTnBibWNzSUhSb1pTQmdZSGRsYVdkb2RHQmdJR1JsZEdWeWJXbHVaWE1nZEdobElHUnBjM1JoYm1ObElDaG1iM0lnYUdWaGNDQnpiM0owYVc1bktTeGNiaUFxSUhSb1pTQmdZR2x1WkdWNFlHQWdhWE1nZEdobElHVnNaVzFsYm5RZ2RHOGdZV1JrTENCaGJtUWdkR2hsSUdac1lXY2daR1YwWlhKdGFXNWxjeUIzYUdWMGFHVnlJSFJvYVhOY2JpQXFJR2x6SUhSdklHSmxJR052Ym5OcFpHVnlaV1FnWVNCdVpYY2dZV1JrYVhScGIyNHVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCb1pXRndVSFZ6YUNoY2JpQWdhR1ZoY0RvZ1NHVmhjQ3hjYmlBZ2NtOTNPaUJ1ZFcxaVpYSXNYRzRnSUhkbGFXZG9kRG9nYm5WdFltVnlMRnh1SUNCcGJtUmxlRG9nYm5WdFltVnlMRnh1SUNCbWJHRm5PaUJ1ZFcxaVpYSmNiaWs2SUc1MWJXSmxjaUI3WEc0Z0lISnZkeUE5SUUxaGRHZ3VabXh2YjNJb2NtOTNLVHRjYmlBZ1kyOXVjM1FnYVc1a2FXTmxjeUE5SUdobFlYQmJNRjFiY205M1hUdGNiaUFnWTI5dWMzUWdkMlZwWjJoMGN5QTlJR2hsWVhCYk1WMWJjbTkzWFR0Y2JpQWdMeTlqYjI1emRDQnBjMDVsZHlBOUlHaGxZWEJiTWwxYmNtOTNYVHRjYmx4dUlDQnBaaUFvZDJWcFoyaDBJRDQ5SUhkbGFXZG9kSE5iTUYwcFhHNGdJQ0FnY21WMGRYSnVJREE3WEc1Y2JseHVJQ0F2THlCQ2NtVmhheUJwWmlCM1pTQmhiSEpsWVdSNUlHaGhkbVVnZEdocGN5QmxiR1Z0Wlc1MExseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdsdVpHbGpaWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCcFppQW9hVzVrWlhnZ1BUMDlJR2x1WkdsalpYTmJhVjBwWEc0Z0lDQWdJQ0J5WlhSMWNtNGdNRHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIxYm1Ob1pXTnJaV1JJWldGd1VIVnphQ2hvWldGd0xDQnliM2NzSUhkbGFXZG9kQ3dnYVc1a1pYZ3NJR1pzWVdjcE8xeHVmVnh1WEc0dktpcGNiaUFxSUZCMWMyZ2dZU0J1WlhjZ1pXeGxiV1Z1ZENCdmJuUnZJSFJvWlNCb1pXRndMaUJVYUdVZ2FHVmhjQ0J6ZEc5eVpYTWdjRzkwWlc1MGFXRnNJRzVsYVdkb1ltOXljMXh1SUNvZ1ptOXlJR1ZoWTJnZ1pHRjBZU0J3YjJsdWRDNGdWR2hsSUdCZ2NtOTNZR0FnY0dGeVlXMWxkR1Z5SUdSbGRHVnliV2x1WlhNZ2QyaHBZMmdnWkdGMFlTQndiMmx1ZENCM1pWeHVJQ29nWVhKbElHRmtaSEpsYzNOcGJtY3NJSFJvWlNCZ1lIZGxhV2RvZEdCZ0lHUmxkR1Z5YldsdVpYTWdkR2hsSUdScGMzUmhibU5sSUNobWIzSWdhR1ZoY0NCemIzSjBhVzVuS1N4Y2JpQXFJSFJvWlNCZ1lHbHVaR1Y0WUdBZ2FYTWdkR2hsSUdWc1pXMWxiblFnZEc4Z1lXUmtMQ0JoYm1RZ2RHaGxJR1pzWVdjZ1pHVjBaWEp0YVc1bGN5QjNhR1YwYUdWeUlIUm9hWE5jYmlBcUlHbHpJSFJ2SUdKbElHTnZibk5wWkdWeVpXUWdZU0J1WlhjZ1lXUmthWFJwYjI0dVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIxYm1Ob1pXTnJaV1JJWldGd1VIVnphQ2hjYmlBZ2FHVmhjRG9nU0dWaGNDeGNiaUFnY205M09pQnVkVzFpWlhJc1hHNGdJSGRsYVdkb2REb2diblZ0WW1WeUxGeHVJQ0JwYm1SbGVEb2diblZ0WW1WeUxGeHVJQ0JtYkdGbk9pQnVkVzFpWlhKY2JpazZJRzUxYldKbGNpQjdYRzRnSUdOdmJuTjBJR2x1WkdsalpYTWdQU0JvWldGd1d6QmRXM0p2ZDEwN1hHNGdJR052Ym5OMElIZGxhV2RvZEhNZ1BTQm9aV0Z3V3pGZFczSnZkMTA3WEc0Z0lHTnZibk4wSUdselRtVjNJRDBnYUdWaGNGc3lYVnR5YjNkZE8xeHVYRzRnSUdsbUlDaDNaV2xuYUhRZ1BqMGdkMlZwWjJoMGMxc3dYU2xjYmlBZ0lDQnlaWFIxY200Z01EdGNibHh1WEc0Z0lDOHZJRWx1YzJWeWRDQjJZV3dnWVhRZ2NHOXphWFJwYjI0Z2VtVnliMXh1SUNCM1pXbG5hSFJ6V3pCZElEMGdkMlZwWjJoME8xeHVJQ0JwYm1ScFkyVnpXekJkSUQwZ2FXNWtaWGc3WEc0Z0lHbHpUbVYzV3pCZElEMGdabXhoWnp0Y2JseHVJQ0F2THlCRVpYTmpaVzVrSUhSb1pTQm9aV0Z3TENCemQyRndjR2x1WnlCMllXeDFaWE1nZFc1MGFXd2dkR2hsSUcxaGVDQm9aV0Z3SUdOeWFYUmxjbWx2YmlCcGN5QnRaWFJjYmlBZ2JHVjBJR2tnUFNBd08xeHVJQ0JzWlhRZ2FWTjNZWEFnUFNBd08xeHVJQ0IzYUdsc1pTQW9kSEoxWlNrZ2UxeHVJQ0FnSUdOdmJuTjBJR2xqTVNBOUlESWdLaUJwSUNzZ01UdGNiaUFnSUNCamIyNXpkQ0JwWXpJZ1BTQnBZekVnS3lBeE8xeHVYRzRnSUNBZ1kyOXVjM1FnYUdWaGNGTm9ZWEJsTWlBOUlHaGxZWEJiTUYxYk1GMHViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaHBZekVnUGowZ2FHVmhjRk5vWVhCbE1pa2dlMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNocFl6SWdQajBnYUdWaGNGTm9ZWEJsTWlrZ2UxeHVJQ0FnSUNBZ2FXWWdLSGRsYVdkb2RITmJhV014WFNBK0lIZGxhV2RvZENsY2JpQWdJQ0FnSUNBZ2FWTjNZWEFnUFNCcFl6RTdYRzRnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kMlZwWjJoMGMxdHBZekZkSUQ0OUlIZGxhV2RvZEhOYmFXTXlYU2tnZTF4dUlDQWdJQ0FnYVdZZ0tIZGxhV2RvZENBOElIZGxhV2RvZEhOYmFXTXhYU2xjYmlBZ0lDQWdJQ0FnYVZOM1lYQWdQU0JwWXpFN1hHNGdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JwWmlBb2QyVnBaMmgwSUR3Z2QyVnBaMmgwYzF0cFl6SmRLVnh1SUNBZ0lDQWdJQ0JwVTNkaGNDQTlJR2xqTWp0Y2JpQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZDJWcFoyaDBjMXRwWFNBOUlIZGxhV2RvZEhOYmFWTjNZWEJkTzF4dUlDQWdJR2x1WkdsalpYTmJhVjBnUFNCcGJtUnBZMlZ6VzJsVGQyRndYVHRjYmlBZ0lDQnBjMDVsZDF0cFhTQTlJR2x6VG1WM1cybFRkMkZ3WFR0Y2JseHVJQ0FnSUdrZ1BTQnBVM2RoY0R0Y2JpQWdmVnh1WEc0Z0lIZGxhV2RvZEhOYmFWMGdQU0IzWldsbmFIUTdYRzRnSUdsdVpHbGpaWE5iYVYwZ1BTQnBibVJsZUR0Y2JpQWdhWE5PWlhkYmFWMGdQU0JtYkdGbk8xeHVJQ0J5WlhSMWNtNGdNVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkNkV2xzWkNCaElHaGxZWEFnYjJZZ1kyRnVaR2xrWVhSbElHNWxhV2RvWW05eWN5Qm1iM0lnYm1WaGNtVnpkQ0J1WldsbmFHSnZjaUJrWlhOalpXNTBMaUJHYjNKY2JpQXFJR1ZoWTJnZ2RtVnlkR1Y0SUhSb1pTQmpZVzVrYVdSaGRHVWdibVZwWjJoaWIzSnpJR0Z5WlNCaGJua2dZM1Z5Y21WdWRDQnVaV2xuYUdKdmNuTXNJR0Z1WkNCaGJubGNiaUFxSUhabGNuUnBZMlZ6SUhSb1lYUWdhR0YyWlNCMGFHVWdkbVZ5ZEdWNElHRnpJRzl1WlNCdlppQjBhR1ZwY2lCdVpXRnlaWE4wSUc1bGFXZG9ZbTl5Y3k1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0oxYVd4a1EyRnVaR2xrWVhSbGN5aGNiaUFnWTNWeWNtVnVkRWR5WVhCb09pQklaV0Z3TEZ4dUlDQnVWbVZ5ZEdsalpYTTZJRzUxYldKbGNpeGNiaUFnYms1bGFXZG9ZbTl5Y3pvZ2JuVnRZbVZ5TEZ4dUlDQnRZWGhEWVc1a2FXUmhkR1Z6T2lCdWRXMWlaWElzWEc0Z0lISmhibVJ2YlRvZ1VtRnVaRzl0Um01Y2Jpa2dlMXh1SUNCamIyNXpkQ0JqWVc1a2FXUmhkR1ZPWldsbmFHSnZjbk1nUFNCdFlXdGxTR1ZoY0NodVZtVnlkR2xqWlhNc0lHMWhlRU5oYm1ScFpHRjBaWE1wTzF4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJRzVXWlhKMGFXTmxjenNnYVNzcktTQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnVUbVZwWjJoaWIzSnpPeUJxS3lzcElIdGNiaUFnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBSM0poY0doYk1GMWJhVjFiYWwwZ1BDQXdLVnh1SUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmx4dUlDQWdJQ0FnWTI5dWMzUWdhV1I0SUQwZ1kzVnljbVZ1ZEVkeVlYQm9XekJkVzJsZFcycGRPMXh1SUNBZ0lDQWdZMjl1YzNRZ2FYTnVJRDBnWTNWeWNtVnVkRWR5WVhCb1d6SmRXMmxkVzJwZE8xeHVJQ0FnSUNBZ1kyOXVjM1FnWkNBOUlIVjBhV3h6TG5SaGRWSmhibVFvY21GdVpHOXRLVHRjYmlBZ0lDQWdJR2hsWVhCUWRYTm9LR05oYm1ScFpHRjBaVTVsYVdkb1ltOXljeXdnYVN3Z1pDd2dhV1I0TENCcGMyNHBPMXh1SUNBZ0lDQWdhR1ZoY0ZCMWMyZ29ZMkZ1Wkdsa1lYUmxUbVZwWjJoaWIzSnpMQ0JwWkhnc0lHUXNJR2tzSUdsemJpazdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFIzSmhjR2hiTWwxYmFWMWJhbDBnUFNBd08xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnWTJGdVpHbGtZWFJsVG1WcFoyaGliM0p6TzF4dWZWeHVYRzR2S2lwY2JpQXFJRWRwZG1WdUlHRnVJR0Z5Y21GNUlHOW1JR2hsWVhCeklDaHZaaUJwYm1ScFkyVnpJR0Z1WkNCM1pXbG5hSFJ6S1N3Z2RXNXdZV05ySUhSb1pTQm9aV0Z3WEc0Z0tpQnZkWFFnZEc4Z1oybDJaU0JoYm1RZ1lYSnlZWGtnYjJZZ2MyOXlkR1ZrSUd4cGMzUnpJRzltSUdsdVpHbGpaWE1nWVc1a0lIZGxhV2RvZEhNZ1lua2dhVzVqY21WaGMybHVaMXh1SUNvZ2QyVnBaMmgwTGlCVWFHbHpJR2x6SUdWbVptVmpkR2wyWld4NUlHcDFjM1FnZEdobElITmxZMjl1WkNCb1lXeG1JRzltSUdobFlYQWdjMjl5ZENBb2RHaGxJR1pwY25OMFhHNGdLaUJvWVd4bUlHNXZkQ0JpWldsdVp5QnlaWEYxYVhKbFpDQnphVzVqWlNCM1pTQmhiSEpsWVdSNUlHaGhkbVVnZEdobElHUmhkR0VnYVc0Z1lTQm9aV0Z3S1M1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1JsYUdWaGNGTnZjblFvYUdWaGNEb2dTR1ZoY0NrZ2UxeHVJQ0JqYjI1emRDQnBibVJwWTJWeklEMGdhR1ZoY0Zzd1hUdGNiaUFnWTI5dWMzUWdkMlZwWjJoMGN5QTlJR2hsWVhCYk1WMDdYRzVjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnBibVJwWTJWekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdZMjl1YzNRZ2FXNWtTR1ZoY0NBOUlHbHVaR2xqWlhOYmFWMDdYRzRnSUNBZ1kyOXVjM1FnWkdsemRFaGxZWEFnUFNCM1pXbG5hSFJ6VzJsZE8xeHVYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnBibVJJWldGd0xteGxibWQwYUNBdElERTdJR29yS3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYVc1a1NHVmhjRWx1WkdWNElEMGdhVzVrU0dWaGNDNXNaVzVuZEdnZ0xTQnFJQzBnTVR0Y2JpQWdJQ0FnSUdOdmJuTjBJR1JwYzNSSVpXRndTVzVrWlhnZ1BTQmthWE4wU0dWaGNDNXNaVzVuZEdnZ0xTQnFJQzBnTVR0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnZEdWdGNERWdQU0JwYm1SSVpXRndXekJkTzF4dUlDQWdJQ0FnYVc1a1NHVmhjRnN3WFNBOUlHbHVaRWhsWVhCYmFXNWtTR1ZoY0VsdVpHVjRYVHRjYmlBZ0lDQWdJR2x1WkVobFlYQmJhVzVrU0dWaGNFbHVaR1Y0WFNBOUlIUmxiWEF4TzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0IwWlcxd01pQTlJR1JwYzNSSVpXRndXekJkTzF4dUlDQWdJQ0FnWkdsemRFaGxZWEJiTUYwZ1BTQmthWE4wU0dWaGNGdGthWE4wU0dWaGNFbHVaR1Y0WFR0Y2JpQWdJQ0FnSUdScGMzUklaV0Z3VzJScGMzUklaV0Z3U1c1a1pYaGRJRDBnZEdWdGNESTdYRzVjYmlBZ0lDQWdJSE5wWm5SRWIzZHVLR1JwYzNSSVpXRndMQ0JwYm1SSVpXRndMQ0JrYVhOMFNHVmhjRWx1WkdWNExDQXdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdjbVYwZFhKdUlIdHBibVJwWTJWekxDQjNaV2xuYUhSemZUdGNibjFjYmx4dUx5b3FYRzRnS2lCU1pYTjBiM0psSUhSb1pTQm9aV0Z3SUhCeWIzQmxjblI1SUdadmNpQmhJR2hsWVhBZ2QybDBhQ0JoYmlCdmRYUWdiMllnY0d4aFkyVWdaV3hsYldWdWRGeHVJQ29nWVhRZ2NHOXphWFJwYjI0Z1lHQmxiSFJnWUM0Z1ZHaHBjeUIzYjNKcmN5QjNhWFJvSUdFZ2FHVmhjQ0J3WVdseUlIZG9aWEpsSUdobFlYQXhJR05oY25KcFpYTmNiaUFxSUhSb1pTQjNaV2xuYUhSeklHRnVaQ0JvWldGd01pQm9iMnhrY3lCMGFHVWdZMjl5Y21WemNHOXVaR2x1WnlCbGJHVnRaVzUwY3k1Y2JpQXFMMXh1Wm5WdVkzUnBiMjRnYzJsbWRFUnZkMjRvWEc0Z0lHaGxZWEF4T2lCdWRXMWlaWEpiWFN4Y2JpQWdhR1ZoY0RJNklHNTFiV0psY2x0ZExGeHVJQ0JqWldsc2FXNW5PaUJ1ZFcxaVpYSXNYRzRnSUdWc2REb2diblZ0WW1WeVhHNHBJSHRjYmlBZ2QyaHBiR1VnS0dWc2RDQXFJRElnS3lBeElEd2dZMlZwYkdsdVp5a2dlMXh1SUNBZ0lHTnZibk4wSUd4bFpuUkRhR2xzWkNBOUlHVnNkQ0FxSURJZ0t5QXhPMXh1SUNBZ0lHTnZibk4wSUhKcFoyaDBRMmhwYkdRZ1BTQnNaV1owUTJocGJHUWdLeUF4TzF4dUlDQWdJR3hsZENCemQyRndJRDBnWld4ME8xeHVYRzRnSUNBZ2FXWWdLR2hsWVhBeFczTjNZWEJkSUR3Z2FHVmhjREZiYkdWbWRFTm9hV3hrWFNsY2JpQWdJQ0FnSUhOM1lYQWdQU0JzWldaMFEyaHBiR1E3WEc1Y2JpQWdJQ0JwWmlBb2NtbG5hSFJEYUdsc1pDQThJR05sYVd4cGJtY2dKaVlnYUdWaGNERmJjM2RoY0YwZ1BDQm9aV0Z3TVZ0eWFXZG9kRU5vYVd4a1hTbGNiaUFnSUNBZ0lITjNZWEFnUFNCeWFXZG9kRU5vYVd4a08xeHVYRzVjYmlBZ0lDQnBaaUFvYzNkaGNDQTlQVDBnWld4MEtTQjdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2RHVnRjREVnUFNCb1pXRndNVnRsYkhSZE8xeHVJQ0FnSUNBZ2FHVmhjREZiWld4MFhTQTlJR2hsWVhBeFczTjNZWEJkTzF4dUlDQWdJQ0FnYUdWaGNERmJjM2RoY0YwZ1BTQjBaVzF3TVR0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnZEdWdGNESWdQU0JvWldGd01sdGxiSFJkTzF4dUlDQWdJQ0FnYUdWaGNESmJaV3gwWFNBOUlHaGxZWEF5VzNOM1lYQmRPMXh1SUNBZ0lDQWdhR1ZoY0RKYmMzZGhjRjBnUFNCMFpXMXdNanRjYmlBZ0lDQWdJR1ZzZENBOUlITjNZWEE3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYmk4cUtseHVJQ29nVTJWaGNtTm9JSFJvWlNCb1pXRndJR1p2Y2lCMGFHVWdjMjFoYkd4bGMzUWdaV3hsYldWdWRDQjBhR0YwSUdseklITjBhV3hzSUdac1lXZG5aV1F1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnpiV0ZzYkdWemRFWnNZV2RuWldRb2FHVmhjRG9nU0dWaGNDd2djbTkzT2lCdWRXMWlaWElwSUh0Y2JpQWdZMjl1YzNRZ2FXNWtJRDBnYUdWaGNGc3dYVnR5YjNkZE8xeHVJQ0JqYjI1emRDQmthWE4wSUQwZ2FHVmhjRnN4WFZ0eWIzZGRPMXh1SUNCamIyNXpkQ0JtYkdGbklEMGdhR1ZoY0ZzeVhWdHliM2RkTzF4dVhHNGdJR3hsZENCdGFXNUVhWE4wSUQwZ1NXNW1hVzVwZEhrN1hHNGdJR3hsZENCeVpYTjFiSFJKYm1SbGVDQTlJQzB4TzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRDRnYVc1a0xteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdhV1lnS0dac1lXZGJhVjBnUFQwOUlERWdKaVlnWkdsemRGdHBYU0E4SUcxcGJrUnBjM1FwSUh0Y2JpQWdJQ0FnSUcxcGJrUnBjM1FnUFNCa2FYTjBXMmxkTzF4dUlDQWdJQ0FnY21WemRXeDBTVzVrWlhnZ1BTQnBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJR2xtSUNoeVpYTjFiSFJKYm1SbGVDQStQU0F3S1NCN1hHNGdJQ0FnWm14aFoxdHlaWE4xYkhSSmJtUmxlRjBnUFNBd08xeHVJQ0FnSUhKbGRIVnliaUJOWVhSb0xtWnNiMjl5S0dsdVpGdHlaWE4xYkhSSmJtUmxlRjBwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhKbGRIVnliaUF0TVR0Y2JpQWdmVnh1ZlZ4dUlsMTkiLCIvKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG4vKipcbiAqIEludGVybmFsIDItZGltZW5zaW9uYWwgc3BhcnNlIG1hdHJpeCBjbGFzc1xuICovXG5leHBvcnQgY2xhc3MgU3BhcnNlTWF0cml4IHtcbiAgICBlbnRyaWVzID0gbmV3IE1hcCgpO1xuICAgIG5Sb3dzID0gMDtcbiAgICBuQ29scyA9IDA7XG4gICAgY29uc3RydWN0b3Iocm93cywgY29scywgdmFsdWVzLCBkaW1zKSB7XG4gICAgICAgIGlmIChyb3dzLmxlbmd0aCAhPT0gY29scy5sZW5ndGggfHwgcm93cy5sZW5ndGggIT09IHZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigncm93cywgY29scyBhbmQgdmFsdWVzIGFycmF5cyBtdXN0IGFsbCBoYXZlIHRoZSBzYW1lIGxlbmd0aCcpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE86IEFzc2VydCB0aGF0IGRpbXMgYXJlIGxlZ2l0LlxuICAgICAgICB0aGlzLm5Sb3dzID0gZGltc1swXTtcbiAgICAgICAgdGhpcy5uQ29scyA9IGRpbXNbMV07XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCByb3cgPSByb3dzW2ldO1xuICAgICAgICAgICAgY29uc3QgY29sID0gY29sc1tpXTtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tEaW1zKHJvdywgY29sKTtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IHRoaXMubWFrZUtleShyb3csIGNvbCk7XG4gICAgICAgICAgICB0aGlzLmVudHJpZXMuc2V0KGtleSwgeyB2YWx1ZTogdmFsdWVzW2ldLCByb3csIGNvbCB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBtYWtlS2V5KHJvdywgY29sKSB7XG4gICAgICAgIHJldHVybiBgJHtyb3d9OiR7Y29sfWA7XG4gICAgfVxuICAgIGNoZWNrRGltcyhyb3csIGNvbCkge1xuICAgICAgICBjb25zdCB3aXRoaW5Cb3VuZHMgPSByb3cgPCB0aGlzLm5Sb3dzICYmIGNvbCA8IHRoaXMubkNvbHM7XG4gICAgICAgIGlmICghd2l0aGluQm91bmRzKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyb3cgYW5kL29yIGNvbCBzcGVjaWZpZWQgb3V0c2lkZSBvZiBtYXRyaXggZGltZW5zaW9ucycpO1xuICAgIH1cbiAgICBzZXQocm93LCBjb2wsIHZhbHVlKSB7XG4gICAgICAgIHRoaXMuY2hlY2tEaW1zKHJvdywgY29sKTtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5tYWtlS2V5KHJvdywgY29sKTtcbiAgICAgICAgaWYgKCF0aGlzLmVudHJpZXMuaGFzKGtleSkpXG4gICAgICAgICAgICB0aGlzLmVudHJpZXMuc2V0KGtleSwgeyB2YWx1ZSwgcm93LCBjb2wgfSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuZW50cmllcy5nZXQoa2V5KS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQocm93LCBjb2wsIGRlZmF1bHRWYWx1ZSA9IDApIHtcbiAgICAgICAgLy90aGlzLmNoZWNrRGltcyhyb3csIGNvbCk7XG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMubWFrZUtleShyb3csIGNvbCk7XG4gICAgICAgIGlmICh0aGlzLmVudHJpZXMuaGFzKGtleSkpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbnRyaWVzLmdldChrZXkpLnZhbHVlO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgICBnZXRBbGwob3JkZXJlZCA9IHRydWUpIHtcbiAgICAgICAgY29uc3Qgcm93Q29sVmFsdWVzID0gbmV3IEFycmF5KHRoaXMuZW50cmllcy5zaXplKS5maWxsKG51bGwpO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcm93Q29sVmFsdWVzW2krK10gPSB2YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChvcmRlcmVkKSB7XG4gICAgICAgICAgICAvLyBPcmRlcmluZyB0aGUgcmVzdWx0IGlzbid0IHJlcXVpcmVkIGZvciBwcm9jZXNzaW5nIGJ1dCBpdCBkb2VzIG1ha2UgaXQgZWFzaWVyIHRvIHdyaXRlIHRlc3RzXG4gICAgICAgICAgICByb3dDb2xWYWx1ZXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhLnJvdyA9PT0gYi5yb3cpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhLmNvbCAtIGIuY29sO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEucm93IC0gYi5yb3c7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm93Q29sVmFsdWVzO1xuICAgIH1cbiAgICBnZXREaW1zKCkge1xuICAgICAgICByZXR1cm4gW3RoaXMublJvd3MsIHRoaXMubkNvbHNdO1xuICAgIH1cbiAgICBnZXRSb3dzKCkge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVudHJpZXMsIChbX2tleSwgdmFsdWVdKSA9PiB2YWx1ZS5yb3cpO1xuICAgICAgICAvLyByZXR1cm4gdGhpcy5yb3dzIGFzIHVua25vd24gYXMgbnVtYmVyW107XG4gICAgfVxuICAgIGdldENvbHMoKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZW50cmllcywgKFtfa2V5LCB2YWx1ZV0pID0+IHZhbHVlLmNvbCk7XG4gICAgICAgIC8vIHJldHVybiB0aGlzLmNvbHMgYXMgdW5rbm93biBhcyBudW1iZXJbXTtcbiAgICB9XG4gICAgZ2V0VmFsdWVzKCkge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVudHJpZXMsIChbX2tleSwgdmFsdWVdKSA9PiB2YWx1ZS52YWx1ZSk7XG4gICAgICAgIC8vcmV0dXJuIHRoaXMudmFsdWVzIGFzIHVua25vd24gYXMgbnVtYmVyW107XG4gICAgfVxuICAgIGZvckVhY2goZm4pIHtcbiAgICAgICAgdGhpcy5lbnRyaWVzLmZvckVhY2goKHZhbHVlKSA9PiBmbih2YWx1ZS52YWx1ZSwgdmFsdWUucm93LCB2YWx1ZS5jb2wpKTtcbiAgICB9XG4gICAgbWFwKGZuKSB7XG4gICAgICAgIGNvbnN0IHZhbHMgPSBuZXcgRmxvYXQzMkFycmF5KHRoaXMuZW50cmllcy5zaXplKTtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICB0aGlzLmVudHJpZXMuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHZhbHNbaSsrXSA9IGZuKHZhbHVlLnZhbHVlLCB2YWx1ZS5yb3csIHZhbHVlLmNvbCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkaW1zID0gW3RoaXMublJvd3MsIHRoaXMubkNvbHNdO1xuICAgICAgICByZXR1cm4gbmV3IFNwYXJzZU1hdHJpeCh0aGlzLmdldFJvd3MoKSwgdGhpcy5nZXRDb2xzKCksIHZhbHMsIGRpbXMpO1xuICAgIH1cbiAgICB0b0FycmF5KCkge1xuICAgICAgICBjb25zdCByb3dzID0gdXRpbHMuZW1wdHkodGhpcy5uUm93cyk7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IHJvd3MubWFwKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB1dGlscy56ZXJvcyh0aGlzLm5Db2xzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgb3V0cHV0W3ZhbHVlLnJvd11bdmFsdWUuY29sXSA9IHZhbHVlLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICB9XG59XG4vKipcbiAqIFRyYW5zcG9zZSBhIHNwYXJzZSBtYXRyaXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zcG9zZShtYXRyaXgpIHtcbiAgICBjb25zdCBvbGRSb3dzID0gbWF0cml4LmdldFJvd3MoKTtcbiAgICBjb25zdCBvbGRDb2xzID0gbWF0cml4LmdldENvbHMoKTtcbiAgICBjb25zdCBvbGRWYWxzID0gbWF0cml4LmdldFZhbHVlcygpO1xuICAgIGNvbnN0IG1hdGxlbiA9IG9sZENvbHMubGVuZ3RoO1xuICAgIGNvbnN0IGNvbHMgPSBuZXcgSW50MzJBcnJheShtYXRsZW4pO1xuICAgIGNvbnN0IHJvd3MgPSBuZXcgSW50MzJBcnJheShtYXRsZW4pO1xuICAgIGNvbnN0IHZhbHMgPSBuZXcgRmxvYXQzMkFycmF5KG1hdGxlbik7XG4gICAgY29scy5zZXQob2xkUm93cyk7XG4gICAgcm93cy5zZXQob2xkQ29scyk7XG4gICAgdmFscy5zZXQob2xkVmFscyk7XG4gICAgY29uc3QgZGltcyA9IFttYXRyaXgubkNvbHMsIG1hdHJpeC5uUm93c107XG4gICAgcmV0dXJuIG5ldyBTcGFyc2VNYXRyaXgocm93cywgY29scywgdmFscywgZGltcyk7XG59XG4vKipcbiAqIENvbnN0cnVjdCBhIHNwYXJzZSBpZGVudGl0eSBtYXRyaXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlkZW50aXR5KHNpemUpIHtcbiAgICBjb25zdCBbcm93c10gPSBzaXplO1xuICAgIGNvbnN0IG1hdHJpeCA9IG5ldyBTcGFyc2VNYXRyaXgoW10sIFtdLCBbXSwgc2l6ZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dzOyBpKyspXG4gICAgICAgIG1hdHJpeC5zZXQoaSwgaSwgMSk7XG4gICAgcmV0dXJuIG1hdHJpeDtcbn1cbi8qKlxuICogRWxlbWVudC13aXNlIG11bHRpcGxpY2F0aW9uIG9mIHR3byBtYXRyaWNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcGFpcndpc2VNdWx0aXBseShhLCBiKSB7XG4gICAgcmV0dXJuIGVsZW1lbnRXaXNlKGEsIGIsICh4LCB5KSA9PiB4ICogeSk7XG59XG4vKipcbiAqIEVsZW1lbnQtd2lzZSBhZGRpdGlvbiBvZiB0d28gbWF0cmljZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZChhLCBiKSB7XG4gICAgcmV0dXJuIGVsZW1lbnRXaXNlKGEsIGIsICh4LCB5KSA9PiB4ICsgeSk7XG59XG4vKipcbiAqIEVsZW1lbnQtd2lzZSBzdWJ0cmFjdGlvbiBvZiB0d28gbWF0cmljZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1YnRyYWN0KGEsIGIpIHtcbiAgICByZXR1cm4gZWxlbWVudFdpc2UoYSwgYiwgKHgsIHkpID0+IHggLSB5KTtcbn1cbi8qKlxuICogRWxlbWVudC13aXNlIG1heGltdW0gb2YgdHdvIG1hdHJpY2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXhpbXVtKGEsIGIpIHtcbiAgICByZXR1cm4gZWxlbWVudFdpc2UoYSwgYiwgKHgsIHkpID0+ICh4ID4geSA/IHggOiB5KSk7XG59XG4vKipcbiAqIFNjYWxhciBtdWx0aXBsaWNhdGlvbiBvZiB0d28gbWF0cmljZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG11bHRpcGx5U2NhbGFyKGEsIHNjYWxhcikge1xuICAgIHJldHVybiBhLm1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlICogc2NhbGFyO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIGEgbmV3IG1hdHJpeCB3aXRoIHplcm8gZW50cmllcyByZW1vdmVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZWxpbWluYXRlWmVyb3MobSkge1xuICAgIGNvbnN0IHplcm9JbmRpY2VzID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IHZhbHVlcyA9IG0uZ2V0VmFsdWVzKCk7XG4gICAgY29uc3Qgcm93cyA9IG0uZ2V0Um93cygpO1xuICAgIGNvbnN0IGNvbHMgPSBtLmdldENvbHMoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAodmFsdWVzW2ldID09PSAwKVxuICAgICAgICAgICAgemVyb0luZGljZXMuYWRkKGkpO1xuICAgIH1cbiAgICBjb25zdCByZW1vdmVCeVplcm9JbmRleCA9IChfLCBpbmRleCkgPT4gIXplcm9JbmRpY2VzLmhhcyhpbmRleCk7XG4gICAgY29uc3QgbmV4dFZhbHVlcyA9IHZhbHVlcy5maWx0ZXIocmVtb3ZlQnlaZXJvSW5kZXgpO1xuICAgIGNvbnN0IG5leHRSb3dzID0gcm93cy5maWx0ZXIocmVtb3ZlQnlaZXJvSW5kZXgpO1xuICAgIGNvbnN0IG5leHRDb2xzID0gY29scy5maWx0ZXIocmVtb3ZlQnlaZXJvSW5kZXgpO1xuICAgIHJldHVybiBuZXcgU3BhcnNlTWF0cml4KG5leHRSb3dzLCBuZXh0Q29scywgbmV4dFZhbHVlcywgbS5nZXREaW1zKCkpO1xufVxuLyoqXG4gKiBOb3JtYWxpemF0aW9uIG9mIGEgc3BhcnNlIG1hdHJpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZShtLCBub3JtVHlwZSA9IFwibDJcIiAvKiBOb3JtVHlwZS5sMiAqLykge1xuICAgIGNvbnN0IG5vcm1GbiA9IG5vcm1GbnNbbm9ybVR5cGVdO1xuICAgIGNvbnN0IGNvbHNCeVJvdyA9IG5ldyBNYXAoKTtcbiAgICBtLmZvckVhY2goKF8sIHJvdywgY29sKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHMgPSBjb2xzQnlSb3cuZ2V0KHJvdykgfHwgW107XG4gICAgICAgIGNvbHMucHVzaChjb2wpO1xuICAgICAgICBjb2xzQnlSb3cuc2V0KHJvdywgY29scyk7XG4gICAgfSk7XG4gICAgY29uc3QgbmV4dE1hdHJpeCA9IG5ldyBTcGFyc2VNYXRyaXgoW10sIFtdLCBbXSwgbS5nZXREaW1zKCkpO1xuICAgIGZvciAoY29uc3Qgcm93IG9mIGNvbHNCeVJvdy5rZXlzKCkpIHtcbiAgICAgICAgY29uc3QgY29scyA9IGNvbHNCeVJvdy5nZXQocm93KS5zb3J0KCk7XG4gICAgICAgIGNvbnN0IHZhbHMgPSBjb2xzLm1hcCgoY29sKSA9PiBtLmdldChyb3csIGNvbCkpO1xuICAgICAgICBjb25zdCBub3JtID0gbm9ybUZuKHZhbHMpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vcm0ubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICBuZXh0TWF0cml4LnNldChyb3csIGNvbHNbaV0sIG5vcm1baV0pO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dE1hdHJpeDtcbn1cbmNvbnN0IG5vcm1GbnMgPSB7XG4gICAgW1wibWF4XCIgLyogTm9ybVR5cGUubWF4ICovXTogKHhzKSA9PiB7XG4gICAgICAgIGxldCBtYXggPSAtSW5maW5pdHk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgeHMubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICBtYXggPSB4c1tpXSA+IG1heCA/IHhzW2ldIDogbWF4O1xuICAgICAgICByZXR1cm4geHMubWFwKCh4KSA9PiB4IC8gbWF4KTtcbiAgICB9LFxuICAgIFtcImwxXCIgLyogTm9ybVR5cGUubDEgKi9dOiAoeHMpID0+IHtcbiAgICAgICAgbGV0IHN1bSA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgeHMubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICBzdW0gKz0geHNbaV07XG4gICAgICAgIHJldHVybiB4cy5tYXAoKHgpID0+IHggLyBzdW0pO1xuICAgIH0sXG4gICAgW1wibDJcIiAvKiBOb3JtVHlwZS5sMiAqL106ICh4cykgPT4ge1xuICAgICAgICBsZXQgc3VtID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB4cy5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIHN1bSArPSB4c1tpXSAqKiAyO1xuICAgICAgICByZXR1cm4geHMubWFwKCh4KSA9PiBNYXRoLnNxcnQoeCAqKiAyIC8gc3VtKSk7XG4gICAgfSxcbn07XG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiBmb3IgZWxlbWVudC13aXNlIG9wZXJhdGlvbnMuXG4gKi9cbmZ1bmN0aW9uIGVsZW1lbnRXaXNlKGEsIGIsIG9wKSB7XG4gICAgY29uc3QgdmlzaXRlZCA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCByb3dzID0gW107XG4gICAgY29uc3QgY29scyA9IFtdO1xuICAgIGNvbnN0IHZhbHMgPSBbXTtcbiAgICBjb25zdCBvcGVyYXRlID0gKHJvdywgY29sKSA9PiB7XG4gICAgICAgIHJvd3MucHVzaChyb3cpO1xuICAgICAgICBjb2xzLnB1c2goY29sKTtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gb3AoYS5nZXQocm93LCBjb2wpLCBiLmdldChyb3csIGNvbCkpO1xuICAgICAgICB2YWxzLnB1c2gobmV4dFZhbHVlKTtcbiAgICB9O1xuICAgIGNvbnN0IHZhbHVlc0EgPSBhLmdldFZhbHVlcygpO1xuICAgIGNvbnN0IHJvd3NBID0gYS5nZXRSb3dzKCk7XG4gICAgY29uc3QgY29sc0EgPSBhLmdldENvbHMoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlc0EubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gcm93c0FbaV07XG4gICAgICAgIGNvbnN0IGNvbCA9IGNvbHNBW2ldO1xuICAgICAgICBjb25zdCBrZXkgPSBgJHtyb3d9OiR7Y29sfWA7XG4gICAgICAgIHZpc2l0ZWQuYWRkKGtleSk7XG4gICAgICAgIG9wZXJhdGUocm93LCBjb2wpO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZXNCID0gYi5nZXRWYWx1ZXMoKTtcbiAgICBjb25zdCByb3dzQiA9IGIuZ2V0Um93cygpO1xuICAgIGNvbnN0IGNvbHNCID0gYi5nZXRDb2xzKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNCLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHJvdyA9IHJvd3NCW2ldO1xuICAgICAgICBjb25zdCBjb2wgPSBjb2xzQltpXTtcbiAgICAgICAgY29uc3Qga2V5ID0gYCR7cm93fToke2NvbH1gO1xuICAgICAgICBpZiAodmlzaXRlZC5oYXMoa2V5KSlcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBvcGVyYXRlKHJvdywgY29sKTtcbiAgICB9XG4gICAgY29uc3QgZGltcyA9IFthLm5Sb3dzLCBhLm5Db2xzXTtcbiAgICByZXR1cm4gbmV3IFNwYXJzZU1hdHJpeChyb3dzLCBjb2xzLCB2YWxzLCBkaW1zKTtcbn1cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIGZvciBnZXR0aW5nIGRhdGEsIGluZGljZXMsIGFuZCBpbnB0ciBhcnJheXMgZnJvbSBhIHNwYXJzZVxuICogbWF0cml4IHRvIGZvbGxvdyBjc3IgbWF0cml4IGNvbnZlbnRpb25zLiBTdXBlciBpbmVmZmljaWVudCAoYW5kIGtpbmQgb2ZcbiAqIGRlZmVhdHMgdGhlIHB1cnBvc2Ugb2YgdGhpcyBjb252ZW50aW9uKSBidXQgYSBsb3Qgb2YgdGhlIHBvcnRlZCBweXRob24gdHJlZVxuICogc2VhcmNoIGxvZ2ljIGRlcGVuZHMgb24gdGhpcyBkYXRhIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENTUih4KSB7XG4gICAgY29uc3QgZW50cmllcyA9IFtdO1xuICAgIHguZm9yRWFjaCgodmFsdWUsIHJvdywgY29sKSA9PiB7XG4gICAgICAgIGVudHJpZXMucHVzaCh7IHZhbHVlLCByb3csIGNvbCB9KTtcbiAgICB9KTtcbiAgICBlbnRyaWVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgaWYgKGEucm93ID09PSBiLnJvdylcbiAgICAgICAgICAgIHJldHVybiBhLmNvbCAtIGIuY29sO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gYS5yb3cgLSBiLnJvdztcbiAgICB9KTtcbiAgICBjb25zdCBpbmRpY2VzID0gW107XG4gICAgY29uc3QgdmFsdWVzID0gW107XG4gICAgY29uc3QgaW5kcHRyID0gW107XG4gICAgbGV0IGN1cnJlbnRSb3cgPSAtMTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgeyByb3csIGNvbCwgdmFsdWUgfSA9IGVudHJpZXNbaV07XG4gICAgICAgIGlmIChyb3cgIT09IGN1cnJlbnRSb3cpIHtcbiAgICAgICAgICAgIGN1cnJlbnRSb3cgPSByb3c7XG4gICAgICAgICAgICBpbmRwdHIucHVzaChpKTtcbiAgICAgICAgfVxuICAgICAgICBpbmRpY2VzLnB1c2goY29sKTtcbiAgICAgICAgdmFsdWVzLnB1c2godmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4geyBpbmRpY2VzLCB2YWx1ZXMsIGluZHB0ciB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYldGMGNtbDRMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaWJXRjBjbWw0TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPenM3T3pzN096czdPenM3T3pzN096dEhRV2xDUnp0QlFVVklMRTlCUVU4c1MwRkJTeXhMUVVGTExFMUJRVTBzVTBGQlV5eERRVUZETzBGQlNXcERPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFBRVUZQTEZsQlFWazdTVUZEWml4UFFVRlBMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRV2xDTEVOQlFVTTdTVUZGYkVNc1MwRkJTeXhIUVVGWExFTkJRVU1zUTBGQlF6dEpRVU5zUWl4TFFVRkxMRWRCUVZjc1EwRkJReXhEUVVGRE8wbEJSVE5DTEZsQlEwVXNTVUZCTWtJc1JVRkRNMElzU1VGQk1rSXNSVUZETTBJc1RVRkJLMElzUlVGREwwSXNTVUZCWXp0UlFVVmtMRWxCUVVrc1NVRkJTU3hEUVVGRExFMUJRVTBzUzBGQlN5eEpRVUZKTEVOQlFVTXNUVUZCVFN4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFdEJRVXNzVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlR0WlFVTm9SU3hOUVVGTkxFbEJRVWtzUzBGQlN5eERRVU5pTERSRVFVRTBSQ3hEUVVNM1JDeERRVUZETzFOQlEwZzdVVUZGUkN4dlEwRkJiME03VVVGRGNFTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEY2tJc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRja0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkRkRU1zVFVGQlRTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRM0JDTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU53UWl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTjZRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU51UXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUXl4TFFVRkxMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVNc1EwRkJReXhEUVVGRE8xTkJRM0pFTzBsQlEwZ3NRMEZCUXp0SlFVVlBMRTlCUVU4c1EwRkJReXhIUVVGWExFVkJRVVVzUjBGQlZ6dFJRVU4wUXl4UFFVRlBMRWRCUVVjc1IwRkJSeXhKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZETzBsQlEzcENMRU5CUVVNN1NVRkZUeXhUUVVGVExFTkJRVU1zUjBGQlZ5eEZRVUZGTEVkQlFWYzdVVUZEZUVNc1RVRkJUU3haUVVGWkxFZEJRVWNzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRWxCUVVrc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZETVVRc1NVRkJTU3hEUVVGRExGbEJRVms3V1VGRFppeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMSFZFUVVGMVJDeERRVUZETEVOQlFVTTdTVUZETjBVc1EwRkJRenRKUVVWRUxFZEJRVWNzUTBGQlF5eEhRVUZYTEVWQlFVVXNSMEZCVnl4RlFVRkZMRXRCUVdFN1VVRkRla01zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVrSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRia01zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF6dFpRVU40UWl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUXl4TFFVRkxMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlF5eERRVUZETEVOQlFVTTdPMWxCUlhwRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJSU3hEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdTVUZEZWtNc1EwRkJRenRKUVVWRUxFZEJRVWNzUTBGQlF5eEhRVUZYTEVWQlFVVXNSMEZCVnl4RlFVRkZMRmxCUVZrc1IwRkJSeXhEUVVGRE8xRkJRelZETERKQ1FVRXlRanRSUVVNelFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTnVReXhKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJRenRaUVVOMlFpeFBRVUZQTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlJTeERRVUZETEV0QlFVc3NRMEZCUXpzN1dVRkZjRU1zVDBGQlR5eFpRVUZaTEVOQlFVTTdTVUZEZUVJc1EwRkJRenRKUVVWRUxFMUJRVTBzUTBGQlF5eFBRVUZQTEVkQlFVY3NTVUZCU1R0UlFVTnVRaXhOUVVGTkxGbEJRVmtzUjBGQldTeEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOMFJTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRWaXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRk8xbEJRemRDTEZsQlFWa3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF6dFJRVU0xUWl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxFbEJRVWtzVDBGQlR5eEZRVUZGTzFsQlExZ3NPRVpCUVRoR08xbEJRemxHTEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUTNwQ0xFbEJRVWtzUTBGQlF5eERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1IwRkJSenR2UWtGRGFrSXNUMEZCVHl4RFFVRkRMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTTdPMjlDUVVWeVFpeFBRVUZQTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dFpRVU42UWl4RFFVRkRMRU5CUVVNc1EwRkJRenRUUVVOS08xRkJRMFFzVDBGQlR5eFpRVUZaTEVOQlFVTTdTVUZEZEVJc1EwRkJRenRKUVVWRUxFOUJRVTg3VVVGRFRDeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdTVUZEYkVNc1EwRkJRenRKUVVWRUxFOUJRVTg3VVVGRFRDeFBRVUZQTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETEVOQlFVTXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRPVVFzTWtOQlFUSkRPMGxCUXpkRExFTkJRVU03U1VGRlJDeFBRVUZQTzFGQlEwd3NUMEZCVHl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRemxFTERKRFFVRXlRenRKUVVNM1F5eERRVUZETzBsQlJVUXNVMEZCVXp0UlFVTlFMRTlCUVU4c1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUzBGQlN5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU5zUlN3MFEwRkJORU03U1VGRE5VTXNRMEZCUXp0SlFVVkVMRTlCUVU4c1EwRkJReXhGUVVGeFJEdFJRVU16UkN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVWQlFVVXNTMEZCU3l4RFFVRkRMRWRCUVVjc1JVRkJSU3hMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjZSU3hEUVVGRE8wbEJSVVFzUjBGQlJ5eERRVUZETEVWQlFYVkVPMUZCUTNwRUxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZEYWtRc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlExWXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlR0WlFVTTNRaXhKUVVGSkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGQlJTeExRVUZMTEVOQlFVTXNSMEZCUnl4RlFVRkZMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU53UkN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxFMUJRVTBzU1VGQlNTeEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdVVUZEZEVNc1QwRkJUeXhKUVVGSkxGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeEZRVUZGTEVsQlFUSkNMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRE4wWXNRMEZCUXp0SlFVVkVMRTlCUVU4N1VVRkRUQ3hOUVVGTkxFbEJRVWtzUjBGQlowSXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdVVUZEYkVRc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUVVVN1dVRkRNMElzVDBGQlR5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU5xUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVU3V1VGRE4wSXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF6dFJRVU0zUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxFOUJRVThzVFVGQlRTeERRVUZETzBsQlEyaENMRU5CUVVNN1EwRkRSanRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRk5CUVZNc1EwRkJReXhOUVVGdlFqdEpRVU0xUXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhOUVVGTkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZEYWtNc1RVRkJUU3hQUVVGUExFZEJRVWNzVFVGQlRTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUTJwRExFMUJRVTBzVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVOdVF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRemxDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1ZVRkJWU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBsQlEzQkRMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzVlVGQlZTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUTNCRExFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NXVUZCV1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJSWFJETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRGJFSXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU5zUWl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzBsQlEyeENMRTFCUVUwc1NVRkJTU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03U1VGRE1VTXNUMEZCVHl4SlFVRkpMRmxCUVZrc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRCUVVOc1JDeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVVVGQlVTeERRVUZETEVsQlFXTTdTVUZEY2tNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXp0SlFVTndRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEZsQlFWa3NRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hGUVVGRkxFVkJRVVVzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTnNSQ3hMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1NVRkJTU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU16UWl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZkRUlzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR2RDUVVGblFpeERRVU01UWl4RFFVRmxMRVZCUTJZc1EwRkJaVHRKUVVWbUxFOUJRVThzVjBGQlZ5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRE5VTXNRMEZCUXp0QlFVVkVPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEVkQlFVY3NRMEZCUXl4RFFVRmxMRVZCUVVVc1EwRkJaVHRKUVVOc1JDeFBRVUZQTEZkQlFWY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6VkRMRU5CUVVNN1FVRkZSRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4UlFVRlJMRU5CUVVNc1EwRkJaU3hGUVVGRkxFTkJRV1U3U1VGRGRrUXNUMEZCVHl4WFFVRlhMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTTFReXhEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1QwRkJUeXhEUVVGRExFTkJRV1VzUlVGQlJTeERRVUZsTzBsQlEzUkVMRTlCUVU4c1YwRkJWeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOMFJDeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzWTBGQll5eERRVUZETEVOQlFXVXNSVUZCUlN4TlFVRmpPMGxCUXpWRUxFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRXRCUVdFc1JVRkJSU3hGUVVGRk8xRkJRemRDTEU5QlFVOHNTMEZCU3l4SFFVRkhMRTFCUVUwc1EwRkJRenRKUVVONFFpeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTk1MRU5CUVVNN1FVRkZSRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4alFVRmpMRU5CUVVNc1EwRkJaVHRKUVVNMVF5eE5RVUZOTEZkQlFWY3NSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGRE8wbEJRemxDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dEpRVU0zUWl4TlFVRk5MRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZEZWtJc1RVRkJUU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUTNwQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTNSRExFbEJRVWtzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNN1dVRkRha0lzVjBGQlZ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRMUVVOMFFqdEpRVU5FTEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWNzUTBGQlF5eERRVUZOTEVWQlFVVXNTMEZCWVN4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1NVRkROMFVzVFVGQlRTeFZRVUZWTEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMGxCUTNCRUxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXp0SlFVTm9SQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVOQlFVTTdTVUZGYUVRc1QwRkJUeXhKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVWQlFVVXNVVUZCVVN4RlFVRkZMRlZCUVZVc1JVRkJSU3hEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTjJSU3hEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1UwRkJVeXhEUVVGRExFTkJRV1VzUlVGQlJTeFJRVUZSTEhsQ1FVRmpPMGxCUXk5RUxFMUJRVTBzVFVGQlRTeEhRVUZITEU5QlFVOHNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRKUVVWcVF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJiMElzUTBGQlF6dEpRVU01UXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSVHRSUVVONFFpeE5RVUZOTEVsQlFVa3NSMEZCUnl4VFFVRlRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXp0UlFVTjBReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTJZc1UwRkJVeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRNMElzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZGU0N4TlFVRk5MRlZCUVZVc1IwRkJSeXhKUVVGSkxGbEJRVmtzUTBGQlF5eEZRVUZGTEVWQlFVVXNSVUZCUlN4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVVTNSQ3hMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEZOQlFWTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1JVRkJSVHRSUVVOc1F5eE5RVUZOTEVsQlFVa3NSMEZCUnl4VFFVRlRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlJTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUlhoRExFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYUVRc1RVRkJUU3hKUVVGSkxFZEJRVWNzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUXpGQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlR0WlFVTnNReXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1MwRkRla003U1VGRlJDeFBRVUZQTEZWQlFWVXNRMEZCUXp0QlFVTndRaXhEUVVGRE8wRkJUVVFzVFVGQlRTeFBRVUZQTEVkQlFWazdTVUZEZGtJc01FSkJRV01zUlVGQlJTeERRVUZETEVWQlFWa3NSVUZCUlN4RlFVRkZPMUZCUXk5Q0xFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRPMUZCUTNCQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlR0WlFVTm9ReXhIUVVGSExFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU03VVVGRmJFTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGFFTXNRMEZCUXp0SlFVTkVMSGRDUVVGaExFVkJRVVVzUTBGQlF5eEZRVUZaTEVWQlFVVXNSVUZCUlR0UlFVTTVRaXhKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEV2l4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVU3V1VGRGFFTXNSMEZCUnl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVZtTEU5QlFVOHNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMmhETEVOQlFVTTdTVUZEUkN4M1FrRkJZU3hGUVVGRkxFTkJRVU1zUlVGQldTeEZRVUZGTEVWQlFVVTdVVUZET1VJc1NVRkJTU3hIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlExb3NTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRk8xbEJRMmhETEVkQlFVY3NTVUZCU1N4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlJYQkNMRTlCUVU4c1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGFFUXNRMEZCUXp0RFFVTkdMRU5CUVVNN1FVRlJSanM3UjBGRlJ6dEJRVU5JTEZOQlFWTXNWMEZCVnl4RFFVTnNRaXhEUVVGbExFVkJRMllzUTBGQlpTeEZRVU5tTEVWQlFXOURPMGxCUlhCRExFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NSMEZCUnl4RlFVRlZMRU5CUVVNN1NVRkRiRU1zVFVGQlRTeEpRVUZKTEVkQlFXRXNSVUZCUlN4RFFVRkRPMGxCUXpGQ0xFMUJRVTBzU1VGQlNTeEhRVUZoTEVWQlFVVXNRMEZCUXp0SlFVTXhRaXhOUVVGTkxFbEJRVWtzUjBGQllTeEZRVUZGTEVOQlFVTTdTVUZGTVVJc1RVRkJUU3hQUVVGUExFZEJRVWNzUTBGQlF5eEhRVUZYTEVWQlFVVXNSMEZCVnl4RlFVRkZMRVZCUVVVN1VVRkRNME1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVObUxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRaaXhOUVVGTkxGTkJRVk1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjJSQ3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMGxCUTNaQ0xFTkJRVU1zUTBGQlF6dEpRVU5HTEUxQlFVMHNUMEZCVHl4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dEpRVU01UWl4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZETVVJc1RVRkJUU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUXpGQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTNaRExFMUJRVTBzUjBGQlJ5eEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOeVFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGNrSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1IwRkJSeXhIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUZGTEVOQlFVTTdVVUZETlVJc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTnFRaXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMHRCUTI1Q08wbEJSVVFzVFVGQlRTeFBRVUZQTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRemxDTEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEpRVU14UWl4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZETVVJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTlCUVU4c1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEZGtNc1RVRkJUU3hIUVVGSExFZEJRVWNzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNKQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOeVFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF6dFJRVU0xUWl4SlFVRkpMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETzFsQlFVVXNVMEZCVXp0UlFVTXZRaXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMHRCUTI1Q08wbEJSVVFzVFVGQlRTeEpRVUZKTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0SlFVTm9ReXhQUVVGUExFbEJRVWtzV1VGQldTeERRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBGQlEyeEVMRU5CUVVNN1FVRkZSRHM3T3pzN1IwRkxSenRCUVVOSUxFMUJRVTBzVlVGQlZTeE5RVUZOTEVOQlFVTXNRMEZCWlR0SlFVTndReXhOUVVGTkxFOUJRVThzUjBGQldTeEZRVUZGTEVOQlFVTTdTVUZGTlVJc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFVkJRVVU3VVVGRE5VSXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRExFdEJRVXNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkRMRU5CUVVNc1EwRkJRenRKUVVOc1F5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVVklMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1VVRkRjRUlzU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhIUVVGSE8xbEJRMnBDTEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZET3p0WlFVVnlRaXhQUVVGUExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJRenRKUVVONlFpeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVVklMRTFCUVUwc1QwRkJUeXhIUVVGaExFVkJRVVVzUTBGQlF6dEpRVU0zUWl4TlFVRk5MRTFCUVUwc1IwRkJZU3hGUVVGRkxFTkJRVU03U1VGRE5VSXNUVUZCVFN4TlFVRk5MRWRCUVdFc1JVRkJSU3hEUVVGRE8wbEJSVFZDTEVsQlFVa3NWVUZCVlN4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM0JDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xRkJRM1pETEUxQlFVMHNSVUZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFdEJRVXNzUlVGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOeVF5eEpRVUZKTEVkQlFVY3NTMEZCU3l4VlFVRlZMRVZCUVVVN1dVRkRkRUlzVlVGQlZTeEhRVUZITEVkQlFVY3NRMEZCUXp0WlFVTnFRaXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMU5CUTJoQ08xRkJRMFFzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOc1FpeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8wdEJRM0JDTzBsQlJVUXNUMEZCVHl4RlFVRkRMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZETEVOQlFVTTdRVUZEYmtNc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUd4cFkyVnVjMlZjYmlBcVhHNGdLaUJEYjNCNWNtbG5hSFFnTWpBeE9TQkhiMjluYkdVZ1RFeERMaUJCYkd3Z1VtbG5hSFJ6SUZKbGMyVnlkbVZrTGx4dUlDcGNiaUFxSUV4cFkyVnVjMlZrSUhWdVpHVnlJSFJvWlNCQmNHRmphR1VnVEdsalpXNXpaU3dnVm1WeWMybHZiaUF5TGpBZ0tIUm9aU0JjSWt4cFkyVnVjMlZjSWlrN1hHNGdLaUI1YjNVZ2JXRjVJRzV2ZENCMWMyVWdkR2hwY3lCbWFXeGxJR1Y0WTJWd2RDQnBiaUJqYjIxd2JHbGhibU5sSUhkcGRHZ2dkR2hsSUV4cFkyVnVjMlV1WEc0Z0tpQlpiM1VnYldGNUlHOWlkR0ZwYmlCaElHTnZjSGtnYjJZZ2RHaGxJRXhwWTJWdWMyVWdZWFJjYmlBcVhHNGdLaUFnSUNBZ2FIUjBjRG92TDNkM2R5NWhjR0ZqYUdVdWIzSm5MMnhwWTJWdWMyVnpMMHhKUTBWT1UwVXRNaTR3WEc0Z0tseHVJQ29nVlc1c1pYTnpJSEpsY1hWcGNtVmtJR0o1SUdGd2NHeHBZMkZpYkdVZ2JHRjNJRzl5SUdGbmNtVmxaQ0IwYnlCcGJpQjNjbWwwYVc1bkxDQnpiMlowZDJGeVpWeHVJQ29nWkdsemRISnBZblYwWldRZ2RXNWtaWElnZEdobElFeHBZMlZ1YzJVZ2FYTWdaR2x6ZEhKcFluVjBaV1FnYjI0Z1lXNGdYQ0pCVXlCSlUxd2lJRUpCVTBsVExGeHVJQ29nVjBsVVNFOVZWQ0JYUVZKU1FVNVVTVVZUSUU5U0lFTlBUa1JKVkVsUFRsTWdUMFlnUVU1WklFdEpUa1FzSUdWcGRHaGxjaUJsZUhCeVpYTnpJRzl5SUdsdGNHeHBaV1F1WEc0Z0tpQlRaV1VnZEdobElFeHBZMlZ1YzJVZ1ptOXlJSFJvWlNCemNHVmphV1pwWXlCc1lXNW5kV0ZuWlNCbmIzWmxjbTVwYm1jZ2NHVnliV2x6YzJsdmJuTWdZVzVrWEc0Z0tpQnNhVzFwZEdGMGFXOXVjeUIxYm1SbGNpQjBhR1VnVEdsalpXNXpaUzVjYmlBcUlEMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFZ4dUlDb3ZYRzVjYm1sdGNHOXlkQ0FxSUdGeklIVjBhV3h6SUdaeWIyMGdKeTR2ZFhScGJITW5PMXh1WEc1MGVYQmxJRVZ1ZEhKNUlEMGdleUIyWVd4MVpUb2diblZ0WW1WeU95QnliM2M2SUc1MWJXSmxjanNnWTI5c09pQnVkVzFpWlhJZ2ZUdGNibHh1THlvcVhHNGdLaUJKYm5SbGNtNWhiQ0F5TFdScGJXVnVjMmx2Ym1Gc0lITndZWEp6WlNCdFlYUnlhWGdnWTJ4aGMzTmNiaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRk53WVhKelpVMWhkSEpwZUNCN1hHNGdJSEJ5YVhaaGRHVWdaVzUwY21sbGN5QTlJRzVsZHlCTllYQThjM1J5YVc1bkxDQkZiblJ5ZVQ0b0tUdGNibHh1SUNCeVpXRmtiMjVzZVNCdVVtOTNjem9nYm5WdFltVnlJRDBnTUR0Y2JpQWdjbVZoWkc5dWJIa2dia052YkhNNklHNTFiV0psY2lBOUlEQTdYRzVjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9YRzRnSUNBZ2NtOTNjem9nYm5WdFltVnlXMTBnZkNCSmJuUXpNa0Z5Y21GNUxGeHVJQ0FnSUdOdmJITTZJRzUxYldKbGNsdGRJSHdnU1c1ME16SkJjbkpoZVN4Y2JpQWdJQ0IyWVd4MVpYTTZJRzUxYldKbGNsdGRJSHdnUm14dllYUXpNa0Z5Y21GNUxGeHVJQ0FnSUdScGJYTTZJRzUxYldKbGNsdGRYRzRnSUNrZ2UxeHVJQ0FnSUdsbUlDaHliM2R6TG14bGJtZDBhQ0FoUFQwZ1kyOXNjeTVzWlc1bmRHZ2dmSHdnY205M2N5NXNaVzVuZEdnZ0lUMDlJSFpoYkhWbGN5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0ozSnZkM01zSUdOdmJITWdZVzVrSUhaaGJIVmxjeUJoY25KaGVYTWdiWFZ6ZENCaGJHd2dhR0YyWlNCMGFHVWdjMkZ0WlNCc1pXNW5kR2duWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUZSUFJFODZJRUZ6YzJWeWRDQjBhR0YwSUdScGJYTWdZWEpsSUd4bFoybDBMbHh1SUNBZ0lIUm9hWE11YmxKdmQzTWdQU0JrYVcxeld6QmRPMXh1SUNBZ0lIUm9hWE11YmtOdmJITWdQU0JrYVcxeld6RmRPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dkbUZzZFdWekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnliM2NnUFNCeWIzZHpXMmxkTzF4dUlDQWdJQ0FnWTI5dWMzUWdZMjlzSUQwZ1kyOXNjMXRwWFR0Y2JpQWdJQ0FnSUhSb2FYTXVZMmhsWTJ0RWFXMXpLSEp2ZHl3Z1kyOXNLVHRjYmlBZ0lDQWdJR052Ym5OMElHdGxlU0E5SUhSb2FYTXViV0ZyWlV0bGVTaHliM2NzSUdOdmJDazdYRzRnSUNBZ0lDQjBhR2x6TG1WdWRISnBaWE11YzJWMEtHdGxlU3dnZTNaaGJIVmxPaUIyWVd4MVpYTmJhVjBzSUhKdmR5d2dZMjlzZlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCdFlXdGxTMlY1S0hKdmR6b2diblZ0WW1WeUxDQmpiMnc2SUc1MWJXSmxjaWs2SUhOMGNtbHVaeUI3WEc0Z0lDQWdjbVYwZFhKdUlHQWtlM0p2ZDMwNkpIdGpiMng5WUR0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1kyaGxZMnRFYVcxektISnZkem9nYm5WdFltVnlMQ0JqYjJ3NklHNTFiV0psY2lrZ2UxeHVJQ0FnSUdOdmJuTjBJSGRwZEdocGJrSnZkVzVrY3lBOUlISnZkeUE4SUhSb2FYTXVibEp2ZDNNZ0ppWWdZMjlzSUR3Z2RHaHBjeTV1UTI5c2N6dGNiaUFnSUNCcFppQW9JWGRwZEdocGJrSnZkVzVrY3lsY2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduY205M0lHRnVaQzl2Y2lCamIyd2djM0JsWTJsbWFXVmtJRzkxZEhOcFpHVWdiMllnYldGMGNtbDRJR1JwYldWdWMybHZibk1uS1R0Y2JpQWdmVnh1WEc0Z0lITmxkQ2h5YjNjNklHNTFiV0psY2l3Z1kyOXNPaUJ1ZFcxaVpYSXNJSFpoYkhWbE9pQnVkVzFpWlhJcElIdGNiaUFnSUNCMGFHbHpMbU5vWldOclJHbHRjeWh5YjNjc0lHTnZiQ2s3WEc0Z0lDQWdZMjl1YzNRZ2EyVjVJRDBnZEdocGN5NXRZV3RsUzJWNUtISnZkeXdnWTI5c0tUdGNiaUFnSUNCcFppQW9JWFJvYVhNdVpXNTBjbWxsY3k1b1lYTW9hMlY1S1NsY2JpQWdJQ0FnSUhSb2FYTXVaVzUwY21sbGN5NXpaWFFvYTJWNUxDQjdkbUZzZFdVc0lISnZkeXdnWTI5c2ZTazdYRzRnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdkR2hwY3k1bGJuUnlhV1Z6TG1kbGRDaHJaWGtwSVM1MllXeDFaU0E5SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnWjJWMEtISnZkem9nYm5WdFltVnlMQ0JqYjJ3NklHNTFiV0psY2l3Z1pHVm1ZWFZzZEZaaGJIVmxJRDBnTUNrZ2UxeHVJQ0FnSUM4dmRHaHBjeTVqYUdWamEwUnBiWE1vY205M0xDQmpiMndwTzF4dUlDQWdJR052Ym5OMElHdGxlU0E5SUhSb2FYTXViV0ZyWlV0bGVTaHliM2NzSUdOdmJDazdYRzRnSUNBZ2FXWWdLSFJvYVhNdVpXNTBjbWxsY3k1b1lYTW9hMlY1S1NsY2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtVnVkSEpwWlhNdVoyVjBLR3RsZVNraExuWmhiSFZsTzF4dUlDQWdJR1ZzYzJWY2JpQWdJQ0FnSUhKbGRIVnliaUJrWldaaGRXeDBWbUZzZFdVN1hHNGdJSDFjYmx4dUlDQm5aWFJCYkd3b2IzSmtaWEpsWkNBOUlIUnlkV1VwT2lCN0lIWmhiSFZsT2lCdWRXMWlaWEk3SUhKdmR6b2diblZ0WW1WeU95QmpiMnc2SUc1MWJXSmxjaUI5VzEwZ2UxeHVJQ0FnSUdOdmJuTjBJSEp2ZDBOdmJGWmhiSFZsY3pvZ1JXNTBjbmxiWFNBOUlHNWxkeUJCY25KaGVTaDBhR2x6TG1WdWRISnBaWE11YzJsNlpTa3VabWxzYkNodWRXeHNLVHRjYmlBZ0lDQnNaWFFnYVNBOUlEQTdYRzRnSUNBZ2RHaHBjeTVsYm5SeWFXVnpMbVp2Y2tWaFkyZ29LSFpoYkhWbEtTQTlQaUI3WEc0Z0lDQWdJQ0J5YjNkRGIyeFdZV3gxWlhOYmFTc3JYU0E5SUhaaGJIVmxPMXh1SUNBZ0lIMHBPMXh1SUNBZ0lHbG1JQ2h2Y21SbGNtVmtLU0I3WEc0Z0lDQWdJQ0F2THlCUGNtUmxjbWx1WnlCMGFHVWdjbVZ6ZFd4MElHbHpiaWQwSUhKbGNYVnBjbVZrSUdadmNpQndjbTlqWlhOemFXNW5JR0oxZENCcGRDQmtiMlZ6SUcxaGEyVWdhWFFnWldGemFXVnlJSFJ2SUhkeWFYUmxJSFJsYzNSelhHNGdJQ0FnSUNCeWIzZERiMnhXWVd4MVpYTXVjMjl5ZENnb1lTd2dZaWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWVM1eWIzY2dQVDA5SUdJdWNtOTNLVnh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJoTG1OdmJDQXRJR0l1WTI5c08xeHVJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdFdWNtOTNJQzBnWWk1eWIzYzdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhKdmQwTnZiRlpoYkhWbGN6dGNiaUFnZlZ4dVhHNGdJR2RsZEVScGJYTW9LVG9nYm5WdFltVnlXMTBnZTF4dUlDQWdJSEpsZEhWeWJpQmJkR2hwY3k1dVVtOTNjeXdnZEdocGN5NXVRMjlzYzEwN1hHNGdJSDFjYmx4dUlDQm5aWFJTYjNkektDazZJRzUxYldKbGNsdGRJSHRjYmlBZ0lDQnlaWFIxY200Z1FYSnlZWGt1Wm5KdmJTaDBhR2x6TG1WdWRISnBaWE1zSUNoYlgydGxlU3dnZG1Gc2RXVmRLU0E5UGlCMllXeDFaUzV5YjNjcE8xeHVJQ0FnSUM4dklISmxkSFZ5YmlCMGFHbHpMbkp2ZDNNZ1lYTWdkVzVyYm05M2JpQmhjeUJ1ZFcxaVpYSmJYVHRjYmlBZ2ZWeHVYRzRnSUdkbGRFTnZiSE1vS1RvZ2JuVnRZbVZ5VzEwZ2UxeHVJQ0FnSUhKbGRIVnliaUJCY25KaGVTNW1jbTl0S0hSb2FYTXVaVzUwY21sbGN5d2dLRnRmYTJWNUxDQjJZV3gxWlYwcElEMCtJSFpoYkhWbExtTnZiQ2s3WEc0Z0lDQWdMeThnY21WMGRYSnVJSFJvYVhNdVkyOXNjeUJoY3lCMWJtdHViM2R1SUdGeklHNTFiV0psY2x0ZE8xeHVJQ0I5WEc1Y2JpQWdaMlYwVm1Gc2RXVnpLQ2s2SUc1MWJXSmxjbHRkSUh0Y2JpQWdJQ0J5WlhSMWNtNGdRWEp5WVhrdVpuSnZiU2gwYUdsekxtVnVkSEpwWlhNc0lDaGJYMnRsZVN3Z2RtRnNkV1ZkS1NBOVBpQjJZV3gxWlM1MllXeDFaU2s3WEc0Z0lDOHZjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpJR0Z6SUhWdWEyNXZkMjRnWVhNZ2JuVnRZbVZ5VzEwN1hHNGdJSDFjYmx4dUlDQm1iM0pGWVdOb0tHWnVPaUFvZG1Gc2RXVTZJRzUxYldKbGNpd2djbTkzT2lCdWRXMWlaWElzSUdOdmJEb2diblZ0WW1WeUtTQTlQaUIyYjJsa0tUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NWxiblJ5YVdWekxtWnZja1ZoWTJnb0tIWmhiSFZsS1NBOVBpQm1iaWgyWVd4MVpTNTJZV3gxWlN3Z2RtRnNkV1V1Y205M0xDQjJZV3gxWlM1amIyd3BLVHRjYmlBZ2ZWeHVYRzRnSUcxaGNDaG1iam9nS0haaGJIVmxPaUJ1ZFcxaVpYSXNJSEp2ZHpvZ2JuVnRZbVZ5TENCamIydzZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlLVG9nVTNCaGNuTmxUV0YwY21sNElIdGNiaUFnSUNCamIyNXpkQ0IyWVd4eklEMGdibVYzSUVac2IyRjBNekpCY25KaGVTaDBhR2x6TG1WdWRISnBaWE11YzJsNlpTazdYRzRnSUNBZ2JHVjBJR2tnUFNBd08xeHVJQ0FnSUhSb2FYTXVaVzUwY21sbGN5NW1iM0pGWVdOb0tDaDJZV3gxWlNrZ1BUNGdlMXh1SUNBZ0lDQWdkbUZzYzF0cEt5dGRJRDBnWm00b2RtRnNkV1V1ZG1Gc2RXVXNJSFpoYkhWbExuSnZkeXdnZG1Gc2RXVXVZMjlzS1R0Y2JpQWdJQ0I5S1R0Y2JpQWdJQ0JqYjI1emRDQmthVzF6SUQwZ1czUm9hWE11YmxKdmQzTXNJSFJvYVhNdWJrTnZiSE5kTzF4dUlDQWdJSEpsZEhWeWJpQnVaWGNnVTNCaGNuTmxUV0YwY21sNEtIUm9hWE11WjJWMFVtOTNjeWdwTENCMGFHbHpMbWRsZEVOdmJITW9LU3dnZG1Gc2N5QmhjeUIxYm10dWIzZHVJR0Z6SUc1MWJXSmxjbHRkTENCa2FXMXpLVHRjYmlBZ2ZWeHVYRzRnSUhSdlFYSnlZWGtvS1NCN1hHNGdJQ0FnWTI5dWMzUWdjbTkzY3pvZ2RXNWtaV1pwYm1Wa1cxMGdQU0IxZEdsc2N5NWxiWEIwZVNoMGFHbHpMbTVTYjNkektUdGNiaUFnSUNCamIyNXpkQ0J2ZFhSd2RYUWdQU0J5YjNkekxtMWhjQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RYUnBiSE11ZW1WeWIzTW9kR2hwY3k1dVEyOXNjeWs3WEc0Z0lDQWdmU2s3WEc0Z0lDQWdkR2hwY3k1bGJuUnlhV1Z6TG1admNrVmhZMmdvS0haaGJIVmxLU0E5UGlCN1hHNGdJQ0FnSUNCdmRYUndkWFJiZG1Gc2RXVXVjbTkzWFZ0MllXeDFaUzVqYjJ4ZElEMGdkbUZzZFdVdWRtRnNkV1U3WEc0Z0lDQWdmU2s3WEc0Z0lDQWdjbVYwZFhKdUlHOTFkSEIxZER0Y2JpQWdmVnh1ZlZ4dVhHNHZLaXBjYmlBcUlGUnlZVzV6Y0c5elpTQmhJSE53WVhKelpTQnRZWFJ5YVhoY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFJ5WVc1emNHOXpaU2h0WVhSeWFYZzZJRk53WVhKelpVMWhkSEpwZUNrNklGTndZWEp6WlUxaGRISnBlQ0I3WEc0Z0lHTnZibk4wSUc5c1pGSnZkM01nUFNCdFlYUnlhWGd1WjJWMFVtOTNjeWdwTzF4dUlDQmpiMjV6ZENCdmJHUkRiMnh6SUQwZ2JXRjBjbWw0TG1kbGRFTnZiSE1vS1R0Y2JpQWdZMjl1YzNRZ2IyeGtWbUZzY3lBOUlHMWhkSEpwZUM1blpYUldZV3gxWlhNb0tUdGNiaUFnWTI5dWMzUWdiV0YwYkdWdUlEMGdiMnhrUTI5c2N5NXNaVzVuZEdnN1hHNGdJR052Ym5OMElHTnZiSE1nUFNCdVpYY2dTVzUwTXpKQmNuSmhlU2h0WVhSc1pXNHBPMXh1SUNCamIyNXpkQ0J5YjNkeklEMGdibVYzSUVsdWRETXlRWEp5WVhrb2JXRjBiR1Z1S1R0Y2JpQWdZMjl1YzNRZ2RtRnNjeUE5SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvYldGMGJHVnVLVHRjYmx4dUlDQmpiMnh6TG5ObGRDaHZiR1JTYjNkektUdGNiaUFnY205M2N5NXpaWFFvYjJ4a1EyOXNjeWs3WEc0Z0lIWmhiSE11YzJWMEtHOXNaRlpoYkhNcE8xeHVJQ0JqYjI1emRDQmthVzF6SUQwZ1cyMWhkSEpwZUM1dVEyOXNjeXdnYldGMGNtbDRMbTVTYjNkelhUdGNiaUFnY21WMGRYSnVJRzVsZHlCVGNHRnljMlZOWVhSeWFYZ29jbTkzY3l3Z1kyOXNjeXdnZG1Gc2N5d2daR2x0Y3lrN1hHNTlYRzVjYmk4cUtseHVJQ29nUTI5dWMzUnlkV04wSUdFZ2MzQmhjbk5sSUdsa1pXNTBhWFI1SUcxaGRISnBlRnh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FXUmxiblJwZEhrb2MybDZaVG9nYm5WdFltVnlXMTBwT2lCVGNHRnljMlZOWVhSeWFYZ2dlMXh1SUNCamIyNXpkQ0JiY205M2MxMGdQU0J6YVhwbE8xeHVJQ0JqYjI1emRDQnRZWFJ5YVhnZ1BTQnVaWGNnVTNCaGNuTmxUV0YwY21sNEtGdGRMQ0JiWFN3Z1cxMHNJSE5wZW1VcE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhKdmQzTTdJR2tyS3lsY2JpQWdJQ0J0WVhSeWFYZ3VjMlYwS0drc0lHa3NJREVwTzF4dVhHNGdJSEpsZEhWeWJpQnRZWFJ5YVhnN1hHNTlYRzVjYmk4cUtseHVJQ29nUld4bGJXVnVkQzEzYVhObElHMTFiSFJwY0d4cFkyRjBhVzl1SUc5bUlIUjNieUJ0WVhSeWFXTmxjMXh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NHRnBjbmRwYzJWTmRXeDBhWEJzZVNoY2JpQWdZVG9nVTNCaGNuTmxUV0YwY21sNExGeHVJQ0JpT2lCVGNHRnljMlZOWVhSeWFYaGNiaWs2SUZOd1lYSnpaVTFoZEhKcGVDQjdYRzRnSUhKbGRIVnliaUJsYkdWdFpXNTBWMmx6WlNoaExDQmlMQ0FvZUN3Z2VTa2dQVDRnZUNBcUlIa3BPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFVnNaVzFsYm5RdGQybHpaU0JoWkdScGRHbHZiaUJ2WmlCMGQyOGdiV0YwY21salpYTmNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdGa1pDaGhPaUJUY0dGeWMyVk5ZWFJ5YVhnc0lHSTZJRk53WVhKelpVMWhkSEpwZUNrNklGTndZWEp6WlUxaGRISnBlQ0I3WEc0Z0lISmxkSFZ5YmlCbGJHVnRaVzUwVjJselpTaGhMQ0JpTENBb2VDd2dlU2tnUFQ0Z2VDQXJJSGtwTzF4dWZWeHVYRzR2S2lwY2JpQXFJRVZzWlcxbGJuUXRkMmx6WlNCemRXSjBjbUZqZEdsdmJpQnZaaUIwZDI4Z2JXRjBjbWxqWlhOY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE4xWW5SeVlXTjBLR0U2SUZOd1lYSnpaVTFoZEhKcGVDd2dZam9nVTNCaGNuTmxUV0YwY21sNEtUb2dVM0JoY25ObFRXRjBjbWw0SUh0Y2JpQWdjbVYwZFhKdUlHVnNaVzFsYm5SWGFYTmxLR0VzSUdJc0lDaDRMQ0I1S1NBOVBpQjRJQzBnZVNrN1hHNTlYRzVjYmk4cUtseHVJQ29nUld4bGJXVnVkQzEzYVhObElHMWhlR2x0ZFcwZ2IyWWdkSGR2SUcxaGRISnBZMlZ6WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZWGhwYlhWdEtHRTZJRk53WVhKelpVMWhkSEpwZUN3Z1lqb2dVM0JoY25ObFRXRjBjbWw0S1RvZ1UzQmhjbk5sVFdGMGNtbDRJSHRjYmlBZ2NtVjBkWEp1SUdWc1pXMWxiblJYYVhObEtHRXNJR0lzSUNoNExDQjVLU0E5UGlBb2VDQStJSGtnUHlCNElEb2dlU2twTzF4dWZWeHVYRzR2S2lwY2JpQXFJRk5qWVd4aGNpQnRkV3gwYVhCc2FXTmhkR2x2YmlCdlppQjBkMjhnYldGMGNtbGpaWE5jYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMTFiSFJwY0d4NVUyTmhiR0Z5S0dFNklGTndZWEp6WlUxaGRISnBlQ3dnYzJOaGJHRnlPaUJ1ZFcxaVpYSXBPaUJUY0dGeWMyVk5ZWFJ5YVhnZ2UxeHVJQ0J5WlhSMWNtNGdZUzV0WVhBb0tIWmhiSFZsT2lCdWRXMWlaWElwSUQwK0lIdGNiaUFnSUNCeVpYUjFjbTRnZG1Gc2RXVWdLaUJ6WTJGc1lYSTdYRzRnSUgwcE8xeHVmVnh1WEc0dktpcGNiaUFxSUZKbGRIVnlibk1nWVNCdVpYY2diV0YwY21sNElIZHBkR2dnZW1WeWJ5QmxiblJ5YVdWeklISmxiVzkyWldRdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJsYkdsdGFXNWhkR1ZhWlhKdmN5aHRPaUJUY0dGeWMyVk5ZWFJ5YVhncElIdGNiaUFnWTI5dWMzUWdlbVZ5YjBsdVpHbGpaWE1nUFNCdVpYY2dVMlYwS0NrN1hHNGdJR052Ym5OMElIWmhiSFZsY3lBOUlHMHVaMlYwVm1Gc2RXVnpLQ2s3WEc0Z0lHTnZibk4wSUhKdmQzTWdQU0J0TG1kbGRGSnZkM01vS1R0Y2JpQWdZMjl1YzNRZ1kyOXNjeUE5SUcwdVoyVjBRMjlzY3lncE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhaaGJIVmxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUdsbUlDaDJZV3gxWlhOYmFWMGdQVDA5SURBcFhHNGdJQ0FnSUNCNlpYSnZTVzVrYVdObGN5NWhaR1FvYVNrN1hHNGdJSDFjYmlBZ1kyOXVjM1FnY21WdGIzWmxRbmxhWlhKdlNXNWtaWGdnUFNBb1h6b2dZVzU1TENCcGJtUmxlRG9nYm5WdFltVnlLU0E5UGlBaGVtVnliMGx1WkdsalpYTXVhR0Z6S0dsdVpHVjRLVHRjYmlBZ1kyOXVjM1FnYm1WNGRGWmhiSFZsY3lBOUlIWmhiSFZsY3k1bWFXeDBaWElvY21WdGIzWmxRbmxhWlhKdlNXNWtaWGdwTzF4dUlDQmpiMjV6ZENCdVpYaDBVbTkzY3lBOUlISnZkM011Wm1sc2RHVnlLSEpsYlc5MlpVSjVXbVZ5YjBsdVpHVjRLVHRjYmlBZ1kyOXVjM1FnYm1WNGRFTnZiSE1nUFNCamIyeHpMbVpwYkhSbGNpaHlaVzF2ZG1WQ2VWcGxjbTlKYm1SbGVDazdYRzVjYmlBZ2NtVjBkWEp1SUc1bGR5QlRjR0Z5YzJWTllYUnlhWGdvYm1WNGRGSnZkM01zSUc1bGVIUkRiMnh6TENCdVpYaDBWbUZzZFdWekxDQnRMbWRsZEVScGJYTW9LU2s3WEc1OVhHNWNiaThxS2x4dUlDb2dUbTl5YldGc2FYcGhkR2x2YmlCdlppQmhJSE53WVhKelpTQnRZWFJ5YVhndVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVVvYlRvZ1UzQmhjbk5sVFdGMGNtbDRMQ0J1YjNKdFZIbHdaU0E5SUU1dmNtMVVlWEJsTG13eUtTQjdYRzRnSUdOdmJuTjBJRzV2Y20xR2JpQTlJRzV2Y20xR2JuTmJibTl5YlZSNWNHVmRPMXh1WEc0Z0lHTnZibk4wSUdOdmJITkNlVkp2ZHlBOUlHNWxkeUJOWVhBOGJuVnRZbVZ5TENCdWRXMWlaWEpiWFQ0b0tUdGNiaUFnYlM1bWIzSkZZV05vS0NoZkxDQnliM2NzSUdOdmJDa2dQVDRnZTF4dUlDQWdJR052Ym5OMElHTnZiSE1nUFNCamIyeHpRbmxTYjNjdVoyVjBLSEp2ZHlrZ2ZId2dXMTA3WEc0Z0lDQWdZMjlzY3k1d2RYTm9LR052YkNrN1hHNGdJQ0FnWTI5c2MwSjVVbTkzTG5ObGRDaHliM2NzSUdOdmJITXBPMXh1SUNCOUtUdGNibHh1SUNCamIyNXpkQ0J1WlhoMFRXRjBjbWw0SUQwZ2JtVjNJRk53WVhKelpVMWhkSEpwZUNoYlhTd2dXMTBzSUZ0ZExDQnRMbWRsZEVScGJYTW9LU2s3WEc1Y2JpQWdabTl5SUNoamIyNXpkQ0J5YjNjZ2IyWWdZMjlzYzBKNVVtOTNMbXRsZVhNb0tTa2dlMXh1SUNBZ0lHTnZibk4wSUdOdmJITWdQU0JqYjJ4elFubFNiM2N1WjJWMEtISnZkeWtoTG5OdmNuUW9LVHRjYmx4dUlDQWdJR052Ym5OMElIWmhiSE1nUFNCamIyeHpMbTFoY0Nnb1kyOXNLU0E5UGlCdExtZGxkQ2h5YjNjc0lHTnZiQ2twTzF4dUlDQWdJR052Ym5OMElHNXZjbTBnUFNCdWIzSnRSbTRvZG1Gc2N5azdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnViM0p0TG14bGJtZDBhRHNnYVNzcktWeHVJQ0FnSUNBZ2JtVjRkRTFoZEhKcGVDNXpaWFFvY205M0xDQmpiMnh6VzJsZExDQnViM0p0VzJsZEtUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnVaWGgwVFdGMGNtbDRPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGWmxZM1J2Y2lCdWIzSnRZV3hwZW1GMGFXOXVJR1oxYm1OMGFXOXVjMXh1SUNvdlhHNTBlWEJsSUU1dmNtMUdibk1nUFNCN0lGdHJaWGtnYVc0Z1RtOXliVlI1Y0dWZE9pQW9kam9nYm5WdFltVnlXMTBwSUQwK0lHNTFiV0psY2x0ZElIMDdYRzVqYjI1emRDQnViM0p0Um01ek9pQk9iM0p0Um01eklEMGdlMXh1SUNCYlRtOXliVlI1Y0dVdWJXRjRYVG9nS0hoek9pQnVkVzFpWlhKYlhTa2dQVDRnZTF4dUlDQWdJR3hsZENCdFlYZ2dQU0F0U1c1bWFXNXBkSGs3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0I0Y3k1c1pXNW5kR2c3SUdrckt5bGNiaUFnSUNBZ0lHMWhlQ0E5SUhoelcybGRJRDRnYldGNElEOGdlSE5iYVYwZ09pQnRZWGc3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlSE11YldGd0tDaDRLU0E5UGlCNElDOGdiV0Y0S1R0Y2JpQWdmU3hjYmlBZ1cwNXZjbTFVZVhCbExtd3hYVG9nS0hoek9pQnVkVzFpWlhKYlhTa2dQVDRnZTF4dUlDQWdJR3hsZENCemRXMGdQU0F3TzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnZUhNdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ0lDQnpkVzBnS3owZ2VITmJhVjA3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlSE11YldGd0tDaDRLU0E5UGlCNElDOGdjM1Z0S1R0Y2JpQWdmU3hjYmlBZ1cwNXZjbTFVZVhCbExtd3lYVG9nS0hoek9pQnVkVzFpWlhKYlhTa2dQVDRnZTF4dUlDQWdJR3hsZENCemRXMGdQU0F3TzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnZUhNdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ0lDQnpkVzBnS3owZ2VITmJhVjBnS2lvZ01qdGNibHh1SUNBZ0lISmxkSFZ5YmlCNGN5NXRZWEFvS0hncElEMCtJRTFoZEdndWMzRnlkQ2g0SUNvcUlESWdMeUJ6ZFcwcEtUdGNiaUFnZlN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQmxiblZ0SUU1dmNtMVVlWEJsSUh0Y2JpQWdiV0Y0SUQwZ0oyMWhlQ2NzWEc0Z0lHd3hJRDBnSjJ3eEp5eGNiaUFnYkRJZ1BTQW5iREluTEZ4dWZWeHVYRzR2S2lwY2JpQXFJRWhsYkhCbGNpQm1kVzVqZEdsdmJpQm1iM0lnWld4bGJXVnVkQzEzYVhObElHOXdaWEpoZEdsdmJuTXVYRzRnS2k5Y2JtWjFibU4wYVc5dUlHVnNaVzFsYm5SWGFYTmxLRnh1SUNCaE9pQlRjR0Z5YzJWTllYUnlhWGdzWEc0Z0lHSTZJRk53WVhKelpVMWhkSEpwZUN4Y2JpQWdiM0E2SUNoNE9pQnVkVzFpWlhJc0lIazZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlYRzRwT2lCVGNHRnljMlZOWVhSeWFYZ2dlMXh1SUNCamIyNXpkQ0IyYVhOcGRHVmtJRDBnYm1WM0lGTmxkRHh6ZEhKcGJtYytLQ2s3WEc0Z0lHTnZibk4wSUhKdmQzTTZJRzUxYldKbGNsdGRJRDBnVzEwN1hHNGdJR052Ym5OMElHTnZiSE02SUc1MWJXSmxjbHRkSUQwZ1cxMDdYRzRnSUdOdmJuTjBJSFpoYkhNNklHNTFiV0psY2x0ZElEMGdXMTA3WEc1Y2JpQWdZMjl1YzNRZ2IzQmxjbUYwWlNBOUlDaHliM2M2SUc1MWJXSmxjaXdnWTI5c09pQnVkVzFpWlhJcElEMCtJSHRjYmlBZ0lDQnliM2R6TG5CMWMyZ29jbTkzS1R0Y2JpQWdJQ0JqYjJ4ekxuQjFjMmdvWTI5c0tUdGNiaUFnSUNCamIyNXpkQ0J1WlhoMFZtRnNkV1VnUFNCdmNDaGhMbWRsZENoeWIzY3NJR052YkNrc0lHSXVaMlYwS0hKdmR5d2dZMjlzS1NrN1hHNGdJQ0FnZG1Gc2N5NXdkWE5vS0c1bGVIUldZV3gxWlNrN1hHNGdJSDA3WEc0Z0lHTnZibk4wSUhaaGJIVmxjMEVnUFNCaExtZGxkRlpoYkhWbGN5Z3BPMXh1SUNCamIyNXpkQ0J5YjNkelFTQTlJR0V1WjJWMFVtOTNjeWdwTzF4dUlDQmpiMjV6ZENCamIyeHpRU0E5SUdFdVoyVjBRMjlzY3lncE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhaaGJIVmxjMEV1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCamIyNXpkQ0J5YjNjZ1BTQnliM2R6UVZ0cFhUdGNiaUFnSUNCamIyNXpkQ0JqYjJ3Z1BTQmpiMnh6UVZ0cFhUdGNiaUFnSUNCamIyNXpkQ0JyWlhrZ1BTQmdKSHR5YjNkOU9pUjdZMjlzZldBN1hHNGdJQ0FnZG1semFYUmxaQzVoWkdRb2EyVjVLVHRjYmlBZ0lDQnZjR1Z5WVhSbEtISnZkeXdnWTI5c0tUdGNiaUFnZlZ4dVhHNGdJR052Ym5OMElIWmhiSFZsYzBJZ1BTQmlMbWRsZEZaaGJIVmxjeWdwTzF4dUlDQmpiMjV6ZENCeWIzZHpRaUE5SUdJdVoyVjBVbTkzY3lncE8xeHVJQ0JqYjI1emRDQmpiMnh6UWlBOUlHSXVaMlYwUTI5c2N5Z3BPMXh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElIWmhiSFZsYzBJdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQmpiMjV6ZENCeWIzY2dQU0J5YjNkelFsdHBYVHRjYmlBZ0lDQmpiMjV6ZENCamIyd2dQU0JqYjJ4elFsdHBYVHRjYmlBZ0lDQmpiMjV6ZENCclpYa2dQU0JnSkh0eWIzZDlPaVI3WTI5c2ZXQTdYRzRnSUNBZ2FXWWdLSFpwYzJsMFpXUXVhR0Z6S0d0bGVTa3BJR052Ym5ScGJuVmxPMXh1SUNBZ0lHOXdaWEpoZEdVb2NtOTNMQ0JqYjJ3cE8xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNRZ1pHbHRjeUE5SUZ0aExtNVNiM2R6TENCaExtNURiMnh6WFR0Y2JpQWdjbVYwZFhKdUlHNWxkeUJUY0dGeWMyVk5ZWFJ5YVhnb2NtOTNjeXdnWTI5c2N5d2dkbUZzY3l3Z1pHbHRjeWs3WEc1OVhHNWNiaThxS2x4dUlDb2dTR1ZzY0dWeUlHWjFibU4wYVc5dUlHWnZjaUJuWlhSMGFXNW5JR1JoZEdFc0lHbHVaR2xqWlhNc0lHRnVaQ0JwYm5CMGNpQmhjbkpoZVhNZ1puSnZiU0JoSUhOd1lYSnpaVnh1SUNvZ2JXRjBjbWw0SUhSdklHWnZiR3h2ZHlCamMzSWdiV0YwY21sNElHTnZiblpsYm5ScGIyNXpMaUJUZFhCbGNpQnBibVZtWm1samFXVnVkQ0FvWVc1a0lHdHBibVFnYjJaY2JpQXFJR1JsWm1WaGRITWdkR2hsSUhCMWNuQnZjMlVnYjJZZ2RHaHBjeUJqYjI1MlpXNTBhVzl1S1NCaWRYUWdZU0JzYjNRZ2IyWWdkR2hsSUhCdmNuUmxaQ0J3ZVhSb2IyNGdkSEpsWlZ4dUlDb2djMlZoY21Ob0lHeHZaMmxqSUdSbGNHVnVaSE1nYjI0Z2RHaHBjeUJrWVhSaElHWnZjbTFoZEM1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVOVFVpaDRPaUJUY0dGeWMyVk5ZWFJ5YVhncElIdGNiaUFnWTI5dWMzUWdaVzUwY21sbGN6b2dSVzUwY25sYlhTQTlJRnRkTzF4dVhHNGdJSGd1Wm05eVJXRmphQ2dvZG1Gc2RXVXNJSEp2ZHl3Z1kyOXNLU0E5UGlCN1hHNGdJQ0FnWlc1MGNtbGxjeTV3ZFhOb0tIdDJZV3gxWlN3Z2NtOTNMQ0JqYjJ4OUtUdGNiaUFnZlNrN1hHNWNiaUFnWlc1MGNtbGxjeTV6YjNKMEtDaGhMQ0JpS1NBOVBpQjdYRzRnSUNBZ2FXWWdLR0V1Y205M0lEMDlQU0JpTG5KdmR5bGNiaUFnSUNBZ0lISmxkSFZ5YmlCaExtTnZiQ0F0SUdJdVkyOXNPMXh1SUNBZ0lHVnNjMlZjYmlBZ0lDQWdJSEpsZEhWeWJpQmhMbkp2ZHlBdElHSXVjbTkzTzF4dUlDQjlLVHRjYmx4dUlDQmpiMjV6ZENCcGJtUnBZMlZ6T2lCdWRXMWlaWEpiWFNBOUlGdGRPMXh1SUNCamIyNXpkQ0IyWVd4MVpYTTZJRzUxYldKbGNsdGRJRDBnVzEwN1hHNGdJR052Ym5OMElHbHVaSEIwY2pvZ2JuVnRZbVZ5VzEwZ1BTQmJYVHRjYmx4dUlDQnNaWFFnWTNWeWNtVnVkRkp2ZHlBOUlDMHhPMXh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHVnVkSEpwWlhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQmpiMjV6ZENCN2NtOTNMQ0JqYjJ3c0lIWmhiSFZsZlNBOUlHVnVkSEpwWlhOYmFWMDdYRzRnSUNBZ2FXWWdLSEp2ZHlBaFBUMGdZM1Z5Y21WdWRGSnZkeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRkp2ZHlBOUlISnZkenRjYmlBZ0lDQWdJR2x1WkhCMGNpNXdkWE5vS0drcE8xeHVJQ0FnSUgxY2JpQWdJQ0JwYm1ScFkyVnpMbkIxYzJnb1kyOXNLVHRjYmlBZ0lDQjJZV3gxWlhNdWNIVnphQ2gyWVd4MVpTazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdlMmx1WkdsalpYTXNJSFpoYkhWbGN5d2dhVzVrY0hSeWZUdGNibjFjYmlKZGZRPT0iLCIvKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuLyoqXG4gKiBUaGlzIGlzIGEgSmF2YVNjcmlwdCByZWltcGxlbWVudGF0aW9uIG9mIFVNQVAgKG9yaWdpbmFsIGxpY2Vuc2UgYmVsb3cpLCBmcm9tXG4gKiB0aGUgcHl0aG9uIGltcGxlbWVudGF0aW9uIGZvdW5kIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9sbWNpbm5lcy91bWFwLlxuICpcbiAqIEBhdXRob3IgYW5keWNvZW5lbkBnb29nbGUuY29tIChBbmR5IENvZW5lbilcbiAqL1xuLyoqXG4gKiBAbGljZW5zZVxuICogQlNEIDMtQ2xhdXNlIExpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcsIExlbGFuZCBNY0lubmVzXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6XG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXNcbiAqICAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsXG4gKiAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb25cbiAqICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gKlxuICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzXG4gKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tXG4gKiAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCJcbiAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEVcbiAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRVxuICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUxcbiAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SXG4gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUlxuICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSxcbiAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXG4gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICovXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCBjbGFzcyBGbGF0VHJlZSB7XG4gICAgaHlwZXJwbGFuZXM7XG4gICAgb2Zmc2V0cztcbiAgICBjaGlsZHJlbjtcbiAgICBpbmRpY2VzO1xuICAgIGNvbnN0cnVjdG9yKGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcykge1xuICAgICAgICB0aGlzLmh5cGVycGxhbmVzID0gaHlwZXJwbGFuZXM7XG4gICAgICAgIHRoaXMub2Zmc2V0cyA9IG9mZnNldHM7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgICAgICAgdGhpcy5pbmRpY2VzID0gaW5kaWNlcztcbiAgICB9XG59XG4vKipcbiAqIEJ1aWxkIGEgcmFuZG9tIHByb2plY3Rpb24gZm9yZXN0IHdpdGggYGBuVHJlZXNgYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VGb3Jlc3QoZGF0YSwgbk5laWdoYm9ycywgblRyZWVzLCByYW5kb20pIHtcbiAgICBjb25zdCBsZWFmU2l6ZSA9IE1hdGgubWF4KDEwLCBuTmVpZ2hib3JzKTtcbiAgICBjb25zdCB0cmVlcyA9IHV0aWxzXG4gICAgICAgIC5yYW5nZShuVHJlZXMpXG4gICAgICAgIC5tYXAoKF8sIGkpID0+IG1ha2VUcmVlKGRhdGEsIGxlYWZTaXplLCBpLCByYW5kb20pKTtcbiAgICBjb25zdCBmb3Jlc3QgPSB0cmVlcy5tYXAoKHRyZWUpID0+IGZsYXR0ZW5UcmVlKHRyZWUsIGxlYWZTaXplKSk7XG4gICAgcmV0dXJuIGZvcmVzdDtcbn1cbi8qKlxuICogQ29uc3RydWN0IGEgcmFuZG9tIHByb2plY3Rpb24gdHJlZSBiYXNlZCBvbiBgYGRhdGFgYCB3aXRoIGxlYXZlc1xuICogb2Ygc2l6ZSBhdCBtb3N0IGBgbGVhZlNpemVgYFxuICovXG5mdW5jdGlvbiBtYWtlVHJlZShkYXRhLCBsZWFmU2l6ZSA9IDMwLCBuLCByYW5kb20pIHtcbiAgICBjb25zdCBpbmRpY2VzID0gdXRpbHMucmFuZ2UoZGF0YS5sZW5ndGgpO1xuICAgIGNvbnN0IHRyZWUgPSBtYWtlRXVjbGlkZWFuVHJlZShkYXRhLCBpbmRpY2VzLCBsZWFmU2l6ZSwgbiwgcmFuZG9tKTtcbiAgICByZXR1cm4gdHJlZTtcbn1cbmZ1bmN0aW9uIG1ha2VFdWNsaWRlYW5UcmVlKGRhdGEsIGluZGljZXMsIGxlYWZTaXplID0gMzAsIHEsIHJhbmRvbSkge1xuICAgIGlmIChpbmRpY2VzLmxlbmd0aCA+IGxlYWZTaXplKSB7XG4gICAgICAgIGNvbnN0IHNwbGl0UmVzdWx0cyA9IGV1Y2xpZGVhblJhbmRvbVByb2plY3Rpb25TcGxpdChkYXRhLCBpbmRpY2VzLCByYW5kb20pO1xuICAgICAgICBjb25zdCB7IGluZGljZXNMZWZ0LCBpbmRpY2VzUmlnaHQsIGh5cGVycGxhbmUsIG9mZnNldCB9ID0gc3BsaXRSZXN1bHRzO1xuICAgICAgICBjb25zdCBsZWZ0Q2hpbGQgPSBtYWtlRXVjbGlkZWFuVHJlZShkYXRhLCBpbmRpY2VzTGVmdCwgbGVhZlNpemUsIHEgKyAxLCByYW5kb20pO1xuICAgICAgICBjb25zdCByaWdodENoaWxkID0gbWFrZUV1Y2xpZGVhblRyZWUoZGF0YSwgaW5kaWNlc1JpZ2h0LCBsZWFmU2l6ZSwgcSArIDEsIHJhbmRvbSk7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB7IGxlZnRDaGlsZCwgcmlnaHRDaGlsZCwgaXNMZWFmOiBmYWxzZSwgaHlwZXJwbGFuZSwgb2Zmc2V0IH07XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHsgaW5kaWNlcywgaXNMZWFmOiB0cnVlIH07XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbn1cbi8qKlxuICogR2l2ZW4gYSBzZXQgb2YgYGBpbmRpY2VzYGAgZm9yIGRhdGEgcG9pbnRzIGZyb20gYGBkYXRhYGAsIGNyZWF0ZVxuICogYSByYW5kb20gaHlwZXJwbGFuZSB0byBzcGxpdCB0aGUgZGF0YSwgcmV0dXJuaW5nIHR3byBhcnJheXMgaW5kaWNlc1xuICogdGhhdCBmYWxsIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBoeXBlcnBsYW5lLiBUaGlzIGlzIHRoZSBiYXNpcyBmb3IgYVxuICogcmFuZG9tIHByb2plY3Rpb24gdHJlZSwgd2hpY2ggc2ltcGx5IHVzZXMgdGhpcyBzcGxpdHRpbmcgcmVjdXJzaXZlbHkuXG4gKiBUaGlzIHBhcnRpY3VsYXIgc3BsaXQgdXNlcyBldWNsaWRlYW4gZGlzdGFuY2UgdG8gZGV0ZXJtaW5lIHRoZSBoeXBlcnBsYW5lXG4gKiBhbmQgd2hpY2ggc2lkZSBlYWNoIGRhdGEgc2FtcGxlIGZhbGxzIG9uLlxuICovXG5mdW5jdGlvbiBldWNsaWRlYW5SYW5kb21Qcm9qZWN0aW9uU3BsaXQoZGF0YSwgaW5kaWNlcywgcmFuZG9tKSB7XG4gICAgLy9jb25zdCBkaW0gPSAxO1xuICAgIC8vIFNlbGVjdCB0d28gcmFuZG9tIHBvaW50cywgc2V0IHRoZSBoeXBlcnBsYW5lIGJldHdlZW4gdGhlbVxuICAgIGNvbnN0IGxlZnRJbmRleCA9IHV0aWxzLnRhdVJhbmRJbnQoaW5kaWNlcy5sZW5ndGgsIHJhbmRvbSk7XG4gICAgbGV0IHJpZ2h0SW5kZXggPSB1dGlscy50YXVSYW5kSW50KGluZGljZXMubGVuZ3RoLCByYW5kb20pO1xuICAgIHJpZ2h0SW5kZXggKz0gbGVmdEluZGV4ID09PSByaWdodEluZGV4ID8gMSA6IDA7XG4gICAgcmlnaHRJbmRleCA9IHJpZ2h0SW5kZXggJSBpbmRpY2VzLmxlbmd0aDtcbiAgICBjb25zdCBsZWZ0ID0gaW5kaWNlc1tsZWZ0SW5kZXhdO1xuICAgIGNvbnN0IHJpZ2h0ID0gaW5kaWNlc1tyaWdodEluZGV4XTtcbiAgICAvLyBDb21wdXRlIHRoZSBub3JtYWwgdmVjdG9yIHRvIHRoZSBoeXBlcnBsYW5lICh0aGUgdmVjdG9yIGJldHdlZW4gdGhlIHR3b1xuICAgIC8vIHBvaW50cykgYW5kIHRoZSBvZmZzZXQgZnJvbSB0aGUgb3JpZ2luXG4gICAgbGV0IGh5cGVycGxhbmVPZmZzZXQgPSAwO1xuICAgIGxldCBoeXBlcnBsYW5lVmVjdG9yID0gMDtcbiAgICBoeXBlcnBsYW5lVmVjdG9yID0gZGF0YVtsZWZ0XSAtIGRhdGFbcmlnaHRdO1xuICAgIGh5cGVycGxhbmVPZmZzZXQgLT1cbiAgICAgICAgKGh5cGVycGxhbmVWZWN0b3IgKiAoZGF0YVtsZWZ0XSArIGRhdGFbcmlnaHRdKSkgLyAyLjA7XG4gICAgLy8gRm9yIGVhY2ggcG9pbnQgY29tcHV0ZSB0aGUgbWFyZ2luIChwcm9qZWN0IGludG8gbm9ybWFsIHZlY3RvcilcbiAgICAvLyBJZiB3ZSBhcmUgb24gbG93ZXIgc2lkZSBvZiB0aGUgaHlwZXJwbGFuZSBwdXQgaW4gb25lIHBpbGUsIG90aGVyd2lzZVxuICAgIC8vIHB1dCBpdCBpbiB0aGUgb3RoZXIgcGlsZSAoaWYgd2UgaGl0IGh5cGVycGxhbmUgb24gdGhlIG5vc2UsIGZsaXAgYSBjb2luKVxuICAgIGxldCBuTGVmdCA9IDA7XG4gICAgbGV0IG5SaWdodCA9IDA7XG4gICAgY29uc3Qgc2lkZSA9IHV0aWxzLnplcm9zKGluZGljZXMubGVuZ3RoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluZGljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IG1hcmdpbiA9IGh5cGVycGxhbmVPZmZzZXQ7XG4gICAgICAgIG1hcmdpbiArPSBoeXBlcnBsYW5lVmVjdG9yICogZGF0YVtpbmRpY2VzW2ldXTtcbiAgICAgICAgaWYgKG1hcmdpbiA9PT0gMCkge1xuICAgICAgICAgICAgc2lkZVtpXSA9IHV0aWxzLnRhdVJhbmRJbnQoMiwgcmFuZG9tKTtcbiAgICAgICAgICAgIGlmIChzaWRlW2ldID09PSAwKVxuICAgICAgICAgICAgICAgIG5MZWZ0ICs9IDE7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgblJpZ2h0ICs9IDE7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobWFyZ2luID4gMCkge1xuICAgICAgICAgICAgc2lkZVtpXSA9IDA7XG4gICAgICAgICAgICBuTGVmdCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2lkZVtpXSA9IDE7XG4gICAgICAgICAgICBuUmlnaHQgKz0gMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBOb3cgdGhhdCB3ZSBoYXZlIHRoZSBjb3VudHMsIGFsbG9jYXRlIGFycmF5c1xuICAgIGNvbnN0IGluZGljZXNMZWZ0ID0gdXRpbHMuemVyb3MobkxlZnQpO1xuICAgIGNvbnN0IGluZGljZXNSaWdodCA9IHV0aWxzLnplcm9zKG5SaWdodCk7XG4gICAgLy8gUG9wdWxhdGUgdGhlIGFycmF5cyB3aXRoIGluZGljZXMgYWNjb3JkaW5nIHRvIHdoaWNoIHNpZGUgdGhleSBmZWxsIG9uXG4gICAgbkxlZnQgPSAwO1xuICAgIG5SaWdodCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaWRlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChzaWRlW2ldID09PSAwKSB7XG4gICAgICAgICAgICBpbmRpY2VzTGVmdFtuTGVmdF0gPSBpbmRpY2VzW2ldO1xuICAgICAgICAgICAgbkxlZnQgKz0gMTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGluZGljZXNSaWdodFtuUmlnaHRdID0gaW5kaWNlc1tpXTtcbiAgICAgICAgICAgIG5SaWdodCArPSAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGluZGljZXNMZWZ0LFxuICAgICAgICBpbmRpY2VzUmlnaHQsXG4gICAgICAgIGh5cGVycGxhbmU6IGh5cGVycGxhbmVWZWN0b3IsXG4gICAgICAgIG9mZnNldDogaHlwZXJwbGFuZU9mZnNldCxcbiAgICB9O1xufVxuZnVuY3Rpb24gZmxhdHRlblRyZWUodHJlZSwgbGVhZlNpemUpIHtcbiAgICBjb25zdCBuTm9kZXMgPSBudW1Ob2Rlcyh0cmVlKTtcbiAgICBjb25zdCBuTGVhdmVzID0gbnVtTGVhdmVzKHRyZWUpO1xuICAgIC8vIFRPRE86IFZlcmlmeSB0aGF0IHNwYXJzZSBjb2RlIGlzIG5vdCByZWxldmFudC4uLlxuICAgIGNvbnN0IGh5cGVycGxhbmVzID0gdXRpbHNcbiAgICAgICAgLnJhbmdlKG5Ob2RlcylcbiAgICAgICAgLm1hcCgoKSA9PiB0cmVlLmh5cGVycGxhbmUgPyAxIDogMCk7XG4gICAgY29uc3Qgb2Zmc2V0cyA9IHV0aWxzLnplcm9zKG5Ob2Rlcyk7XG4gICAgY29uc3QgY2hpbGRyZW4gPSB1dGlscy5yYW5nZShuTm9kZXMpLm1hcCgoKSA9PiBbLTEsIC0xXSk7XG4gICAgY29uc3QgaW5kaWNlcyA9IHV0aWxzXG4gICAgICAgIC5yYW5nZShuTGVhdmVzKVxuICAgICAgICAubWFwKCgpID0+IHV0aWxzLnJhbmdlKGxlYWZTaXplKS5tYXAoKCkgPT4gLTEpKTtcbiAgICByZWN1cnNpdmVGbGF0dGVuKHRyZWUsIGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcywgMCwgMCk7XG4gICAgcmV0dXJuIG5ldyBGbGF0VHJlZShoeXBlcnBsYW5lcywgb2Zmc2V0cywgY2hpbGRyZW4sIGluZGljZXMpO1xufVxuZnVuY3Rpb24gcmVjdXJzaXZlRmxhdHRlbih0cmVlLCBoeXBlcnBsYW5lcywgb2Zmc2V0cywgY2hpbGRyZW4sIGluZGljZXMsIG5vZGVOdW0sIGxlYWZOdW0pIHtcbiAgICBpZiAodHJlZS5pc0xlYWYpIHtcbiAgICAgICAgY2hpbGRyZW5bbm9kZU51bV1bMF0gPSAtbGVhZk51bTtcbiAgICAgICAgLy8gVE9ETzogVHJpcGxlIGNoZWNrIHRoaXMgb3BlcmF0aW9uIGNvcnJlc3BvbmRzIHRvXG4gICAgICAgIC8vIGluZGljZXNbbGVhZk51bSA6IHRyZWUuaW5kaWNlcy5zaGFwZVswXV0gPSB0cmVlLmluZGljZXNcbiAgICAgICAgaW5kaWNlc1tsZWFmTnVtXS5zcGxpY2UoMCwgdHJlZS5pbmRpY2VzLmxlbmd0aCwgLi4udHJlZS5pbmRpY2VzKTtcbiAgICAgICAgbGVhZk51bSArPSAxO1xuICAgICAgICByZXR1cm4geyBub2RlTnVtLCBsZWFmTnVtIH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBoeXBlcnBsYW5lc1tub2RlTnVtXSA9IHRyZWUuaHlwZXJwbGFuZTtcbiAgICAgICAgb2Zmc2V0c1tub2RlTnVtXSA9IHRyZWUub2Zmc2V0O1xuICAgICAgICBjaGlsZHJlbltub2RlTnVtXVswXSA9IG5vZGVOdW0gKyAxO1xuICAgICAgICBjb25zdCBvbGROb2RlTnVtID0gbm9kZU51bTtcbiAgICAgICAgbGV0IHJlcyA9IHJlY3Vyc2l2ZUZsYXR0ZW4odHJlZS5sZWZ0Q2hpbGQsIGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcywgbm9kZU51bSArIDEsIGxlYWZOdW0pO1xuICAgICAgICBub2RlTnVtID0gcmVzLm5vZGVOdW07XG4gICAgICAgIGxlYWZOdW0gPSByZXMubGVhZk51bTtcbiAgICAgICAgY2hpbGRyZW5bb2xkTm9kZU51bV1bMV0gPSBub2RlTnVtICsgMTtcbiAgICAgICAgcmVzID0gcmVjdXJzaXZlRmxhdHRlbih0cmVlLnJpZ2h0Q2hpbGQsIGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcywgbm9kZU51bSArIDEsIGxlYWZOdW0pO1xuICAgICAgICByZXR1cm4geyBub2RlTnVtOiByZXMubm9kZU51bSwgbGVhZk51bTogcmVzLmxlYWZOdW0gfTtcbiAgICB9XG59XG5mdW5jdGlvbiBudW1Ob2Rlcyh0cmVlKSB7XG4gICAgaWYgKHRyZWUuaXNMZWFmKVxuICAgICAgICByZXR1cm4gMTtcbiAgICBlbHNlXG4gICAgICAgIHJldHVybiAxICsgbnVtTm9kZXModHJlZS5sZWZ0Q2hpbGQpICsgbnVtTm9kZXModHJlZS5yaWdodENoaWxkKTtcbn1cbmZ1bmN0aW9uIG51bUxlYXZlcyh0cmVlKSB7XG4gICAgaWYgKHRyZWUuaXNMZWFmKVxuICAgICAgICByZXR1cm4gMTtcbiAgICBlbHNlXG4gICAgICAgIHJldHVybiBudW1MZWF2ZXModHJlZS5sZWZ0Q2hpbGQpICsgbnVtTGVhdmVzKHRyZWUucmlnaHRDaGlsZCk7XG59XG4vKipcbiAqIEdlbmVyYXRlIGFuIGFycmF5IG9mIHNldHMgb2YgY2FuZGlkYXRlIG5lYXJlc3QgbmVpZ2hib3JzIGJ5XG4gKiBjb25zdHJ1Y3RpbmcgYSByYW5kb20gcHJvamVjdGlvbiBmb3Jlc3QgYW5kIHRha2luZyB0aGUgbGVhdmVzIG9mIGFsbCB0aGVcbiAqIHRyZWVzLiBBbnkgZ2l2ZW4gdHJlZSBoYXMgbGVhdmVzIHRoYXQgYXJlIGEgc2V0IG9mIHBvdGVudGlhbCBuZWFyZXN0XG4gKiBuZWlnaGJvcnMuIEdpdmVuIGVub3VnaCB0cmVlcyB0aGUgc2V0IG9mIGFsbCBzdWNoIGxlYXZlcyBnaXZlcyBhIGdvb2RcbiAqIGxpa2VsaWhvb2Qgb2YgZ2V0dGluZyBhIGdvb2Qgc2V0IG9mIG5lYXJlc3QgbmVpZ2hib3JzIGluIGNvbXBvc2l0ZS4gU2luY2VcbiAqIHN1Y2ggYSByYW5kb20gcHJvamVjdGlvbiBmb3Jlc3QgaXMgaW5leHBlbnNpdmUgdG8gY29tcHV0ZSwgdGhpcyBjYW4gYmUgYVxuICogdXNlZnVsIG1lYW5zIG9mIHNlZWRpbmcgb3RoZXIgbmVhcmVzdCBuZWlnaGJvciBhbGdvcml0aG1zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZUxlYWZBcnJheShycEZvcmVzdCkge1xuICAgIGlmIChycEZvcmVzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHRyZWUgb2YgcnBGb3Jlc3QpXG4gICAgICAgICAgICBvdXRwdXQucHVzaCguLi50cmVlLmluZGljZXMpO1xuICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFtbLTFdXTtcbiAgICB9XG59XG4vKipcbiAqIFNlbGVjdHMgdGhlIHNpZGUgb2YgdGhlIHRyZWUgdG8gc2VhcmNoIGR1cmluZyBmbGF0IHRyZWUgc2VhcmNoLlxuICovXG5mdW5jdGlvbiBzZWxlY3RTaWRlKGh5cGVycGxhbmUsIG9mZnNldCwgcG9pbnQsIHJhbmRvbSkge1xuICAgIGxldCBtYXJnaW4gPSBvZmZzZXQ7XG4gICAgbWFyZ2luICs9IGh5cGVycGxhbmUgKiBwb2ludDtcbiAgICBpZiAobWFyZ2luID09PSAwKSB7XG4gICAgICAgIGNvbnN0IHNpZGUgPSB1dGlscy50YXVSYW5kSW50KDIsIHJhbmRvbSk7XG4gICAgICAgIHJldHVybiBzaWRlO1xuICAgIH1cbiAgICBlbHNlIGlmIChtYXJnaW4gPiAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxufVxuLyoqXG4gKiBTZWFyY2hlcyBhIGZsYXR0ZW5lZCBycC10cmVlIGZvciBhIHBvaW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoRmxhdFRyZWUocG9pbnQsIHRyZWUsIHJhbmRvbSkge1xuICAgIGxldCBub2RlID0gMDtcbiAgICB3aGlsZSAodHJlZS5jaGlsZHJlbltub2RlXVswXSA+IDApIHtcbiAgICAgICAgY29uc3Qgc2lkZSA9IHNlbGVjdFNpZGUodHJlZS5oeXBlcnBsYW5lc1tub2RlXSwgdHJlZS5vZmZzZXRzW25vZGVdLCBwb2ludCwgcmFuZG9tKTtcbiAgICAgICAgaWYgKHNpZGUgPT09IDApXG4gICAgICAgICAgICBub2RlID0gdHJlZS5jaGlsZHJlbltub2RlXVswXTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgbm9kZSA9IHRyZWUuY2hpbGRyZW5bbm9kZV1bMV07XG4gICAgfVxuICAgIGNvbnN0IGluZGV4ID0gLTEgKiB0cmVlLmNoaWxkcmVuW25vZGVdWzBdO1xuICAgIHJldHVybiB0cmVlLmluZGljZXNbaW5kZXhdO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhKbFpTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5SeVpXVXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN096czdPenM3T3pzN096czdPenM3TzBkQmFVSkhPMEZCUlVnN096czdPMGRCUzBjN1FVRkZTRHM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p0SFFTdENSenRCUVVWSUxFOUJRVThzUzBGQlN5eExRVUZMTEUxQlFVMHNVMEZCVXl4RFFVRkRPMEZCWldwRExFMUJRVTBzVDBGQlR5eFJRVUZSTzBsQlJWWTdTVUZEUVR0SlFVTkJPMGxCUTBFN1NVRktWQ3haUVVOVExGZEJRWEZDTEVWQlEzSkNMRTlCUVdsQ0xFVkJRMnBDTEZGQlFXOUNMRVZCUTNCQ0xFOUJRVzFDTzFGQlNHNUNMR2RDUVVGWExFZEJRVmdzVjBGQlZ5eERRVUZWTzFGQlEzSkNMRmxCUVU4c1IwRkJVQ3hQUVVGUExFTkJRVlU3VVVGRGFrSXNZVUZCVVN4SFFVRlNMRkZCUVZFc1EwRkJXVHRSUVVOd1FpeFpRVUZQTEVkQlFWQXNUMEZCVHl4RFFVRlpPMGxCUTNwQ0xFTkJRVU03UTBGRFREdEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxGVkJRVlVzUTBGRGVFSXNTVUZCV1N4RlFVTmFMRlZCUVd0Q0xFVkJRMnhDTEUxQlFXTXNSVUZEWkN4TlFVRm5RanRKUVVWb1FpeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXp0SlFVVXhReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eExRVUZMTzFOQlEyaENMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU03VTBGRFlpeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRkZCUVZFc1JVRkJSU3hEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjBSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eFhRVUZYTEVOQlFVTXNTVUZCU1N4RlFVRkZMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRmFFVXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFT3pzN1IwRkhSenRCUVVOSUxGTkJRVk1zVVVGQlVTeERRVU5tTEVsQlFWa3NSVUZEV2l4UlFVRlJMRWRCUVVjc1JVRkJSU3hGUVVOaUxFTkJRVk1zUlVGRFZDeE5RVUZuUWp0SlFVVm9RaXhOUVVGTkxFOUJRVThzUjBGQlJ5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVU42UXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhwUWtGQmFVSXNRMEZCUXl4SlFVRkpMRVZCUVVVc1QwRkJUeXhGUVVGRkxGRkJRVkVzUlVGQlJTeERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRia1VzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWkN4RFFVRkRPMEZCUlVRc1UwRkJVeXhwUWtGQmFVSXNRMEZEZUVJc1NVRkJXU3hGUVVOYUxFOUJRV2xDTEVWQlEycENMRkZCUVZFc1IwRkJSeXhGUVVGRkxFVkJRMklzUTBGQlV5eEZRVU5VTEUxQlFXZENPMGxCUldoQ0xFbEJRVWtzVDBGQlR5eERRVUZETEUxQlFVMHNSMEZCUnl4UlFVRlJMRVZCUVVVN1VVRkROMElzVFVGQlRTeFpRVUZaTEVkQlFVY3NPRUpCUVRoQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVNelJTeE5RVUZOTEVWQlFVTXNWMEZCVnl4RlFVRkZMRmxCUVZrc1JVRkJSU3hWUVVGVkxFVkJRVVVzVFVGQlRTeEZRVUZETEVkQlFVY3NXVUZCV1N4RFFVRkRPMUZCUlhKRkxFMUJRVTBzVTBGQlV5eEhRVUZITEdsQ1FVRnBRaXhEUVVOcVF5eEpRVUZKTEVWQlEwb3NWMEZCVnl4RlFVTllMRkZCUVZFc1JVRkRVaXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVU5NTEUxQlFVMHNRMEZEVUN4RFFVRkRPMUZCUTBZc1RVRkJUU3hWUVVGVkxFZEJRVWNzYVVKQlFXbENMRU5CUTJ4RExFbEJRVWtzUlVGRFNpeFpRVUZaTEVWQlExb3NVVUZCVVN4RlFVTlNMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRMHdzVFVGQlRTeERRVU5RTEVOQlFVTTdVVUZGUml4TlFVRk5MRWxCUVVrc1IwRkJSeXhGUVVGRExGTkJRVk1zUlVGQlJTeFZRVUZWTEVWQlFVVXNUVUZCVFN4RlFVRkZMRXRCUVVzc1JVRkJSU3hWUVVGVkxFVkJRVVVzVFVGQlRTeEZRVUZETEVOQlFVTTdVVUZEZUVVc1QwRkJUeXhKUVVGSkxFTkJRVU03UzBGRFlqdFRRVUZOTzFGQlEwd3NUVUZCVFN4SlFVRkpMRWRCUVVjc1JVRkJReXhQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlFVa3NSVUZCUXl4RFFVRkRPMUZCUTNKRExFOUJRVThzU1VGQlNTeERRVUZETzB0QlEySTdRVUZEU0N4RFFVRkRPMEZCUlVRN096czdPenM3UjBGUFJ6dEJRVU5JTEZOQlFWTXNPRUpCUVRoQ0xFTkJRM0pETEVsQlFWa3NSVUZEV2l4UFFVRnBRaXhGUVVOcVFpeE5RVUZuUWp0SlFVVm9RaXhuUWtGQlowSTdTVUZGYUVJc05FUkJRVFJFTzBsQlF6VkVMRTFCUVUwc1UwRkJVeXhIUVVGSExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVU16UkN4SlFVRkpMRlZCUVZVc1IwRkJSeXhMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUXl4TlFVRk5MRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03U1VGRE1VUXNWVUZCVlN4SlFVRkpMRk5CUVZNc1MwRkJTeXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJReTlETEZWQlFWVXNSMEZCUnl4VlFVRlZMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF6dEpRVU42UXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhQUVVGUExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdTVUZEYUVNc1RVRkJUU3hMUVVGTExFZEJRVWNzVDBGQlR5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMGxCUld4RExEQkZRVUV3UlR0SlFVTXhSU3g1UTBGQmVVTTdTVUZEZWtNc1NVRkJTU3huUWtGQlowSXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRla0lzU1VGQlNTeG5Ra0ZCWjBJc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGSGVrSXNaMEpCUVdkQ0xFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEpRVU0xUXl4blFrRkJaMEk3VVVGRFpDeERRVUZETEdkQ1FVRm5RaXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRPMGxCUjNoRUxHbEZRVUZwUlR0SlFVTnFSU3gxUlVGQmRVVTdTVUZEZGtVc01rVkJRVEpGTzBsQlF6TkZMRWxCUVVrc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU5rTEVsQlFVa3NUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVObUxFMUJRVTBzU1VGQlNTeEhRVUZITEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBsQlEzcERMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFGQlEzWkRMRWxCUVVrc1RVRkJUU3hIUVVGSExHZENRVUZuUWl4RFFVRkRPMUZCUlRsQ0xFMUJRVTBzU1VGQlNTeG5Ra0ZCWjBJc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZPVU1zU1VGQlNTeE5RVUZOTEV0QlFVc3NRMEZCUXl4RlFVRkZPMWxCUTJoQ0xFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXp0WlFVTjBReXhKUVVGSkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRPMmRDUVVObUxFdEJRVXNzU1VGQlNTeERRVUZETEVOQlFVTTdPMmRDUVVWWUxFMUJRVTBzU1VGQlNTeERRVUZETEVOQlFVTTdVMEZEWmp0aFFVRk5MRWxCUVVrc1RVRkJUU3hIUVVGSExFTkJRVU1zUlVGQlJUdFpRVU55UWl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlExb3NTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJRenRUUVVOYU8yRkJRVTA3V1VGRFRDeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMW9zVFVGQlRTeEpRVUZKTEVOQlFVTXNRMEZCUXp0VFFVTmlPMHRCUTBZN1NVRkZSQ3dyUTBGQkswTTdTVUZETDBNc1RVRkJUU3hYUVVGWExFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRKUVVOMlF5eE5RVUZOTEZsQlFWa3NSMEZCUnl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBsQlJYcERMSGRGUVVGM1JUdEpRVU40UlN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMVlzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTllMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFGQlEzQkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlR0WlFVTnFRaXhYUVVGWExFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMmhETEV0QlFVc3NTVUZCU1N4RFFVRkRMRU5CUVVNN1UwRkRXanRoUVVGTk8xbEJRMHdzV1VGQldTeERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5zUXl4TlFVRk5MRWxCUVVrc1EwRkJReXhEUVVGRE8xTkJRMkk3UzBGRFJqdEpRVVZFTEU5QlFVODdVVUZEVEN4WFFVRlhPMUZCUTFnc1dVRkJXVHRSUVVOYUxGVkJRVlVzUlVGQlJTeG5Ra0ZCWjBJN1VVRkROVUlzVFVGQlRTeEZRVUZGTEdkQ1FVRm5RanRMUVVONlFpeERRVUZETzBGQlEwb3NRMEZCUXp0QlFVVkVMRk5CUVZNc1YwRkJWeXhEUVVGRExFbEJRVGhDTEVWQlFVVXNVVUZCWjBJN1NVRkRia1VzVFVGQlRTeE5RVUZOTEVkQlFVY3NVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRemxDTEUxQlFVMHNUMEZCVHl4SFFVRkhMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVVZvUXl4dFJFRkJiVVE3U1VGRGJrUXNUVUZCVFN4WFFVRlhMRWRCUVVjc1MwRkJTenRUUVVOMFFpeExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRPMU5CUTJJc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZkRU1zVFVGQlRTeFBRVUZQTEVkQlFVY3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVU53UXl4TlFVRk5MRkZCUVZFc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU42UkN4TlFVRk5MRTlCUVU4c1IwRkJSeXhMUVVGTE8xTkJRMnhDTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNN1UwRkRaQ3hIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEyeEVMR2RDUVVGblFpeERRVUZETEVsQlFVa3NSVUZCUlN4WFFVRlhMRVZCUVVVc1QwRkJUeXhGUVVGRkxGRkJRVkVzUlVGQlJTeFBRVUZQTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM1JGTEU5QlFVOHNTVUZCU1N4UlFVRlJMRU5CUVVNc1YwRkJWeXhGUVVGRkxFOUJRVThzUlVGQlJTeFJRVUZSTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNN1FVRkRMMFFzUTBGQlF6dEJRVVZFTEZOQlFWTXNaMEpCUVdkQ0xFTkJRM1pDTEVsQlFUaENMRVZCUXpsQ0xGZEJRWEZDTEVWQlEzSkNMRTlCUVdsQ0xFVkJRMnBDTEZGQlFXOUNMRVZCUTNCQ0xFOUJRVzFDTEVWQlEyNUNMRTlCUVdVc1JVRkRaaXhQUVVGbE8wbEJSV1lzU1VGQlNTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZPMUZCUTJZc1VVRkJVU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRE8xRkJSV2hETEcxRVFVRnRSRHRSUVVOdVJDd3dSRUZCTUVRN1VVRkRNVVFzVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEU5QlFWRXNRMEZCUXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlVTeERRVUZETEVOQlFVTTdVVUZEYmtVc1QwRkJUeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU5pTEU5QlFVOHNSVUZCUXl4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRExFTkJRVU03UzBGRE0wSTdVMEZCVFR0UlFVTk1MRmRCUVZjc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNWVUZCVnl4RFFVRkRPMUZCUTNoRExFOUJRVThzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUeXhEUVVGRE8xRkJRMmhETEZGQlFWRXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTI1RExFMUJRVTBzVlVGQlZTeEhRVUZITEU5QlFVOHNRMEZCUXp0UlFVVXpRaXhKUVVGSkxFZEJRVWNzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkRlRUlzU1VGQlNTeERRVUZETEZOQlFWVXNSVUZEWml4WFFVRlhMRVZCUTFnc1QwRkJUeXhGUVVOUUxGRkJRVkVzUlVGRFVpeFBRVUZQTEVWQlExQXNUMEZCVHl4SFFVRkhMRU5CUVVNc1JVRkRXQ3hQUVVGUExFTkJRMUlzUTBGQlF6dFJRVU5HTEU5QlFVOHNSMEZCUnl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRE8xRkJRM1JDTEU5QlFVOHNSMEZCUnl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRE8xRkJSWFJDTEZGQlFWRXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUlhSRExFZEJRVWNzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkRjRUlzU1VGQlNTeERRVUZETEZWQlFWY3NSVUZEYUVJc1YwRkJWeXhGUVVOWUxFOUJRVThzUlVGRFVDeFJRVUZSTEVWQlExSXNUMEZCVHl4RlFVTlFMRTlCUVU4c1IwRkJSeXhEUVVGRExFVkJRMWdzVDBGQlR5eERRVU5TTEVOQlFVTTdVVUZEUml4UFFVRlBMRVZCUVVNc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGQlF5eFBRVUZQTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkJReXhQUVVGUExFVkJRVU1zUTBGQlF6dExRVU55UkR0QlFVTklMRU5CUVVNN1FVRkZSQ3hUUVVGVExGRkJRVkVzUTBGQlF5eEpRVUU0UWp0SlFVTTVReXhKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTzFGQlEySXNUMEZCVHl4RFFVRkRMRU5CUVVNN08xRkJSVlFzVDBGQlR5eERRVUZETEVkQlFVY3NVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVkxFTkJRVU1zUjBGQlJ5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZjc1EwRkJReXhEUVVGRE8wRkJRM1JGTEVOQlFVTTdRVUZGUkN4VFFVRlRMRk5CUVZNc1EwRkJReXhKUVVFNFFqdEpRVU12UXl4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTk8xRkJRMklzVDBGQlR5eERRVUZETEVOQlFVTTdPMUZCUlZRc1QwRkJUeXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWVXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zVlVGQlZ5eERRVUZETEVOQlFVTTdRVUZEY0VVc1EwRkJRenRCUVVWRU96czdPenM3T3p0SFFWRkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHRkJRV0VzUTBGQlF5eFJRVUZ2UWp0SlFVTm9SQ3hKUVVGSkxGRkJRVkVzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVRkZPMUZCUTNaQ0xFMUJRVTBzVFVGQlRTeEhRVUZsTEVWQlFVVXNRMEZCUXp0UlFVTTVRaXhMUVVGTExFMUJRVTBzU1VGQlNTeEpRVUZKTEZGQlFWRTdXVUZEZWtJc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4UFFVRlJMRU5CUVVNc1EwRkJRenRSUVVWb1F5eFBRVUZQTEUxQlFVMHNRMEZCUXp0TFFVTm1PMU5CUVUwN1VVRkRUQ3hQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1MwRkRaanRCUVVOSUxFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRk5CUVZNc1ZVRkJWU3hEUVVOcVFpeFZRVUZyUWl4RlFVTnNRaXhOUVVGakxFVkJRMlFzUzBGQllTeEZRVU5pTEUxQlFXZENPMGxCUldoQ0xFbEJRVWtzVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXp0SlFVVndRaXhOUVVGTkxFbEJRVWtzVlVGQlZTeEhRVUZITEV0QlFVc3NRMEZCUXp0SlFVYzNRaXhKUVVGSkxFMUJRVTBzUzBGQlN5eERRVUZETEVWQlFVVTdVVUZEYUVJc1RVRkJUU3hKUVVGSkxFZEJRVWNzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGVrTXNUMEZCVHl4SlFVRkpMRU5CUVVNN1MwRkRZanRUUVVGTkxFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNSVUZCUlR0UlFVTnlRaXhQUVVGUExFTkJRVU1zUTBGQlF6dExRVU5XTzFOQlFVMDdVVUZEVEN4UFFVRlBMRU5CUVVNc1EwRkJRenRMUVVOV08wRkJRMGdzUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHTkJRV01zUTBGRE5VSXNTMEZCWVN4RlFVTmlMRWxCUVdNc1JVRkRaQ3hOUVVGblFqdEpRVVZvUWl4SlFVRkpMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRFlpeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZPMUZCUTJwRExFMUJRVTBzU1VGQlNTeEhRVUZITEZWQlFWVXNRMEZEY2tJc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZEZEVJc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZEYkVJc1MwRkJTeXhGUVVOTUxFMUJRVTBzUTBGRFVDeERRVUZETzFGQlEwWXNTVUZCU1N4SlFVRkpMRXRCUVVzc1EwRkJRenRaUVVOYUxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZET3p0WlFVVTVRaXhKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dExRVU5xUXp0SlFVVkVMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZETVVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUXpkQ0xFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCc2FXTmxibk5sWEc0Z0tseHVJQ29nUTI5d2VYSnBaMmgwSURJd01Ua2dSMjl2WjJ4bElFeE1ReTRnUVd4c0lGSnBaMmgwY3lCU1pYTmxjblpsWkM1Y2JpQXFYRzRnS2lCTWFXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1FYQmhZMmhsSUV4cFkyVnVjMlVzSUZabGNuTnBiMjRnTWk0d0lDaDBhR1VnWENKTWFXTmxibk5sWENJcE8xeHVJQ29nZVc5MUlHMWhlU0J1YjNRZ2RYTmxJSFJvYVhNZ1ptbHNaU0JsZUdObGNIUWdhVzRnWTI5dGNHeHBZVzVqWlNCM2FYUm9JSFJvWlNCTWFXTmxibk5sTGx4dUlDb2dXVzkxSUcxaGVTQnZZblJoYVc0Z1lTQmpiM0I1SUc5bUlIUm9aU0JNYVdObGJuTmxJR0YwWEc0Z0tseHVJQ29nSUNBZ0lHaDBkSEE2THk5M2QzY3VZWEJoWTJobExtOXlaeTlzYVdObGJuTmxjeTlNU1VORlRsTkZMVEl1TUZ4dUlDcGNiaUFxSUZWdWJHVnpjeUJ5WlhGMWFYSmxaQ0JpZVNCaGNIQnNhV05oWW14bElHeGhkeUJ2Y2lCaFozSmxaV1FnZEc4Z2FXNGdkM0pwZEdsdVp5d2djMjltZEhkaGNtVmNiaUFxSUdScGMzUnlhV0oxZEdWa0lIVnVaR1Z5SUhSb1pTQk1hV05sYm5ObElHbHpJR1JwYzNSeWFXSjFkR1ZrSUc5dUlHRnVJRndpUVZNZ1NWTmNJaUJDUVZOSlV5eGNiaUFxSUZkSlZFaFBWVlFnVjBGU1VrRk9WRWxGVXlCUFVpQkRUMDVFU1ZSSlQwNVRJRTlHSUVGT1dTQkxTVTVFTENCbGFYUm9aWElnWlhod2NtVnpjeUJ2Y2lCcGJYQnNhV1ZrTGx4dUlDb2dVMlZsSUhSb1pTQk1hV05sYm5ObElHWnZjaUIwYUdVZ2MzQmxZMmxtYVdNZ2JHRnVaM1ZoWjJVZ1oyOTJaWEp1YVc1bklIQmxjbTFwYzNOcGIyNXpJR0Z1WkZ4dUlDb2diR2x0YVhSaGRHbHZibk1nZFc1a1pYSWdkR2hsSUV4cFkyVnVjMlV1WEc0Z0tpQTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JpQXFMMXh1WEc0dktpcGNiaUFxSUZSb2FYTWdhWE1nWVNCS1lYWmhVMk55YVhCMElISmxhVzF3YkdWdFpXNTBZWFJwYjI0Z2IyWWdWVTFCVUNBb2IzSnBaMmx1WVd3Z2JHbGpaVzV6WlNCaVpXeHZkeWtzSUdaeWIyMWNiaUFxSUhSb1pTQndlWFJvYjI0Z2FXMXdiR1Z0Wlc1MFlYUnBiMjRnWm05MWJtUWdZWFFnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJ4dFkybHVibVZ6TDNWdFlYQXVYRzRnS2x4dUlDb2dRR0YxZEdodmNpQmhibVI1WTI5bGJtVnVRR2R2YjJkc1pTNWpiMjBnS0VGdVpIa2dRMjlsYm1WdUtWeHVJQ292WEc1Y2JpOHFLbHh1SUNvZ1FHeHBZMlZ1YzJWY2JpQXFJRUpUUkNBekxVTnNZWFZ6WlNCTWFXTmxibk5sWEc0Z0tseHVJQ29nUTI5d2VYSnBaMmgwSUNoaktTQXlNREUzTENCTVpXeGhibVFnVFdOSmJtNWxjMXh1SUNvZ1FXeHNJSEpwWjJoMGN5QnlaWE5sY25abFpDNWNiaUFxWEc0Z0tpQlNaV1JwYzNSeWFXSjFkR2x2YmlCaGJtUWdkWE5sSUdsdUlITnZkWEpqWlNCaGJtUWdZbWx1WVhKNUlHWnZjbTF6TENCM2FYUm9JRzl5SUhkcGRHaHZkWFJjYmlBcUlHMXZaR2xtYVdOaGRHbHZiaXdnWVhKbElIQmxjbTFwZEhSbFpDQndjbTkyYVdSbFpDQjBhR0YwSUhSb1pTQm1iMnhzYjNkcGJtY2dZMjl1WkdsMGFXOXVjeUJoY21VZ2JXVjBPbHh1SUNwY2JpQXFJQ29nVW1Wa2FYTjBjbWxpZFhScGIyNXpJRzltSUhOdmRYSmpaU0JqYjJSbElHMTFjM1FnY21WMFlXbHVJSFJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxMQ0IwYUdselhHNGdLaUFnSUd4cGMzUWdiMllnWTI5dVpHbDBhVzl1Y3lCaGJtUWdkR2hsSUdadmJHeHZkMmx1WnlCa2FYTmpiR0ZwYldWeUxseHVJQ3BjYmlBcUlDb2dVbVZrYVhOMGNtbGlkWFJwYjI1eklHbHVJR0pwYm1GeWVTQm1iM0p0SUcxMWMzUWdjbVZ3Y205a2RXTmxJSFJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxMRnh1SUNvZ0lDQjBhR2x6SUd4cGMzUWdiMllnWTI5dVpHbDBhVzl1Y3lCaGJtUWdkR2hsSUdadmJHeHZkMmx1WnlCa2FYTmpiR0ZwYldWeUlHbHVJSFJvWlNCa2IyTjFiV1Z1ZEdGMGFXOXVYRzRnS2lBZ0lHRnVaQzl2Y2lCdmRHaGxjaUJ0WVhSbGNtbGhiSE1nY0hKdmRtbGtaV1FnZDJsMGFDQjBhR1VnWkdsemRISnBZblYwYVc5dUxseHVJQ3BjYmlBcUlDb2dUbVZwZEdobGNpQjBhR1VnYm1GdFpTQnZaaUIwYUdVZ1kyOXdlWEpwWjJoMElHaHZiR1JsY2lCdWIzSWdkR2hsSUc1aGJXVnpJRzltSUdsMGMxeHVJQ29nSUNCamIyNTBjbWxpZFhSdmNuTWdiV0Y1SUdKbElIVnpaV1FnZEc4Z1pXNWtiM0p6WlNCdmNpQndjbTl0YjNSbElIQnliMlIxWTNSeklHUmxjbWwyWldRZ1puSnZiVnh1SUNvZ0lDQjBhR2x6SUhOdlpuUjNZWEpsSUhkcGRHaHZkWFFnYzNCbFkybG1hV01nY0hKcGIzSWdkM0pwZEhSbGJpQndaWEp0YVhOemFXOXVMbHh1SUNwY2JpQXFJRlJJU1ZNZ1UwOUdWRmRCVWtVZ1NWTWdVRkpQVmtsRVJVUWdRbGtnVkVoRklFTlBVRmxTU1VkSVZDQklUMHhFUlZKVElFRk9SQ0JEVDA1VVVrbENWVlJQVWxNZ1hDSkJVeUJKVTF3aVhHNGdLaUJCVGtRZ1FVNVpJRVZZVUZKRlUxTWdUMUlnU1UxUVRFbEZSQ0JYUVZKU1FVNVVTVVZUTENCSlRrTk1WVVJKVGtjc0lFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5d2dWRWhGWEc0Z0tpQkpUVkJNU1VWRUlGZEJVbEpCVGxSSlJWTWdUMFlnVFVWU1EwaEJUbFJCUWtsTVNWUlpJRUZPUkNCR1NWUk9SVk5USUVaUFVpQkJJRkJCVWxSSlExVk1RVklnVUZWU1VFOVRSU0JCVWtWY2JpQXFJRVJKVTBOTVFVbE5SVVF1SUVsT0lFNVBJRVZXUlU1VUlGTklRVXhNSUZSSVJTQkRUMUJaVWtsSFNGUWdTRTlNUkVWU0lFOVNJRU5QVGxSU1NVSlZWRTlTVXlCQ1JTQk1TVUZDVEVWY2JpQXFJRVpQVWlCQlRsa2dSRWxTUlVOVUxDQkpUa1JKVWtWRFZDd2dTVTVEU1VSRlRsUkJUQ3dnVTFCRlEwbEJUQ3dnUlZoRlRWQk1RVkpaTENCUFVpQkRUMDVUUlZGVlJVNVVTVUZNWEc0Z0tpQkVRVTFCUjBWVElDaEpUa05NVlVSSlRrY3NJRUpWVkNCT1QxUWdURWxOU1ZSRlJDQlVUeXdnVUZKUFExVlNSVTFGVGxRZ1QwWWdVMVZDVTFSSlZGVlVSU0JIVDA5RVV5QlBVbHh1SUNvZ1UwVlNWa2xEUlZNN0lFeFBVMU1nVDBZZ1ZWTkZMQ0JFUVZSQkxDQlBVaUJRVWs5R1NWUlRPeUJQVWlCQ1ZWTkpUa1ZUVXlCSlRsUkZVbEpWVUZSSlQwNHBJRWhQVjBWV1JWSmNiaUFxSUVOQlZWTkZSQ0JCVGtRZ1QwNGdRVTVaSUZSSVJVOVNXU0JQUmlCTVNVRkNTVXhKVkZrc0lGZElSVlJJUlZJZ1NVNGdRMDlPVkZKQlExUXNJRk5VVWtsRFZDQk1TVUZDU1V4SlZGa3NYRzRnS2lCUFVpQlVUMUpVSUNoSlRrTk1WVVJKVGtjZ1RrVkhURWxIUlU1RFJTQlBVaUJQVkVoRlVsZEpVMFVwSUVGU1NWTkpUa2NnU1U0Z1FVNVpJRmRCV1NCUFZWUWdUMFlnVkVoRklGVlRSVnh1SUNvZ1QwWWdWRWhKVXlCVFQwWlVWMEZTUlN3Z1JWWkZUaUJKUmlCQlJGWkpVMFZFSUU5R0lGUklSU0JRVDFOVFNVSkpURWxVV1NCUFJpQlRWVU5JSUVSQlRVRkhSUzVjYmlBcUwxeHVYRzVwYlhCdmNuUWdLaUJoY3lCMWRHbHNjeUJtY205dElDY3VMM1YwYVd4ekp6dGNibWx0Y0c5eWRDQjdVbUZ1Wkc5dFJtNHNJRlpsWTNSdmNuMGdabkp2YlNBbkxpOTFiV0Z3Snp0Y2JseHVMeW9xWEc0Z0tpQlVjbVZsSUdaMWJtTjBhVzl1WVd4cGRIa2dabTl5SUdGd2NISnZlR2x0WVhScGJtY2dibVZoY21WemRDQnVaV2xuYUdKdmNuTmNiaUFxTDF4dWFXNTBaWEptWVdObElGSmhibVJ2YlZCeWIycGxZM1JwYjI1VWNtVmxUbTlrWlNCN1hHNGdJR2x6VEdWaFpqb2dZbTl2YkdWaGJqdGNiaUFnYVc1a2FXTmxjejg2SUc1MWJXSmxjbHRkTzF4dUlDQnNaV1owUTJocGJHUS9PaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVTdYRzRnSUhKcFoyaDBRMmhwYkdRL09pQlNZVzVrYjIxUWNtOXFaV04wYVc5dVZISmxaVTV2WkdVN1hHNGdJR2g1Y0dWeWNHeGhibVUvT2lCdWRXMWlaWEk3WEc0Z0lHOW1abk5sZEQ4NklHNTFiV0psY2p0Y2JuMWNibHh1Wlhod2IzSjBJR05zWVhOeklFWnNZWFJVY21WbElIdGNiaUFnWTI5dWMzUnlkV04wYjNJb1hHNGdJQ0FnY0hWaWJHbGpJR2g1Y0dWeWNHeGhibVZ6T2lCdWRXMWlaWEpiWFN4Y2JpQWdJQ0J3ZFdKc2FXTWdiMlptYzJWMGN6b2diblZ0WW1WeVcxMHNYRzRnSUNBZ2NIVmliR2xqSUdOb2FXeGtjbVZ1T2lCdWRXMWlaWEpiWFZ0ZExGeHVJQ0FnSUhCMVlteHBZeUJwYm1ScFkyVnpPaUJ1ZFcxaVpYSmJYVnRkWEc0Z0lDa2dlMzFjYm4xY2JseHVMeW9xWEc0Z0tpQkNkV2xzWkNCaElISmhibVJ2YlNCd2NtOXFaV04wYVc5dUlHWnZjbVZ6ZENCM2FYUm9JR0JnYmxSeVpXVnpZR0F1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZV3RsUm05eVpYTjBLRnh1SUNCa1lYUmhPaUJXWldOMGIzSXNYRzRnSUc1T1pXbG5hR0p2Y25NNklHNTFiV0psY2l4Y2JpQWdibFJ5WldWek9pQnVkVzFpWlhJc1hHNGdJSEpoYm1SdmJUb2dVbUZ1Wkc5dFJtNWNiaWtnZTF4dUlDQmpiMjV6ZENCc1pXRm1VMmw2WlNBOUlFMWhkR2d1YldGNEtERXdMQ0J1VG1WcFoyaGliM0p6S1R0Y2JseHVJQ0JqYjI1emRDQjBjbVZsY3lBOUlIVjBhV3h6WEc0Z0lDQWdMbkpoYm1kbEtHNVVjbVZsY3lsY2JpQWdJQ0F1YldGd0tDaGZMQ0JwS1NBOVBpQnRZV3RsVkhKbFpTaGtZWFJoTENCc1pXRm1VMmw2WlN3Z2FTd2djbUZ1Wkc5dEtTazdYRzRnSUdOdmJuTjBJR1p2Y21WemRDQTlJSFJ5WldWekxtMWhjQ2dvZEhKbFpTa2dQVDRnWm14aGRIUmxibFJ5WldVb2RISmxaU3dnYkdWaFpsTnBlbVVwS1R0Y2JseHVJQ0J5WlhSMWNtNGdabTl5WlhOME8xeHVmVnh1WEc0dktpcGNiaUFxSUVOdmJuTjBjblZqZENCaElISmhibVJ2YlNCd2NtOXFaV04wYVc5dUlIUnlaV1VnWW1GelpXUWdiMjRnWUdCa1lYUmhZR0FnZDJsMGFDQnNaV0YyWlhOY2JpQXFJRzltSUhOcGVtVWdZWFFnYlc5emRDQmdZR3hsWVdaVGFYcGxZR0JjYmlBcUwxeHVablZ1WTNScGIyNGdiV0ZyWlZSeVpXVW9YRzRnSUdSaGRHRTZJRlpsWTNSdmNpeGNiaUFnYkdWaFpsTnBlbVVnUFNBek1DeGNiaUFnYmpvZ2JuVnRZbVZ5TEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBPaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVWdlMXh1SUNCamIyNXpkQ0JwYm1ScFkyVnpJRDBnZFhScGJITXVjbUZ1WjJVb1pHRjBZUzVzWlc1bmRHZ3BPMXh1SUNCamIyNXpkQ0IwY21WbElEMGdiV0ZyWlVWMVkyeHBaR1ZoYmxSeVpXVW9aR0YwWVN3Z2FXNWthV05sY3l3Z2JHVmhabE5wZW1Vc0lHNHNJSEpoYm1SdmJTazdYRzRnSUhKbGRIVnliaUIwY21WbE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdFlXdGxSWFZqYkdsa1pXRnVWSEpsWlNoY2JpQWdaR0YwWVRvZ1ZtVmpkRzl5TEZ4dUlDQnBibVJwWTJWek9pQnVkVzFpWlhKYlhTeGNiaUFnYkdWaFpsTnBlbVVnUFNBek1DeGNiaUFnY1RvZ2JuVnRZbVZ5TEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBPaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVWdlMXh1SUNCcFppQW9hVzVrYVdObGN5NXNaVzVuZEdnZ1BpQnNaV0ZtVTJsNlpTa2dlMXh1SUNBZ0lHTnZibk4wSUhOd2JHbDBVbVZ6ZFd4MGN5QTlJR1YxWTJ4cFpHVmhibEpoYm1SdmJWQnliMnBsWTNScGIyNVRjR3hwZENoa1lYUmhMQ0JwYm1ScFkyVnpMQ0J5WVc1a2IyMHBPMXh1SUNBZ0lHTnZibk4wSUh0cGJtUnBZMlZ6VEdWbWRDd2dhVzVrYVdObGMxSnBaMmgwTENCb2VYQmxjbkJzWVc1bExDQnZabVp6WlhSOUlEMGdjM0JzYVhSU1pYTjFiSFJ6TzF4dVhHNGdJQ0FnWTI5dWMzUWdiR1ZtZEVOb2FXeGtJRDBnYldGclpVVjFZMnhwWkdWaGJsUnlaV1VvWEc0Z0lDQWdJQ0JrWVhSaExGeHVJQ0FnSUNBZ2FXNWthV05sYzB4bFpuUXNYRzRnSUNBZ0lDQnNaV0ZtVTJsNlpTeGNiaUFnSUNBZ0lIRWdLeUF4TEZ4dUlDQWdJQ0FnY21GdVpHOXRYRzRnSUNBZ0tUdGNiaUFnSUNCamIyNXpkQ0J5YVdkb2RFTm9hV3hrSUQwZ2JXRnJaVVYxWTJ4cFpHVmhibFJ5WldVb1hHNGdJQ0FnSUNCa1lYUmhMRnh1SUNBZ0lDQWdhVzVrYVdObGMxSnBaMmgwTEZ4dUlDQWdJQ0FnYkdWaFpsTnBlbVVzWEc0Z0lDQWdJQ0J4SUNzZ01TeGNiaUFnSUNBZ0lISmhibVJ2YlZ4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQnViMlJsSUQwZ2UyeGxablJEYUdsc1pDd2djbWxuYUhSRGFHbHNaQ3dnYVhOTVpXRm1PaUJtWVd4elpTd2dhSGx3WlhKd2JHRnVaU3dnYjJabWMyVjBmVHRjYmlBZ0lDQnlaWFIxY200Z2JtOWtaVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JqYjI1emRDQnViMlJsSUQwZ2UybHVaR2xqWlhNc0lHbHpUR1ZoWmpvZ2RISjFaWDA3WEc0Z0lDQWdjbVYwZFhKdUlHNXZaR1U3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCSGFYWmxiaUJoSUhObGRDQnZaaUJnWUdsdVpHbGpaWE5nWUNCbWIzSWdaR0YwWVNCd2IybHVkSE1nWm5KdmJTQmdZR1JoZEdGZ1lDd2dZM0psWVhSbFhHNGdLaUJoSUhKaGJtUnZiU0JvZVhCbGNuQnNZVzVsSUhSdklITndiR2wwSUhSb1pTQmtZWFJoTENCeVpYUjFjbTVwYm1jZ2RIZHZJR0Z5Y21GNWN5QnBibVJwWTJWelhHNGdLaUIwYUdGMElHWmhiR3dnYjI0Z1pXbDBhR1Z5SUhOcFpHVWdiMllnZEdobElHaDVjR1Z5Y0d4aGJtVXVJRlJvYVhNZ2FYTWdkR2hsSUdKaGMybHpJR1p2Y2lCaFhHNGdLaUJ5WVc1a2IyMGdjSEp2YW1WamRHbHZiaUIwY21WbExDQjNhR2xqYUNCemFXMXdiSGtnZFhObGN5QjBhR2x6SUhOd2JHbDBkR2x1WnlCeVpXTjFjbk5wZG1Wc2VTNWNiaUFxSUZSb2FYTWdjR0Z5ZEdsamRXeGhjaUJ6Y0d4cGRDQjFjMlZ6SUdWMVkyeHBaR1ZoYmlCa2FYTjBZVzVqWlNCMGJ5QmtaWFJsY20xcGJtVWdkR2hsSUdoNWNHVnljR3hoYm1WY2JpQXFJR0Z1WkNCM2FHbGphQ0J6YVdSbElHVmhZMmdnWkdGMFlTQnpZVzF3YkdVZ1ptRnNiSE1nYjI0dVhHNGdLaTljYm1aMWJtTjBhVzl1SUdWMVkyeHBaR1ZoYmxKaGJtUnZiVkJ5YjJwbFkzUnBiMjVUY0d4cGRDaGNiaUFnWkdGMFlUb2dWbVZqZEc5eUxGeHVJQ0JwYm1ScFkyVnpPaUJ1ZFcxaVpYSmJYU3hjYmlBZ2NtRnVaRzl0T2lCU1lXNWtiMjFHYmx4dUtTQjdYRzRnSUM4dlkyOXVjM1FnWkdsdElEMGdNVHRjYmx4dUlDQXZMeUJUWld4bFkzUWdkSGR2SUhKaGJtUnZiU0J3YjJsdWRITXNJSE5sZENCMGFHVWdhSGx3WlhKd2JHRnVaU0JpWlhSM1pXVnVJSFJvWlcxY2JpQWdZMjl1YzNRZ2JHVm1kRWx1WkdWNElEMGdkWFJwYkhNdWRHRjFVbUZ1WkVsdWRDaHBibVJwWTJWekxteGxibWQwYUN3Z2NtRnVaRzl0S1R0Y2JpQWdiR1YwSUhKcFoyaDBTVzVrWlhnZ1BTQjFkR2xzY3k1MFlYVlNZVzVrU1c1MEtHbHVaR2xqWlhNdWJHVnVaM1JvTENCeVlXNWtiMjBwTzF4dUlDQnlhV2RvZEVsdVpHVjRJQ3M5SUd4bFpuUkpibVJsZUNBOVBUMGdjbWxuYUhSSmJtUmxlQ0EvSURFZ09pQXdPMXh1SUNCeWFXZG9kRWx1WkdWNElEMGdjbWxuYUhSSmJtUmxlQ0FsSUdsdVpHbGpaWE11YkdWdVozUm9PMXh1SUNCamIyNXpkQ0JzWldaMElEMGdhVzVrYVdObGMxdHNaV1owU1c1a1pYaGRPMXh1SUNCamIyNXpkQ0J5YVdkb2RDQTlJR2x1WkdsalpYTmJjbWxuYUhSSmJtUmxlRjA3WEc1Y2JpQWdMeThnUTI5dGNIVjBaU0IwYUdVZ2JtOXliV0ZzSUhabFkzUnZjaUIwYnlCMGFHVWdhSGx3WlhKd2JHRnVaU0FvZEdobElIWmxZM1J2Y2lCaVpYUjNaV1Z1SUhSb1pTQjBkMjljYmlBZ0x5OGdjRzlwYm5SektTQmhibVFnZEdobElHOW1abk5sZENCbWNtOXRJSFJvWlNCdmNtbG5hVzVjYmlBZ2JHVjBJR2g1Y0dWeWNHeGhibVZQWm1aelpYUWdQU0F3TzF4dUlDQnNaWFFnYUhsd1pYSndiR0Z1WlZabFkzUnZjaUE5SURBN1hHNWNibHh1SUNCb2VYQmxjbkJzWVc1bFZtVmpkRzl5SUQwZ1pHRjBZVnRzWldaMFhTQXRJR1JoZEdGYmNtbG5hSFJkTzF4dUlDQm9lWEJsY25Cc1lXNWxUMlptYzJWMElDMDlYRzRnSUNBZ0tHaDVjR1Z5Y0d4aGJtVldaV04wYjNJZ0tpQW9aR0YwWVZ0c1pXWjBYU0FySUdSaGRHRmJjbWxuYUhSZEtTa2dMeUF5TGpBN1hHNWNibHh1SUNBdkx5QkdiM0lnWldGamFDQndiMmx1ZENCamIyMXdkWFJsSUhSb1pTQnRZWEpuYVc0Z0tIQnliMnBsWTNRZ2FXNTBieUJ1YjNKdFlXd2dkbVZqZEc5eUtWeHVJQ0F2THlCSlppQjNaU0JoY21VZ2IyNGdiRzkzWlhJZ2MybGtaU0J2WmlCMGFHVWdhSGx3WlhKd2JHRnVaU0J3ZFhRZ2FXNGdiMjVsSUhCcGJHVXNJRzkwYUdWeWQybHpaVnh1SUNBdkx5QndkWFFnYVhRZ2FXNGdkR2hsSUc5MGFHVnlJSEJwYkdVZ0tHbG1JSGRsSUdocGRDQm9lWEJsY25Cc1lXNWxJRzl1SUhSb1pTQnViM05sTENCbWJHbHdJR0VnWTI5cGJpbGNiaUFnYkdWMElHNU1aV1owSUQwZ01EdGNiaUFnYkdWMElHNVNhV2RvZENBOUlEQTdYRzRnSUdOdmJuTjBJSE5wWkdVZ1BTQjFkR2xzY3k1NlpYSnZjeWhwYm1ScFkyVnpMbXhsYm1kMGFDazdYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2FXNWthV05sY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lHeGxkQ0J0WVhKbmFXNGdQU0JvZVhCbGNuQnNZVzVsVDJabWMyVjBPMXh1WEc0Z0lDQWdiV0Z5WjJsdUlDczlJR2g1Y0dWeWNHeGhibVZXWldOMGIzSWdLaUJrWVhSaFcybHVaR2xqWlhOYmFWMWRPMXh1WEc0Z0lDQWdhV1lnS0cxaGNtZHBiaUE5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjMmxrWlZ0cFhTQTlJSFYwYVd4ekxuUmhkVkpoYm1SSmJuUW9NaXdnY21GdVpHOXRLVHRjYmlBZ0lDQWdJR2xtSUNoemFXUmxXMmxkSUQwOVBTQXdLVnh1SUNBZ0lDQWdJQ0J1VEdWbWRDQXJQU0F4TzF4dUlDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQnVVbWxuYUhRZ0t6MGdNVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzFoY21kcGJpQStJREFwSUh0Y2JpQWdJQ0FnSUhOcFpHVmJhVjBnUFNBd08xeHVJQ0FnSUNBZ2JreGxablFnS3owZ01UdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYzJsa1pWdHBYU0E5SURFN1hHNGdJQ0FnSUNCdVVtbG5hSFFnS3owZ01UdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZMeUJPYjNjZ2RHaGhkQ0IzWlNCb1lYWmxJSFJvWlNCamIzVnVkSE1zSUdGc2JHOWpZWFJsSUdGeWNtRjVjMXh1SUNCamIyNXpkQ0JwYm1ScFkyVnpUR1ZtZENBOUlIVjBhV3h6TG5wbGNtOXpLRzVNWldaMEtUdGNiaUFnWTI5dWMzUWdhVzVrYVdObGMxSnBaMmgwSUQwZ2RYUnBiSE11ZW1WeWIzTW9ibEpwWjJoMEtUdGNibHh1SUNBdkx5QlFiM0IxYkdGMFpTQjBhR1VnWVhKeVlYbHpJSGRwZEdnZ2FXNWthV05sY3lCaFkyTnZjbVJwYm1jZ2RHOGdkMmhwWTJnZ2MybGtaU0IwYUdWNUlHWmxiR3dnYjI1Y2JpQWdia3hsWm5RZ1BTQXdPMXh1SUNCdVVtbG5hSFFnUFNBd08xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhOcFpHVXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0JwWmlBb2MybGtaVnRwWFNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYVc1a2FXTmxjMHhsWm5SYmJreGxablJkSUQwZ2FXNWthV05sYzF0cFhUdGNiaUFnSUNBZ0lHNU1aV1owSUNzOUlERTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdsdVpHbGpaWE5TYVdkb2RGdHVVbWxuYUhSZElEMGdhVzVrYVdObGMxdHBYVHRjYmlBZ0lDQWdJRzVTYVdkb2RDQXJQU0F4TzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdhVzVrYVdObGMweGxablFzWEc0Z0lDQWdhVzVrYVdObGMxSnBaMmgwTEZ4dUlDQWdJR2g1Y0dWeWNHeGhibVU2SUdoNWNHVnljR3hoYm1WV1pXTjBiM0lzWEc0Z0lDQWdiMlptYzJWME9pQm9lWEJsY25Cc1lXNWxUMlptYzJWMExGeHVJQ0I5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJtYkdGMGRHVnVWSEpsWlNoMGNtVmxPaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVXNJR3hsWVdaVGFYcGxPaUJ1ZFcxaVpYSXBJSHRjYmlBZ1kyOXVjM1FnYms1dlpHVnpJRDBnYm5WdFRtOWtaWE1vZEhKbFpTazdYRzRnSUdOdmJuTjBJRzVNWldGMlpYTWdQU0J1ZFcxTVpXRjJaWE1vZEhKbFpTazdYRzVjYmlBZ0x5OGdWRTlFVHpvZ1ZtVnlhV1o1SUhSb1lYUWdjM0JoY25ObElHTnZaR1VnYVhNZ2JtOTBJSEpsYkdWMllXNTBMaTR1WEc0Z0lHTnZibk4wSUdoNWNHVnljR3hoYm1WeklEMGdkWFJwYkhOY2JpQWdJQ0F1Y21GdVoyVW9iazV2WkdWektWeHVJQ0FnSUM1dFlYQW9LQ2tnUFQ0Z2RISmxaUzVvZVhCbGNuQnNZVzVsSUQ4Z01TQTZJREFwTzF4dVhHNGdJR052Ym5OMElHOW1abk5sZEhNZ1BTQjFkR2xzY3k1NlpYSnZjeWh1VG05a1pYTXBPMXh1SUNCamIyNXpkQ0JqYUdsc1pISmxiaUE5SUhWMGFXeHpMbkpoYm1kbEtHNU9iMlJsY3lrdWJXRndLQ2dwSUQwK0lGc3RNU3dnTFRGZEtUdGNiaUFnWTI5dWMzUWdhVzVrYVdObGN5QTlJSFYwYVd4elhHNGdJQ0FnTG5KaGJtZGxLRzVNWldGMlpYTXBYRzRnSUNBZ0xtMWhjQ2dvS1NBOVBpQjFkR2xzY3k1eVlXNW5aU2hzWldGbVUybDZaU2t1YldGd0tDZ3BJRDArSUMweEtTazdYRzRnSUhKbFkzVnljMmwyWlVac1lYUjBaVzRvZEhKbFpTd2dhSGx3WlhKd2JHRnVaWE1zSUc5bVpuTmxkSE1zSUdOb2FXeGtjbVZ1TENCcGJtUnBZMlZ6TENBd0xDQXdLVHRjYmlBZ2NtVjBkWEp1SUc1bGR5QkdiR0YwVkhKbFpTaG9lWEJsY25Cc1lXNWxjeXdnYjJabWMyVjBjeXdnWTJocGJHUnlaVzRzSUdsdVpHbGpaWE1wTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WldOMWNuTnBkbVZHYkdGMGRHVnVLRnh1SUNCMGNtVmxPaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVXNYRzRnSUdoNWNHVnljR3hoYm1Wek9pQnVkVzFpWlhKYlhTeGNiaUFnYjJabWMyVjBjem9nYm5WdFltVnlXMTBzWEc0Z0lHTm9hV3hrY21WdU9pQnVkVzFpWlhKYlhWdGRMRnh1SUNCcGJtUnBZMlZ6T2lCdWRXMWlaWEpiWFZ0ZExGeHVJQ0J1YjJSbFRuVnRPaUJ1ZFcxaVpYSXNYRzRnSUd4bFlXWk9kVzA2SUc1MWJXSmxjbHh1S1RvZ2V5QnViMlJsVG5WdE9pQnVkVzFpWlhJN0lHeGxZV1pPZFcwNklHNTFiV0psY2lCOUlIdGNiaUFnYVdZZ0tIUnlaV1V1YVhOTVpXRm1LU0I3WEc0Z0lDQWdZMmhwYkdSeVpXNWJibTlrWlU1MWJWMWJNRjBnUFNBdGJHVmhaazUxYlR0Y2JseHVJQ0FnSUM4dklGUlBSRTg2SUZSeWFYQnNaU0JqYUdWamF5QjBhR2x6SUc5d1pYSmhkR2x2YmlCamIzSnlaWE53YjI1a2N5QjBiMXh1SUNBZ0lDOHZJR2x1WkdsalpYTmJiR1ZoWms1MWJTQTZJSFJ5WldVdWFXNWthV05sY3k1emFHRndaVnN3WFYwZ1BTQjBjbVZsTG1sdVpHbGpaWE5jYmlBZ0lDQnBibVJwWTJWelcyeGxZV1pPZFcxZExuTndiR2xqWlNnd0xDQjBjbVZsTG1sdVpHbGpaWE1oTG14bGJtZDBhQ3dnTGk0dWRISmxaUzVwYm1ScFkyVnpJU2s3WEc0Z0lDQWdiR1ZoWms1MWJTQXJQU0F4TzF4dUlDQWdJSEpsZEhWeWJpQjdibTlrWlU1MWJTd2diR1ZoWms1MWJYMDdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdhSGx3WlhKd2JHRnVaWE5iYm05a1pVNTFiVjBnUFNCMGNtVmxMbWg1Y0dWeWNHeGhibVVoTzF4dUlDQWdJRzltWm5ObGRITmJibTlrWlU1MWJWMGdQU0IwY21WbExtOW1abk5sZENFN1hHNGdJQ0FnWTJocGJHUnlaVzViYm05a1pVNTFiVjFiTUYwZ1BTQnViMlJsVG5WdElDc2dNVHRjYmlBZ0lDQmpiMjV6ZENCdmJHUk9iMlJsVG5WdElEMGdibTlrWlU1MWJUdGNibHh1SUNBZ0lHeGxkQ0J5WlhNZ1BTQnlaV04xY25OcGRtVkdiR0YwZEdWdUtGeHVJQ0FnSUNBZ2RISmxaUzVzWldaMFEyaHBiR1FoTEZ4dUlDQWdJQ0FnYUhsd1pYSndiR0Z1WlhNc1hHNGdJQ0FnSUNCdlptWnpaWFJ6TEZ4dUlDQWdJQ0FnWTJocGJHUnlaVzRzWEc0Z0lDQWdJQ0JwYm1ScFkyVnpMRnh1SUNBZ0lDQWdibTlrWlU1MWJTQXJJREVzWEc0Z0lDQWdJQ0JzWldGbVRuVnRYRzRnSUNBZ0tUdGNiaUFnSUNCdWIyUmxUblZ0SUQwZ2NtVnpMbTV2WkdWT2RXMDdYRzRnSUNBZ2JHVmhaazUxYlNBOUlISmxjeTVzWldGbVRuVnRPMXh1WEc0Z0lDQWdZMmhwYkdSeVpXNWJiMnhrVG05a1pVNTFiVjFiTVYwZ1BTQnViMlJsVG5WdElDc2dNVHRjYmx4dUlDQWdJSEpsY3lBOUlISmxZM1Z5YzJsMlpVWnNZWFIwWlc0b1hHNGdJQ0FnSUNCMGNtVmxMbkpwWjJoMFEyaHBiR1FoTEZ4dUlDQWdJQ0FnYUhsd1pYSndiR0Z1WlhNc1hHNGdJQ0FnSUNCdlptWnpaWFJ6TEZ4dUlDQWdJQ0FnWTJocGJHUnlaVzRzWEc0Z0lDQWdJQ0JwYm1ScFkyVnpMRnh1SUNBZ0lDQWdibTlrWlU1MWJTQXJJREVzWEc0Z0lDQWdJQ0JzWldGbVRuVnRYRzRnSUNBZ0tUdGNiaUFnSUNCeVpYUjFjbTRnZTI1dlpHVk9kVzA2SUhKbGN5NXViMlJsVG5WdExDQnNaV0ZtVG5WdE9pQnlaWE11YkdWaFprNTFiWDA3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2JuVnRUbTlrWlhNb2RISmxaVG9nVW1GdVpHOXRVSEp2YW1WamRHbHZibFJ5WldWT2IyUmxLVG9nYm5WdFltVnlJSHRjYmlBZ2FXWWdLSFJ5WldVdWFYTk1aV0ZtS1Z4dUlDQWdJSEpsZEhWeWJpQXhPMXh1SUNCbGJITmxYRzRnSUNBZ2NtVjBkWEp1SURFZ0t5QnVkVzFPYjJSbGN5aDBjbVZsTG14bFpuUkRhR2xzWkNFcElDc2diblZ0VG05a1pYTW9kSEpsWlM1eWFXZG9kRU5vYVd4a0lTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHNTFiVXhsWVhabGN5aDBjbVZsT2lCU1lXNWtiMjFRY205cVpXTjBhVzl1VkhKbFpVNXZaR1VwT2lCdWRXMWlaWElnZTF4dUlDQnBaaUFvZEhKbFpTNXBjMHhsWVdZcFhHNGdJQ0FnY21WMGRYSnVJREU3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2JuVnRUR1ZoZG1WektIUnlaV1V1YkdWbWRFTm9hV3hrSVNrZ0t5QnVkVzFNWldGMlpYTW9kSEpsWlM1eWFXZG9kRU5vYVd4a0lTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1IyVnVaWEpoZEdVZ1lXNGdZWEp5WVhrZ2IyWWdjMlYwY3lCdlppQmpZVzVrYVdSaGRHVWdibVZoY21WemRDQnVaV2xuYUdKdmNuTWdZbmxjYmlBcUlHTnZibk4wY25WamRHbHVaeUJoSUhKaGJtUnZiU0J3Y205cVpXTjBhVzl1SUdadmNtVnpkQ0JoYm1RZ2RHRnJhVzVuSUhSb1pTQnNaV0YyWlhNZ2IyWWdZV3hzSUhSb1pWeHVJQ29nZEhKbFpYTXVJRUZ1ZVNCbmFYWmxiaUIwY21WbElHaGhjeUJzWldGMlpYTWdkR2hoZENCaGNtVWdZU0J6WlhRZ2IyWWdjRzkwWlc1MGFXRnNJRzVsWVhKbGMzUmNiaUFxSUc1bGFXZG9ZbTl5Y3k0Z1IybDJaVzRnWlc1dmRXZG9JSFJ5WldWeklIUm9aU0J6WlhRZ2IyWWdZV3hzSUhOMVkyZ2diR1ZoZG1WeklHZHBkbVZ6SUdFZ1oyOXZaRnh1SUNvZ2JHbHJaV3hwYUc5dlpDQnZaaUJuWlhSMGFXNW5JR0VnWjI5dlpDQnpaWFFnYjJZZ2JtVmhjbVZ6ZENCdVpXbG5hR0p2Y25NZ2FXNGdZMjl0Y0c5emFYUmxMaUJUYVc1alpWeHVJQ29nYzNWamFDQmhJSEpoYm1SdmJTQndjbTlxWldOMGFXOXVJR1p2Y21WemRDQnBjeUJwYm1WNGNHVnVjMmwyWlNCMGJ5QmpiMjF3ZFhSbExDQjBhR2x6SUdOaGJpQmlaU0JoWEc0Z0tpQjFjMlZtZFd3Z2JXVmhibk1nYjJZZ2MyVmxaR2x1WnlCdmRHaGxjaUJ1WldGeVpYTjBJRzVsYVdkb1ltOXlJR0ZzWjI5eWFYUm9iWE11WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZV3RsVEdWaFprRnljbUY1S0hKd1JtOXlaWE4wT2lCR2JHRjBWSEpsWlZ0ZEtUb2diblZ0WW1WeVcxMWJYU0I3WEc0Z0lHbG1JQ2h5Y0VadmNtVnpkQzVzWlc1bmRHZ2dQaUF3S1NCN1hHNGdJQ0FnWTI5dWMzUWdiM1YwY0hWME9pQnVkVzFpWlhKYlhWdGRJRDBnVzEwN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCMGNtVmxJRzltSUhKd1JtOXlaWE4wS1Z4dUlDQWdJQ0FnYjNWMGNIVjBMbkIxYzJnb0xpNHVkSEpsWlM1cGJtUnBZMlZ6SVNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnYjNWMGNIVjBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQmJXeTB4WFYwN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQlRaV3hsWTNSeklIUm9aU0J6YVdSbElHOW1JSFJvWlNCMGNtVmxJSFJ2SUhObFlYSmphQ0JrZFhKcGJtY2dabXhoZENCMGNtVmxJSE5sWVhKamFDNWNiaUFxTDF4dVpuVnVZM1JwYjI0Z2MyVnNaV04wVTJsa1pTaGNiaUFnYUhsd1pYSndiR0Z1WlRvZ2JuVnRZbVZ5TEZ4dUlDQnZabVp6WlhRNklHNTFiV0psY2l4Y2JpQWdjRzlwYm5RNklHNTFiV0psY2l4Y2JpQWdjbUZ1Wkc5dE9pQlNZVzVrYjIxR2JseHVLU0I3WEc0Z0lHeGxkQ0J0WVhKbmFXNGdQU0J2Wm1aelpYUTdYRzVjYmlBZ2JXRnlaMmx1SUNzOUlHaDVjR1Z5Y0d4aGJtVWdLaUJ3YjJsdWREdGNibHh1WEc0Z0lHbG1JQ2h0WVhKbmFXNGdQVDA5SURBcElIdGNiaUFnSUNCamIyNXpkQ0J6YVdSbElEMGdkWFJwYkhNdWRHRjFVbUZ1WkVsdWRDZ3lMQ0J5WVc1a2IyMHBPMXh1SUNBZ0lISmxkSFZ5YmlCemFXUmxPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHMWhjbWRwYmlBK0lEQXBJSHRjYmlBZ0lDQnlaWFIxY200Z01EdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnlaWFIxY200Z01UdGNiaUFnZlZ4dWZWeHVYRzR2S2lwY2JpQXFJRk5sWVhKamFHVnpJR0VnWm14aGRIUmxibVZrSUhKd0xYUnlaV1VnWm05eUlHRWdjRzlwYm5RdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ6WldGeVkyaEdiR0YwVkhKbFpTaGNiaUFnY0c5cGJuUTZJRzUxYldKbGNpeGNiaUFnZEhKbFpUb2dSbXhoZEZSeVpXVXNYRzRnSUhKaGJtUnZiVG9nVW1GdVpHOXRSbTVjYmlrZ2UxeHVJQ0JzWlhRZ2JtOWtaU0E5SURBN1hHNGdJSGRvYVd4bElDaDBjbVZsTG1Ob2FXeGtjbVZ1VzI1dlpHVmRXekJkSUQ0Z01Da2dlMXh1SUNBZ0lHTnZibk4wSUhOcFpHVWdQU0J6Wld4bFkzUlRhV1JsS0Z4dUlDQWdJQ0FnZEhKbFpTNW9lWEJsY25Cc1lXNWxjMXR1YjJSbFhTeGNiaUFnSUNBZ0lIUnlaV1V1YjJabWMyVjBjMXR1YjJSbFhTeGNiaUFnSUNBZ0lIQnZhVzUwTEZ4dUlDQWdJQ0FnY21GdVpHOXRYRzRnSUNBZ0tUdGNiaUFnSUNCcFppQW9jMmxrWlNBOVBUMGdNQ2xjYmlBZ0lDQWdJRzV2WkdVZ1BTQjBjbVZsTG1Ob2FXeGtjbVZ1VzI1dlpHVmRXekJkTzF4dUlDQWdJR1ZzYzJWY2JpQWdJQ0FnSUc1dlpHVWdQU0IwY21WbExtTm9hV3hrY21WdVcyNXZaR1ZkV3pGZE8xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNRZ2FXNWtaWGdnUFNBdE1TQXFJSFJ5WldVdVkyaHBiR1J5Wlc1YmJtOWtaVjFiTUYwN1hHNGdJSEpsZEhWeWJpQjBjbVZsTG1sdVpHbGpaWE5iYVc1a1pYaGRPMXh1ZlZ4dUlsMTkiLCIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG4vKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuLyoqXG4gKiBUaGlzIGlzIGEgSmF2YVNjcmlwdCByZWltcGxlbWVudGF0aW9uIG9mIFVNQVAgKG9yaWdpbmFsIGxpY2Vuc2UgYmVsb3cpLCBmcm9tXG4gKiB0aGUgcHl0aG9uIGltcGxlbWVudGF0aW9uIGZvdW5kIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9sbWNpbm5lcy91bWFwLlxuICpcbiAqIEBhdXRob3IgYW5keWNvZW5lbkBnb29nbGUuY29tIChBbmR5IENvZW5lbilcbiAqL1xuLyoqXG4gKiBAbGljZW5zZVxuICogQlNEIDMtQ2xhdXNlIExpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcsIExlbGFuZCBNY0lubmVzXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6XG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXNcbiAqICAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsXG4gKiAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb25cbiAqICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gKlxuICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzXG4gKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tXG4gKiAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCJcbiAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEVcbiAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRVxuICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUxcbiAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SXG4gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUlxuICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSxcbiAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXG4gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICovXG5pbXBvcnQgKiBhcyBoZWFwIGZyb20gJy4vaGVhcCc7XG5pbXBvcnQgKiBhcyBtYXRyaXggZnJvbSAnLi9tYXRyaXgnO1xuaW1wb3J0ICogYXMgbm5EZXNjZW50IGZyb20gJy4vbm5fZGVzY2VudCc7XG5pbXBvcnQgKiBhcyB0cmVlIGZyb20gJy4vdHJlZSc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBMTSBmcm9tICdtbC1sZXZlbmJlcmctbWFycXVhcmR0JztcbmNvbnN0IFNNT09USF9LX1RPTEVSQU5DRSA9IDFlLTU7XG5jb25zdCBNSU5fS19ESVNUX1NDQUxFID0gMWUtMztcbi8qKlxuICogVU1BUCBwcm9qZWN0aW9uIHN5c3RlbSwgYmFzZWQgb24gdGhlIHB5dGhvbiBpbXBsZW1lbnRhdGlvbiBmcm9tIE1jSW5uZXMsIEwsXG4gKiBIZWFseSwgSiwgVU1BUDogVW5pZm9ybSBNYW5pZm9sZCBBcHByb3hpbWF0aW9uIGFuZCBQcm9qZWN0aW9uIGZvciBEaW1lbnNpb25cbiAqIFJlZHVjdGlvbiAoaHR0cHM6Ly9naXRodWIuY29tL2xtY2lubmVzL3VtYXApLlxuICpcbiAqIFRoaXMgaW1wbGVtZW50YXRpb24gZGlmZmVycyBpbiBhIGZldyByZWdhcmRzOlxuICogYSkgVGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBlbWJlZGRpbmcgZm9yIG9wdGltaXphdGlvbiBpcyBub3QgY29tcHV0ZWQgdXNpbmdcbiAqICAgIGEgc3BlY3RyYWwgbWV0aG9kLCByYXRoZXIgaXQgaXMgaW5pdGlhbGl6ZWQgcmFuZG9tbHkuIFRoaXMgYXZvaWRzIHNvbWVcbiAqICAgIGNvbXB1dGF0aW9uYWxseSBpbnRlbnNpdmUgbWF0cml4IGVpZ2VuIGNvbXB1dGF0aW9ucyB0aGF0IGFyZW4ndCBlYXNpbHlcbiAqICAgIHBvcnRlZCB0byBKYXZhU2NyaXB0LlxuICogYikgQSBsb3Qgb2YgXCJleHRyYVwiIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gb21pdHRlZCBmcm9tIHRoaXMgaW1wbGVtZW50YXRpb24sXG4gKiAgICBtb3N0IG5vdGFibHkgYSBncmVhdCBkZWFsIG9mIGFsdGVybmF0ZSBkaXN0YW5jZSBmdW5jdGlvbnMuXG4gKlxuICogVGhpcyBpbXBsZW1lbnRhdGlvbiBwcm92aWRlcyB0aHJlZSBtZXRob2RzIG9mIHJlZHVjaW5nIGRpbWVuc2lvbmFsaXR5OlxuICogMSkgZml0OiBmaXQgdGhlIGRhdGEgc3luY2hyb25vdXNseVxuICogMikgZml0QXN5bmM6IGZpdCB0aGUgZGF0YSBhc3luY2hyb25vdXNseSwgd2l0aCBhIGNhbGxiYWNrIGZ1bmN0aW9uIHByb3ZpZGVkXG4gKiAgICAgIHRoYXQgaXMgaW52b2tlZCBvbiBlYWNoIG9wdGltaXphdGlvbiBzdGVwLlxuICogMykgaW5pdGlhbGl6ZUZpdCAvIHN0ZXA6IG1hbnVhbGx5IGluaXRpYWxpemUgdGhlIGFsZ29yaXRobSB0aGVuIGV4cGxpY3RseVxuICogICAgICBzdGVwIHRocm91Z2ggZWFjaCBlcG9jaCBvZiB0aGUgU0dEIG9wdGltaXphdGlvblxuICovXG5leHBvcnQgY2xhc3MgVU1BUCB7XG4gICAgbGVhcm5pbmdSYXRlID0gMS4wO1xuICAgIGxvY2FsQ29ubmVjdGl2aXR5ID0gMS4wO1xuICAgIG1pbkRpc3QgPSAwLjE7XG4gICAgbkNvbXBvbmVudHMgPSAyO1xuICAgIG5FcG9jaHMgPSAwO1xuICAgIG5OZWlnaGJvcnMgPSAxNTtcbiAgICBuZWdhdGl2ZVNhbXBsZVJhdGUgPSA1O1xuICAgIHJhbmRvbSA9IE1hdGgucmFuZG9tO1xuICAgIHJlcHVsc2lvblN0cmVuZ3RoID0gMS4wO1xuICAgIHNldE9wTWl4UmF0aW8gPSAxLjA7XG4gICAgc3ByZWFkID0gMS4wO1xuICAgIHRyYW5zZm9ybVF1ZXVlU2l6ZSA9IDQuMDtcbiAgICAvLyBTdXBlcnZpc2VkIHByb2plY3Rpb24gcGFyYW1zXG4gICAgdGFyZ2V0TWV0cmljID0gXCJjYXRlZ29yaWNhbFwiIC8qIFRhcmdldE1ldHJpYy5jYXRlZ29yaWNhbCAqLztcbiAgICB0YXJnZXRXZWlnaHQgPSAwLjU7XG4gICAgdGFyZ2V0Tk5laWdoYm9ycyA9IDE1O1xuICAgIGRpc3RhbmNlRm4gPSBudW1lcmljO1xuICAgIC8vIEtOTiBzdGF0ZSAoY2FuIGJlIHByZWNvbXB1dGVkIGFuZCBzdXBwbGllZCB2aWEgaW5pdGlhbGl6ZUZpdClcbiAgICBrbm5JbmRpY2VzO1xuICAgIGtubkRpc3RhbmNlcztcbiAgICAvLyBJbnRlcm5hbCBncmFwaCBjb25uZWN0aXZpdHkgcmVwcmVzZW50YXRpb25cbiAgICBncmFwaDtcbiAgICBYO1xuICAgIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICBycEZvcmVzdCA9IFtdO1xuICAgIGluaXRGcm9tUmFuZG9tO1xuICAgIGluaXRGcm9tVHJlZTtcbiAgICBzZWFyY2g7XG4gICAgc2VhcmNoR3JhcGg7XG4gICAgLy8gU3VwZXJ2aXNlZCBwcm9qZWN0aW9uIGxhYmVscyAvIHRhcmdldHNcbiAgICBZO1xuICAgIC8vIFByb2plY3RlZCBlbWJlZGRpbmdcbiAgICBlbWJlZGRpbmcgPSBbXTtcbiAgICBvcHRpbWl6YXRpb25TdGF0ZSA9IG5ldyBPcHRpbWl6YXRpb25TdGF0ZSgpO1xuICAgIGdldCBuZWlnaGJvcnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5OZWlnaGJvcnM7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcmFtcyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHNldFBhcmFtID0gKGtleSkgPT4ge1xuICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICBpZiAocGFyYW1zW2tleV0gIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBwYXJhbXNba2V5XTtcbiAgICAgICAgfTtcbiAgICAgICAgc2V0UGFyYW0oJ2Rpc3RhbmNlRm4nKTtcbiAgICAgICAgc2V0UGFyYW0oJ2xlYXJuaW5nUmF0ZScpO1xuICAgICAgICBzZXRQYXJhbSgnbG9jYWxDb25uZWN0aXZpdHknKTtcbiAgICAgICAgc2V0UGFyYW0oJ21pbkRpc3QnKTtcbiAgICAgICAgc2V0UGFyYW0oJ25Db21wb25lbnRzJyk7XG4gICAgICAgIHNldFBhcmFtKCduRXBvY2hzJyk7XG4gICAgICAgIHNldFBhcmFtKCduTmVpZ2hib3JzJyk7XG4gICAgICAgIHNldFBhcmFtKCduZWdhdGl2ZVNhbXBsZVJhdGUnKTtcbiAgICAgICAgc2V0UGFyYW0oJ3JhbmRvbScpO1xuICAgICAgICBzZXRQYXJhbSgncmVwdWxzaW9uU3RyZW5ndGgnKTtcbiAgICAgICAgc2V0UGFyYW0oJ3NldE9wTWl4UmF0aW8nKTtcbiAgICAgICAgc2V0UGFyYW0oJ3NwcmVhZCcpO1xuICAgICAgICBzZXRQYXJhbSgndHJhbnNmb3JtUXVldWVTaXplJyk7XG4gICAgICAgIHRoaXMudGFyZ2V0Tk5laWdoYm9ycyA9IHBhcmFtcy5uTmVpZ2hib3JzIHx8IHRoaXMubk5laWdoYm9ycyB8fCB0aGlzLnRhcmdldE5OZWlnaGJvcnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEZpdCB0aGUgZGF0YSB0byBhIHByb2plY3RlZCBlbWJlZGRpbmcgc3BhY2Ugc3luY2hyb25vdXNseS5cbiAgICAgKi9cbiAgICBmaXQoWCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVGaXQoWCk7XG4gICAgICAgIHRoaXMub3B0aW1pemVMYXlvdXQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1iZWRkaW5nO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBGaXQgdGhlIGRhdGEgdG8gYSBwcm9qZWN0ZWQgZW1iZWRkaW5nIHNwYWNlIGFzeW5jaHJvbm91c2x5LCB3aXRoIGEgY2FsbGJhY2tcbiAgICAgKiBmdW5jdGlvbiBpbnZva2VkIG9uIGV2ZXJ5IGVwb2NoIG9mIG9wdGltaXphdGlvbi5cbiAgICAgKi9cbiAgICBhc3luYyBmaXRBc3luYyhYLCBjYWxsYmFjayA9ICgpID0+IHRydWUpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRml0KFgpO1xuICAgICAgICBhd2FpdCB0aGlzLm9wdGltaXplTGF5b3V0QXN5bmMoY2FsbGJhY2spO1xuICAgICAgICByZXR1cm4gdGhpcy5lbWJlZGRpbmc7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemVzIHBhcmFtZXRlcnMgbmVlZGVkIGZvciBzdXBlcnZpc2VkIHByb2plY3Rpb24uXG4gICAgICovXG4gICAgc2V0U3VwZXJ2aXNlZFByb2plY3Rpb24oWSwgcGFyYW1zID0ge30pIHtcbiAgICAgICAgdGhpcy5ZID0gWTtcbiAgICAgICAgdGhpcy50YXJnZXRNZXRyaWMgPSBwYXJhbXMudGFyZ2V0TWV0cmljIHx8IHRoaXMudGFyZ2V0TWV0cmljO1xuICAgICAgICB0aGlzLnRhcmdldFdlaWdodCA9IHBhcmFtcy50YXJnZXRXZWlnaHQgfHwgdGhpcy50YXJnZXRXZWlnaHQ7XG4gICAgICAgIHRoaXMudGFyZ2V0Tk5laWdoYm9ycyA9IHBhcmFtcy50YXJnZXROTmVpZ2hib3JzIHx8IHRoaXMudGFyZ2V0Tk5laWdoYm9ycztcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgdW1hcCB3aXRoIHByZWNvbXB1dGVkIEtOTiBpbmRpY2VzIGFuZCBkaXN0YW5jZXMuXG4gICAgICovXG4gICAgc2V0UHJlY29tcHV0ZWRLTk4oa25uSW5kaWNlcywga25uRGlzdGFuY2VzKSB7XG4gICAgICAgIHRoaXMua25uSW5kaWNlcyA9IGtubkluZGljZXM7XG4gICAgICAgIHRoaXMua25uRGlzdGFuY2VzID0ga25uRGlzdGFuY2VzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBmaXQgYnkgY29tcHV0aW5nIEtOTiBhbmQgYSBmdXp6eSBzaW1wbGljaWFsIHNldCwgYXMgd2VsbCBhc1xuICAgICAqIGluaXRpYWxpemluZyB0aGUgcHJvamVjdGVkIGVtYmVkZGluZ3MuIFNldHMgdGhlIG9wdGltaXphdGlvbiBzdGF0ZSBhaGVhZFxuICAgICAqIG9mIG9wdGltaXphdGlvbiBzdGVwcy4gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGVwb2NocyB0byBiZSB1c2VkIGZvciB0aGVcbiAgICAgKiBTR0Qgb3B0aW1pemF0aW9uLlxuICAgICAqL1xuICAgIGluaXRpYWxpemVGaXQoWCkge1xuICAgICAgICBpZiAoWC5sZW5ndGggPD0gdGhpcy5uTmVpZ2hib3JzKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgZW5vdWdoIGRhdGEgcG9pbnRzICgke1gubGVuZ3RofSkgdG8gY3JlYXRlIG5OZWlnaGJvcnM6ICR7dGhpcy5uTmVpZ2hib3JzfS4gIEFkZCBtb3JlIGRhdGEgcG9pbnRzIG9yIGFkanVzdCB0aGUgY29uZmlndXJhdGlvbi5gKTtcbiAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZWluaXRpYWxpemUgaWYgd2UndmUgYWxyZWFkeSBpbml0aWFsaXplZCBmb3IgdGhpcyBkYXRhLlxuICAgICAgICBpZiAodGhpcy5YID09PSBYICYmIHRoaXMuaXNJbml0aWFsaXplZClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldE5FcG9jaHMoKTtcbiAgICAgICAgdGhpcy5YID0gWDtcbiAgICAgICAgaWYgKCF0aGlzLmtubkluZGljZXMgJiYgIXRoaXMua25uRGlzdGFuY2VzKSB7XG4gICAgICAgICAgICBjb25zdCBrbm5SZXN1bHRzID0gdGhpcy5uZWFyZXN0TmVpZ2hib3JzKFgpO1xuICAgICAgICAgICAgdGhpcy5rbm5JbmRpY2VzID0ga25uUmVzdWx0cy5rbm5JbmRpY2VzO1xuICAgICAgICAgICAgdGhpcy5rbm5EaXN0YW5jZXMgPSBrbm5SZXN1bHRzLmtubkRpc3RhbmNlcztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdyYXBoID0gdGhpcy5mdXp6eVNpbXBsaWNpYWxTZXQoWCwgdGhpcy5uTmVpZ2hib3JzLCB0aGlzLnNldE9wTWl4UmF0aW8pO1xuICAgICAgICAvLyBTZXQgdXAgdGhlIHNlYXJjaCBncmFwaCBmb3Igc3Vic2VxdWVudCB0cmFuc2Zvcm1hdGlvbi5cbiAgICAgICAgdGhpcy5tYWtlU2VhcmNoRm5zKCk7XG4gICAgICAgIHRoaXMuc2VhcmNoR3JhcGggPSB0aGlzLm1ha2VTZWFyY2hHcmFwaChYKTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgc3VwZXJ2aXNlZCBwcm9qZWN0aW9uLCB0aGVuIGFkanVzdCB0aGUgZ3JhcGguXG4gICAgICAgIHRoaXMucHJvY2Vzc0dyYXBoRm9yU3VwZXJ2aXNlZFByb2plY3Rpb24oKTtcbiAgICAgICAgY29uc3QgeyBoZWFkLCB0YWlsLCBlcG9jaHNQZXJTYW1wbGUsIH0gPSB0aGlzLmluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nKCk7XG4gICAgICAgIC8vIFNldCB0aGUgb3B0aW1pemF0aW9uIHJvdXRpbmUgc3RhdGVcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5oZWFkID0gaGVhZDtcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS50YWlsID0gdGFpbDtcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5lcG9jaHNQZXJTYW1wbGUgPSBlcG9jaHNQZXJTYW1wbGU7XG4gICAgICAgIC8vIE5vdywgaW5pdGlhbGl6ZSB0aGUgb3B0aW1pemF0aW9uIHN0ZXBzXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZU9wdGltaXphdGlvbigpO1xuICAgICAgICB0aGlzLnByZXBhcmVGb3JPcHRpbWl6YXRpb25Mb29wKCk7XG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE5FcG9jaHMoKTtcbiAgICB9XG4gICAgbWFrZVNlYXJjaEZucygpIHtcbiAgICAgICAgY29uc3QgeyBpbml0RnJvbVRyZWUsIGluaXRGcm9tUmFuZG9tIH0gPSBubkRlc2NlbnQubWFrZUluaXRpYWxpemF0aW9ucyh0aGlzLmRpc3RhbmNlRm4pO1xuICAgICAgICB0aGlzLmluaXRGcm9tVHJlZSA9IGluaXRGcm9tVHJlZTtcbiAgICAgICAgdGhpcy5pbml0RnJvbVJhbmRvbSA9IGluaXRGcm9tUmFuZG9tO1xuICAgICAgICB0aGlzLnNlYXJjaCA9IG5uRGVzY2VudC5tYWtlSW5pdGlhbGl6ZWROTlNlYXJjaCh0aGlzLmRpc3RhbmNlRm4pO1xuICAgIH1cbiAgICBtYWtlU2VhcmNoR3JhcGgoWCkge1xuICAgICAgICBjb25zdCBrbm5JbmRpY2VzID0gdGhpcy5rbm5JbmRpY2VzO1xuICAgICAgICBjb25zdCBrbm5EaXN0YW5jZXMgPSB0aGlzLmtubkRpc3RhbmNlcztcbiAgICAgICAgY29uc3QgZGltcyA9IFtYLmxlbmd0aCwgWC5sZW5ndGhdO1xuICAgICAgICBjb25zdCBzZWFyY2hHcmFwaCA9IG5ldyBtYXRyaXguU3BhcnNlTWF0cml4KFtdLCBbXSwgW10sIGRpbXMpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtubkluZGljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGtubiA9IGtubkluZGljZXNbaV07XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZXMgPSBrbm5EaXN0YW5jZXNbaV07XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGtubi5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5laWdoYm9yID0ga25uW2pdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZGlzdGFuY2VzW2pdO1xuICAgICAgICAgICAgICAgIGlmIChkaXN0YW5jZSA+IDApXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaEdyYXBoLnNldChpLCBuZWlnaGJvciwgZGlzdGFuY2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRyYW5zcG9zZSA9IG1hdHJpeC50cmFuc3Bvc2Uoc2VhcmNoR3JhcGgpO1xuICAgICAgICByZXR1cm4gbWF0cml4Lm1heGltdW0oc2VhcmNoR3JhcGgsIHRyYW5zcG9zZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgZGF0YSB0byB0aGUgZXhpc3RpbmcgZW1iZWRkaW5nIHNwYWNlLlxuICAgICAqL1xuICAgIHRyYW5zZm9ybSh0b1RyYW5zZm9ybSkge1xuICAgICAgICAvLyBVc2UgdGhlIHByZXZpb3VzIHJhd0RhdGFcbiAgICAgICAgY29uc3QgcmF3RGF0YSA9IHRoaXMuWDtcbiAgICAgICAgaWYgKHJhd0RhdGEgPT09IHVuZGVmaW5lZCB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gZGF0YSBoYXMgYmVlbiBmaXQuJyk7XG4gICAgICAgIGxldCBuTmVpZ2hib3JzID0gTWF0aC5mbG9vcih0aGlzLm5OZWlnaGJvcnMgKiB0aGlzLnRyYW5zZm9ybVF1ZXVlU2l6ZSk7XG4gICAgICAgIG5OZWlnaGJvcnMgPSBNYXRoLm1pbihyYXdEYXRhLmxlbmd0aCwgbk5laWdoYm9ycyk7XG4gICAgICAgIGNvbnN0IGluaXQgPSBubkRlc2NlbnQuaW5pdGlhbGl6ZVNlYXJjaCh0aGlzLnJwRm9yZXN0LCByYXdEYXRhLCB0b1RyYW5zZm9ybSwgbk5laWdoYm9ycywgdGhpcy5pbml0RnJvbVJhbmRvbSwgdGhpcy5pbml0RnJvbVRyZWUsIHRoaXMucmFuZG9tKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5zZWFyY2gocmF3RGF0YSwgdGhpcy5zZWFyY2hHcmFwaCwgaW5pdCwgdG9UcmFuc2Zvcm0pO1xuICAgICAgICBsZXQgeyBpbmRpY2VzLCB3ZWlnaHRzOiBkaXN0YW5jZXMgfSA9IGhlYXAuZGVoZWFwU29ydChyZXN1bHQpO1xuICAgICAgICBpbmRpY2VzID0gaW5kaWNlcy5tYXAoKHgpID0+IHguc2xpY2UoMCwgdGhpcy5uTmVpZ2hib3JzKSk7XG4gICAgICAgIGRpc3RhbmNlcyA9IGRpc3RhbmNlcy5tYXAoKHgpID0+IHguc2xpY2UoMCwgdGhpcy5uTmVpZ2hib3JzKSk7XG4gICAgICAgIGNvbnN0IGFkanVzdGVkTG9jYWxDb25uZWN0aXZpdHkgPSBNYXRoLm1heCgwLCB0aGlzLmxvY2FsQ29ubmVjdGl2aXR5IC0gMSk7XG4gICAgICAgIGNvbnN0IHsgc2lnbWFzLCByaG9zIH0gPSB0aGlzLnNtb290aEtOTkRpc3RhbmNlKGRpc3RhbmNlcywgdGhpcy5uTmVpZ2hib3JzLCBhZGp1c3RlZExvY2FsQ29ubmVjdGl2aXR5KTtcbiAgICAgICAgY29uc3QgeyByb3dzLCBjb2xzLCB2YWxzIH0gPSB0aGlzLmNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKGluZGljZXMsIGRpc3RhbmNlcywgc2lnbWFzLCByaG9zKTtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IFt0b1RyYW5zZm9ybS5sZW5ndGgsIHJhd0RhdGEubGVuZ3RoXTtcbiAgICAgICAgbGV0IGdyYXBoID0gbmV3IG1hdHJpeC5TcGFyc2VNYXRyaXgocm93cywgY29scywgdmFscywgc2l6ZSk7XG4gICAgICAgIC8vIFRoaXMgd2FzIGEgdmVyeSBzcGVjaWFsbHkgY29uc3RydWN0ZWQgZ3JhcGggd2l0aCBjb25zdGFudCBkZWdyZWUuXG4gICAgICAgIC8vIFRoYXQgbGV0cyB1cyBkbyBmYW5jeSB1bnBhY2tpbmcgYnkgcmVzaGFwaW5nIHRoZSBjc3IgbWF0cml4IGluZGljZXNcbiAgICAgICAgLy8gYW5kIGRhdGEuIERvaW5nIHNvIHJlbGllcyBvbiB0aGUgY29uc3RhbnQgZGVncmVlIGFzc3VtcHRpb24hXG4gICAgICAgIGNvbnN0IG5vcm1lZCA9IG1hdHJpeC5ub3JtYWxpemUoZ3JhcGgsIFwibDFcIiAvKiBtYXRyaXguTm9ybVR5cGUubDEgKi8pO1xuICAgICAgICBjb25zdCBjc3JNYXRyaXggPSBtYXRyaXguZ2V0Q1NSKG5vcm1lZCk7XG4gICAgICAgIGNvbnN0IG5Qb2ludHMgPSB0b1RyYW5zZm9ybS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGVJbmRpY2VzID0gdXRpbHMucmVzaGFwZTJkKGNzck1hdHJpeC5pbmRpY2VzLCBuUG9pbnRzLCB0aGlzLm5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCBlV2VpZ2h0cyA9IHV0aWxzLnJlc2hhcGUyZChjc3JNYXRyaXgudmFsdWVzLCBuUG9pbnRzLCB0aGlzLm5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCBlbWJlZGRpbmcgPSBpbml0VHJhbnNmb3JtKGVJbmRpY2VzLCBlV2VpZ2h0cywgdGhpcy5lbWJlZGRpbmcpO1xuICAgICAgICBjb25zdCBuRXBvY2hzID0gdGhpcy5uRXBvY2hzID9cbiAgICAgICAgICAgIHRoaXMubkVwb2NocyAvIDMgOlxuICAgICAgICAgICAgZ3JhcGgublJvd3MgPD0gMTAwMDAgP1xuICAgICAgICAgICAgICAgIDEwMCA6XG4gICAgICAgICAgICAgICAgMzA7XG4gICAgICAgIGNvbnN0IGdyYXBoTWF4ID0gZ3JhcGhcbiAgICAgICAgICAgIC5nZXRWYWx1ZXMoKVxuICAgICAgICAgICAgLnJlZHVjZSgobWF4LCB2YWwpID0+ICh2YWwgPiBtYXggPyB2YWwgOiBtYXgpLCAwKTtcbiAgICAgICAgZ3JhcGggPSBncmFwaC5tYXAoKHZhbHVlKSA9PiAodmFsdWUgPCBncmFwaE1heCAvIG5FcG9jaHMgPyAwIDogdmFsdWUpKTtcbiAgICAgICAgZ3JhcGggPSBtYXRyaXguZWxpbWluYXRlWmVyb3MoZ3JhcGgpO1xuICAgICAgICBjb25zdCBlcG9jaHNQZXJTYW1wbGUgPSB0aGlzLm1ha2VFcG9jaHNQZXJTYW1wbGUoZ3JhcGguZ2V0VmFsdWVzKCksIG5FcG9jaHMpO1xuICAgICAgICBjb25zdCBoZWFkID0gZ3JhcGguZ2V0Um93cygpO1xuICAgICAgICBjb25zdCB0YWlsID0gZ3JhcGguZ2V0Q29scygpO1xuICAgICAgICAvLyBJbml0aWFsaXplIG9wdGltaXphdGlvbiBzbGlnaHRseSBkaWZmZXJlbnRseSB0aGFuIHRoZSBmaXQgbWV0aG9kLlxuICAgICAgICB0aGlzLmFzc2lnbk9wdGltaXphdGlvblN0YXRlUGFyYW1ldGVycyh7XG4gICAgICAgICAgICBoZWFkRW1iZWRkaW5nOiBlbWJlZGRpbmcsXG4gICAgICAgICAgICB0YWlsRW1iZWRkaW5nOiB0aGlzLmVtYmVkZGluZyxcbiAgICAgICAgICAgIGhlYWQsXG4gICAgICAgICAgICB0YWlsLFxuICAgICAgICAgICAgY3VycmVudEVwb2NoOiAwLFxuICAgICAgICAgICAgbkVwb2NocyxcbiAgICAgICAgICAgIG5WZXJ0aWNlczogZ3JhcGguZ2V0RGltcygpWzFdLFxuICAgICAgICAgICAgZXBvY2hzUGVyU2FtcGxlLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wcmVwYXJlRm9yT3B0aW1pemF0aW9uTG9vcCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpbWl6ZUxheW91dCgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgd2UncmUgdXNpbmcgc3VwZXJ2aXNlZCBwcm9qZWN0aW9uLCB0aGVuIHByb2Nlc3MgdGhlIGdyYXBoXG4gICAgICogYWNjb3JkaW5nbHkuXG4gICAgICovXG4gICAgcHJvY2Vzc0dyYXBoRm9yU3VwZXJ2aXNlZFByb2plY3Rpb24oKSB7XG4gICAgICAgIGNvbnN0IHsgWSwgWCB9ID0gdGhpcztcbiAgICAgICAgaWYgKFkpIHtcbiAgICAgICAgICAgIGlmIChZLmxlbmd0aCAhPT0gWC5sZW5ndGgpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdMZW5ndGggb2YgWCBhbmQgeSBtdXN0IGJlIGVxdWFsJyk7XG4gICAgICAgICAgICBpZiAodGhpcy50YXJnZXRNZXRyaWMgPT09IFwiY2F0ZWdvcmljYWxcIiAvKiBUYXJnZXRNZXRyaWMuY2F0ZWdvcmljYWwgKi8pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsdCA9IHRoaXMudGFyZ2V0V2VpZ2h0IDwgMS4wO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZhckRpc3QgPSBsdCA/IDIuNSAqICgxLjAgLyAoMS4wIC0gdGhpcy50YXJnZXRXZWlnaHQpKSA6IDEuMGUxMjtcbiAgICAgICAgICAgICAgICB0aGlzLmdyYXBoID0gdGhpcy5jYXRlZ29yaWNhbFNpbXBsaWNpYWxTZXRJbnRlcnNlY3Rpb24odGhpcy5ncmFwaCwgWSwgZmFyRGlzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUT0RPIChhbmR5Y29lbmVuQCk6IGFkZCBub24tY2F0ZWdvcmljYWwgc3VwZXJ2aXNlZCBlbWJlZGRpbmdzLlxuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1hbnVhbGx5IHN0ZXAgdGhyb3VnaCB0aGUgb3B0aW1pemF0aW9uIHByb2Nlc3Mgb25lIGVwb2NoIGF0IGEgdGltZS5cbiAgICAgKi9cbiAgICBzdGVwKCkge1xuICAgICAgICBjb25zdCB7IGN1cnJlbnRFcG9jaCB9ID0gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZTtcbiAgICAgICAgaWYgKGN1cnJlbnRFcG9jaCA8IHRoaXMuZ2V0TkVwb2NocygpKVxuICAgICAgICAgICAgdGhpcy5vcHRpbWl6ZUxheW91dFN0ZXAoY3VycmVudEVwb2NoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW1pemF0aW9uU3RhdGUuY3VycmVudEVwb2NoO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBjb21wdXRlZCBwcm9qZWN0ZWQgZW1iZWRkaW5nLlxuICAgICAqL1xuICAgIGdldEVtYmVkZGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1iZWRkaW5nO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wdXRlIHRoZSBgYG5OZWlnaGJvcnNgYCBuZWFyZXN0IHBvaW50cyBmb3IgZWFjaCBkYXRhIHBvaW50IGluIGBgWGBgXG4gICAgICogVGhpcyBtYXkgYmUgZXhhY3QsIGJ1dCBtb3JlIGxpa2VseSBpcyBhcHByb3hpbWF0ZWQgdmlhIG5lYXJlc3QgbmVpZ2hib3JcbiAgICAgKiBkZXNjZW50LlxuICAgICAqL1xuICAgIG5lYXJlc3ROZWlnaGJvcnMoWCkge1xuICAgICAgICBjb25zdCB7IGRpc3RhbmNlRm4sIG5OZWlnaGJvcnMgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGxvZzIgPSAobikgPT4gTWF0aC5sb2cobikgLyBNYXRoLmxvZygyKTtcbiAgICAgICAgY29uc3QgbWV0cmljTk5EZXNjZW50ID0gbm5EZXNjZW50Lm1ha2VOTkRlc2NlbnQoZGlzdGFuY2VGbiwgdGhpcy5yYW5kb20pO1xuICAgICAgICAvLyBIYW5kbGUgcHl0aG9uMyByb3VuZGluZyBkb3duIGZyb20gMC41IGRpc2NycGFuY3lcbiAgICAgICAgY29uc3Qgcm91bmQgPSAobikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG4gPT09IDAuNSA/IDAgOiBNYXRoLnJvdW5kKG4pO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBuVHJlZXMgPSA1ICsgTWF0aC5mbG9vcihyb3VuZChYLmxlbmd0aCAqKiAwLjUgLyAyMC4wKSk7XG4gICAgICAgIGNvbnN0IG5JdGVycyA9IE1hdGgubWF4KDUsIE1hdGguZmxvb3IoTWF0aC5yb3VuZChsb2cyKFgubGVuZ3RoKSkpKTtcbiAgICAgICAgdGhpcy5ycEZvcmVzdCA9IHRyZWUubWFrZUZvcmVzdChYLCBuTmVpZ2hib3JzLCBuVHJlZXMsIHRoaXMucmFuZG9tKTtcbiAgICAgICAgY29uc3QgbGVhZkFycmF5ID0gdHJlZS5tYWtlTGVhZkFycmF5KHRoaXMucnBGb3Jlc3QpO1xuICAgICAgICBjb25zdCB7IGluZGljZXMsIHdlaWdodHMgfSA9IG1ldHJpY05ORGVzY2VudChYLCBsZWFmQXJyYXksIG5OZWlnaGJvcnMsIG5JdGVycyk7XG4gICAgICAgIHJldHVybiB7IGtubkluZGljZXM6IGluZGljZXMsIGtubkRpc3RhbmNlczogd2VpZ2h0cyB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHaXZlbiBhIHNldCBvZiBkYXRhIFgsIGEgbmVpZ2hib3Job29kIHNpemUsIGFuZCBhIG1lYXN1cmUgb2YgZGlzdGFuY2VcbiAgICAgKiBjb21wdXRlIHRoZSBmdXp6eSBzaW1wbGljaWFsIHNldCAoaGVyZSByZXByZXNlbnRlZCBhcyBhIGZ1enp5IGdyYXBoIGluXG4gICAgICogdGhlIGZvcm0gb2YgYSBzcGFyc2UgbWF0cml4KSBhc3NvY2lhdGVkIHRvIHRoZSBkYXRhLiBUaGlzIGlzIGRvbmUgYnlcbiAgICAgKiBsb2NhbGx5IGFwcHJveGltYXRpbmcgZ2VvZGVzaWMgZGlzdGFuY2UgYXQgZWFjaCBwb2ludCwgY3JlYXRpbmcgYSBmdXp6eVxuICAgICAqIHNpbXBsaWNpYWwgc2V0IGZvciBlYWNoIHN1Y2ggcG9pbnQsIGFuZCB0aGVuIGNvbWJpbmluZyBhbGwgdGhlIGxvY2FsXG4gICAgICogZnV6enkgc2ltcGxpY2lhbCBzZXRzIGludG8gYSBnbG9iYWwgb25lIHZpYSBhIGZ1enp5IHVuaW9uLlxuICAgICAqL1xuICAgIGZ1enp5U2ltcGxpY2lhbFNldChYLCBuTmVpZ2hib3JzLCBzZXRPcE1peFJhdGlvID0gMS4wKSB7XG4gICAgICAgIGNvbnN0IHsga25uSW5kaWNlcyA9IFtdLCBrbm5EaXN0YW5jZXMgPSBbXSwgbG9jYWxDb25uZWN0aXZpdHkgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHsgc2lnbWFzLCByaG9zIH0gPSB0aGlzLnNtb290aEtOTkRpc3RhbmNlKGtubkRpc3RhbmNlcywgbk5laWdoYm9ycywgbG9jYWxDb25uZWN0aXZpdHkpO1xuICAgICAgICBjb25zdCB7IHJvd3MsIGNvbHMsIHZhbHMgfSA9IHRoaXMuY29tcHV0ZU1lbWJlcnNoaXBTdHJlbmd0aHMoa25uSW5kaWNlcywga25uRGlzdGFuY2VzLCBzaWdtYXMsIHJob3MpO1xuICAgICAgICBjb25zdCBzaXplID0gW1gubGVuZ3RoLCBYLmxlbmd0aF07XG4gICAgICAgIGNvbnN0IHNwYXJzZU1hdHJpeCA9IG5ldyBtYXRyaXguU3BhcnNlTWF0cml4KHJvd3MsIGNvbHMsIHZhbHMsIHNpemUpO1xuICAgICAgICBjb25zdCB0cmFuc3Bvc2UgPSBtYXRyaXgudHJhbnNwb3NlKHNwYXJzZU1hdHJpeCk7XG4gICAgICAgIGNvbnN0IHByb2RNYXRyaXggPSBtYXRyaXgucGFpcndpc2VNdWx0aXBseShzcGFyc2VNYXRyaXgsIHRyYW5zcG9zZSk7XG4gICAgICAgIGNvbnN0IGEgPSBtYXRyaXguc3VidHJhY3QobWF0cml4LmFkZChzcGFyc2VNYXRyaXgsIHRyYW5zcG9zZSksIHByb2RNYXRyaXgpO1xuICAgICAgICBjb25zdCBiID0gbWF0cml4Lm11bHRpcGx5U2NhbGFyKGEsIHNldE9wTWl4UmF0aW8pO1xuICAgICAgICBjb25zdCBjID0gbWF0cml4Lm11bHRpcGx5U2NhbGFyKHByb2RNYXRyaXgsIDEuMCAtIHNldE9wTWl4UmF0aW8pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBtYXRyaXguYWRkKGIsIGMpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21iaW5lIGEgZnV6enkgc2ltcGxpY2lhbCBzZXQgd2l0aCBhbm90aGVyIGZ1enp5IHNpbXBsaWNpYWwgc2V0XG4gICAgICogZ2VuZXJhdGVkIGZyb20gY2F0ZWdvcmljYWwgZGF0YSB1c2luZyBjYXRlZ29yaWNhbCBkaXN0YW5jZXMuIFRoZSB0YXJnZXRcbiAgICAgKiBkYXRhIGlzIGFzc3VtZWQgdG8gYmUgY2F0ZWdvcmljYWwgbGFiZWwgZGF0YSAoYSB2ZWN0b3Igb2YgbGFiZWxzKSxcbiAgICAgKiBhbmQgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgZnV6enkgc2ltcGxpY2lhbCBzZXQgdG8gcmVzcGVjdCB0aGF0IGxhYmVsIGRhdGEuXG4gICAgICovXG4gICAgY2F0ZWdvcmljYWxTaW1wbGljaWFsU2V0SW50ZXJzZWN0aW9uKHNpbXBsaWNpYWxTZXQsIHRhcmdldCwgZmFyRGlzdCwgdW5rbm93bkRpc3QgPSAxLjApIHtcbiAgICAgICAgbGV0IGludGVyc2VjdGlvbiA9IGZhc3RJbnRlcnNlY3Rpb24oc2ltcGxpY2lhbFNldCwgdGFyZ2V0LCB1bmtub3duRGlzdCwgZmFyRGlzdCk7XG4gICAgICAgIGludGVyc2VjdGlvbiA9IG1hdHJpeC5lbGltaW5hdGVaZXJvcyhpbnRlcnNlY3Rpb24pO1xuICAgICAgICByZXR1cm4gcmVzZXRMb2NhbENvbm5lY3Rpdml0eShpbnRlcnNlY3Rpb24pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wdXRlIGEgY29udGludW91cyB2ZXJzaW9uIG9mIHRoZSBkaXN0YW5jZSB0byB0aGUga3RoIG5lYXJlc3RcbiAgICAgKiBuZWlnaGJvci4gVGhhdCBpcywgdGhpcyBpcyBzaW1pbGFyIHRvIGtubi1kaXN0YW5jZSBidXQgYWxsb3dzIGNvbnRpbnVvdXNcbiAgICAgKiBrIHZhbHVlcyByYXRoZXIgdGhhbiByZXF1aXJpbmcgYW4gaW50ZWdyYWwgay4gSW4gZXNzY2VuY2Ugd2UgYXJlIHNpbXBseVxuICAgICAqIGNvbXB1dGluZyB0aGUgZGlzdGFuY2Ugc3VjaCB0aGF0IHRoZSBjYXJkaW5hbGl0eSBvZiBmdXp6eSBzZXQgd2UgZ2VuZXJhdGVcbiAgICAgKiBpcyBrLlxuICAgICAqL1xuICAgIHNtb290aEtOTkRpc3RhbmNlKGRpc3RhbmNlcywgaywgbG9jYWxDb25uZWN0aXZpdHkgPSAxLjAsIG5JdGVyID0gNjQsIGJhbmR3aWR0aCA9IDEuMCkge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSAoTWF0aC5sb2coaykgLyBNYXRoLmxvZygyKSkgKiBiYW5kd2lkdGg7XG4gICAgICAgIGNvbnN0IHJobyA9IHV0aWxzLnplcm9zKGRpc3RhbmNlcy5sZW5ndGgpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSB1dGlscy56ZXJvcyhkaXN0YW5jZXMubGVuZ3RoKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaXN0YW5jZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBsbyA9IDAuMDtcbiAgICAgICAgICAgIGxldCBoaSA9IEluZmluaXR5O1xuICAgICAgICAgICAgbGV0IG1pZCA9IDEuMDtcbiAgICAgICAgICAgIC8vIFRPRE86IFRoaXMgaXMgdmVyeSBpbmVmZmljaWVudCwgYnV0IHdpbGwgZG8gZm9yIG5vdy4gRklYTUVcbiAgICAgICAgICAgIGNvbnN0IGl0aERpc3RhbmNlcyA9IGRpc3RhbmNlc1tpXTtcbiAgICAgICAgICAgIGNvbnN0IG5vblplcm9EaXN0cyA9IGl0aERpc3RhbmNlcy5maWx0ZXIoKGQpID0+IGQgPiAwLjApO1xuICAgICAgICAgICAgaWYgKG5vblplcm9EaXN0cy5sZW5ndGggPj0gbG9jYWxDb25uZWN0aXZpdHkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IE1hdGguZmxvb3IobG9jYWxDb25uZWN0aXZpdHkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGludGVycG9sYXRpb24gPSBsb2NhbENvbm5lY3Rpdml0eSAtIGluZGV4O1xuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmhvW2ldID0gbm9uWmVyb0Rpc3RzW2luZGV4IC0gMV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnRlcnBvbGF0aW9uID4gU01PT1RIX0tfVE9MRVJBTkNFKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByaG9baV0gKz1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnBvbGF0aW9uICogKG5vblplcm9EaXN0c1tpbmRleF0gLSBub25aZXJvRGlzdHNbaW5kZXggLSAxXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJob1tpXSA9IGludGVycG9sYXRpb24gKiBub25aZXJvRGlzdHNbMF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAobm9uWmVyb0Rpc3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByaG9baV0gPSB1dGlscy5tYXgobm9uWmVyb0Rpc3RzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAobGV0IG4gPSAwOyBuIDwgbkl0ZXI7IG4rKykge1xuICAgICAgICAgICAgICAgIGxldCBwc3VtID0gMC4wO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSAxOyBqIDwgZGlzdGFuY2VzW2ldLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGQgPSBkaXN0YW5jZXNbaV1bal0gLSByaG9baV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChkID4gMClcbiAgICAgICAgICAgICAgICAgICAgICAgIHBzdW0gKz0gTWF0aC5leHAoLShkIC8gbWlkKSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHBzdW0gKz0gMS4wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMocHN1bSAtIHRhcmdldCkgPCBTTU9PVEhfS19UT0xFUkFOQ0UpXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGlmIChwc3VtID4gdGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIGhpID0gbWlkO1xuICAgICAgICAgICAgICAgICAgICBtaWQgPSAobG8gKyBoaSkgLyAyLjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsbyA9IG1pZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhpID09PSBJbmZpbml0eSlcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pZCAqPSAyO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBtaWQgPSAobG8gKyBoaSkgLyAyLjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0W2ldID0gbWlkO1xuICAgICAgICAgICAgLy8gVE9ETzogVGhpcyBpcyB2ZXJ5IGluZWZmaWNpZW50LCBidXQgd2lsbCBkbyBmb3Igbm93LiBGSVhNRVxuICAgICAgICAgICAgaWYgKHJob1tpXSA+IDAuMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lYW5JdGhEaXN0YW5jZXMgPSB1dGlscy5tZWFuKGl0aERpc3RhbmNlcyk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtpXSA8IE1JTl9LX0RJU1RfU0NBTEUgKiBtZWFuSXRoRGlzdGFuY2VzKVxuICAgICAgICAgICAgICAgICAgICByZXN1bHRbaV0gPSBNSU5fS19ESVNUX1NDQUxFICogbWVhbkl0aERpc3RhbmNlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lYW5EaXN0YW5jZXMgPSB1dGlscy5tZWFuKGRpc3RhbmNlcy5tYXAodXRpbHMubWVhbikpO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHRbaV0gPCBNSU5fS19ESVNUX1NDQUxFICogbWVhbkRpc3RhbmNlcylcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2ldID0gTUlOX0tfRElTVF9TQ0FMRSAqIG1lYW5EaXN0YW5jZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgc2lnbWFzOiByZXN1bHQsIHJob3M6IHJobyB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3QgdGhlIG1lbWJlcnNoaXAgc3RyZW5ndGggZGF0YSBmb3IgdGhlIDEtc2tlbGV0b24gb2YgZWFjaCBsb2NhbFxuICAgICAqIGZ1enp5IHNpbXBsaWNpYWwgc2V0IC0tIHRoaXMgaXMgZm9ybWVkIGFzIGEgc3BhcnNlIG1hdHJpeCB3aGVyZSBlYWNoIHJvdyBpc1xuICAgICAqIGEgbG9jYWwgZnV6enkgc2ltcGxpY2lhbCBzZXQsIHdpdGggYSBtZW1iZXJzaGlwIHN0cmVuZ3RoIGZvciB0aGVcbiAgICAgKiAxLXNpbXBsZXggdG8gZWFjaCBvdGhlciBkYXRhIHBvaW50LlxuICAgICAqL1xuICAgIGNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKGtubkluZGljZXMsIGtubkRpc3RhbmNlcywgc2lnbWFzLCByaG9zKSB7XG4gICAgICAgIGNvbnN0IG5TYW1wbGVzID0ga25uSW5kaWNlcy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IG5OZWlnaGJvcnMgPSBrbm5JbmRpY2VzWzBdLmxlbmd0aDtcbiAgICAgICAgY29uc3Qgcm93cyA9IHV0aWxzLnplcm9zKG5TYW1wbGVzICogbk5laWdoYm9ycyk7XG4gICAgICAgIGNvbnN0IGNvbHMgPSB1dGlscy56ZXJvcyhuU2FtcGxlcyAqIG5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCB2YWxzID0gdXRpbHMuemVyb3MoblNhbXBsZXMgKiBuTmVpZ2hib3JzKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuU2FtcGxlczsgaSsrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG5OZWlnaGJvcnM7IGorKykge1xuICAgICAgICAgICAgICAgIGxldCB2YWwgPSAwO1xuICAgICAgICAgICAgICAgIGlmIChrbm5JbmRpY2VzW2ldW2pdID09PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7IC8vIFdlIGRpZG4ndCBnZXQgdGhlIGZ1bGwga25uIGZvciBpXG4gICAgICAgICAgICAgICAgaWYgKGtubkluZGljZXNbaV1bal0gPT09IGkpXG4gICAgICAgICAgICAgICAgICAgIHZhbCA9IDAuMDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChrbm5EaXN0YW5jZXNbaV1bal0gLSByaG9zW2ldIDw9IDAuMClcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gMS4wO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gTWF0aC5leHAoLSgoa25uRGlzdGFuY2VzW2ldW2pdIC0gcmhvc1tpXSkgLyBzaWdtYXNbaV0pKTtcbiAgICAgICAgICAgICAgICByb3dzW2kgKiBuTmVpZ2hib3JzICsgal0gPSBpO1xuICAgICAgICAgICAgICAgIGNvbHNbaSAqIG5OZWlnaGJvcnMgKyBqXSA9IGtubkluZGljZXNbaV1bal07XG4gICAgICAgICAgICAgICAgdmFsc1tpICogbk5laWdoYm9ycyArIGpdID0gdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHJvd3MsIGNvbHMsIHZhbHMgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZSBhIGZ1enp5IHNpbXBsaWNpYWwgc2V0IGVtYmVkZGluZywgdXNpbmcgYSBzcGVjaWZpZWRcbiAgICAgKiBpbml0aWFsaXNhdGlvbiBtZXRob2QgYW5kIHRoZW4gbWluaW1pemluZyB0aGUgZnV6enkgc2V0IGNyb3NzIGVudHJvcHlcbiAgICAgKiBiZXR3ZWVuIHRoZSAxLXNrZWxldG9ucyBvZiB0aGUgaGlnaCBhbmQgbG93IGRpbWVuc2lvbmFsIGZ1enp5IHNpbXBsaWNpYWxcbiAgICAgKiBzZXRzLlxuICAgICAqL1xuICAgIGluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nKCkge1xuICAgICAgICBjb25zdCBuRXBvY2hzID0gdGhpcy5nZXRORXBvY2hzKCk7XG4gICAgICAgIGNvbnN0IHsgbkNvbXBvbmVudHMgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGdyYXBoVmFsdWVzID0gdGhpcy5ncmFwaC5nZXRWYWx1ZXMoKTtcbiAgICAgICAgbGV0IGdyYXBoTWF4ID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncmFwaFZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBncmFwaFZhbHVlc1tpXTtcbiAgICAgICAgICAgIGlmIChncmFwaE1heCA8IGdyYXBoVmFsdWVzW2ldKVxuICAgICAgICAgICAgICAgIGdyYXBoTWF4ID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZ3JhcGggPSB0aGlzLmdyYXBoLm1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA8IGdyYXBoTWF4IC8gbkVwb2NocylcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBXZSdyZSBub3QgY29tcHV0aW5nIHRoZSBzcGVjdHJhbCBpbml0aWFsaXphdGlvbiBpbiB0aGlzIGltcGxlbWVudGF0aW9uXG4gICAgICAgIC8vIHVudGlsIHdlIGRldGVybWluZSBhIGJldHRlciBlaWdlbnZhbHVlL2VpZ2VudmVjdG9yIGNvbXB1dGF0aW9uXG4gICAgICAgIC8vIGFwcHJvYWNoXG4gICAgICAgIHRoaXMuZW1iZWRkaW5nID0gdXRpbHMuemVyb3MoZ3JhcGgublJvd3MpLm1hcCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdXRpbHMuemVyb3MobkNvbXBvbmVudHMpLm1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHV0aWxzLnRhdVJhbmQodGhpcy5yYW5kb20pICogMjAgKyAtMTA7IC8vIFJhbmRvbSBmcm9tIC0xMCB0byAxMFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBHZXQgZ3JhcGggZGF0YSBpbiBvcmRlcmVkIHdheS4uLlxuICAgICAgICBjb25zdCB3ZWlnaHRzID0gW107XG4gICAgICAgIGNvbnN0IGhlYWQgPSBbXTtcbiAgICAgICAgY29uc3QgdGFpbCA9IFtdO1xuICAgICAgICBjb25zdCByb3dDb2xWYWx1ZXMgPSBncmFwaC5nZXRBbGwoKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dDb2xWYWx1ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGVudHJ5ID0gcm93Q29sVmFsdWVzW2ldO1xuICAgICAgICAgICAgaWYgKGVudHJ5LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgd2VpZ2h0cy5wdXNoKGVudHJ5LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB0YWlsLnB1c2goZW50cnkucm93KTtcbiAgICAgICAgICAgICAgICBoZWFkLnB1c2goZW50cnkuY29sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlcG9jaHNQZXJTYW1wbGUgPSB0aGlzLm1ha2VFcG9jaHNQZXJTYW1wbGUod2VpZ2h0cywgbkVwb2Nocyk7XG4gICAgICAgIHJldHVybiB7IGhlYWQsIHRhaWwsIGVwb2Noc1BlclNhbXBsZSB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHaXZlbiBhIHNldCBvZiB3ZWlnaHRzIGFuZCBudW1iZXIgb2YgZXBvY2hzIGdlbmVyYXRlIHRoZSBudW1iZXIgb2ZcbiAgICAgKiBlcG9jaHMgcGVyIHNhbXBsZSBmb3IgZWFjaCB3ZWlnaHQuXG4gICAgICovXG4gICAgbWFrZUVwb2Noc1BlclNhbXBsZSh3ZWlnaHRzLCBuRXBvY2hzKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmZpbGxlZCh3ZWlnaHRzLmxlbmd0aCwgLTEuMCk7XG4gICAgICAgIGNvbnN0IG1heCA9IHV0aWxzLm1heCh3ZWlnaHRzKTtcbiAgICAgICAgY29uc3QgblNhbXBsZXMgPSB3ZWlnaHRzLm1hcCgodykgPT4gKHcgLyBtYXgpICogbkVwb2Nocyk7XG4gICAgICAgIG5TYW1wbGVzLmZvckVhY2goKG4sIGkpID0+IHtcbiAgICAgICAgICAgIGlmIChuID4gMClcbiAgICAgICAgICAgICAgICByZXN1bHRbaV0gPSBuRXBvY2hzIC8gblNhbXBsZXNbaV07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBc3NpZ25zIG9wdGltaXphdGlvbiBzdGF0ZSBwYXJhbWV0ZXJzIGZyb20gYSBwYXJ0aWFsIG9wdGltaXphdGlvbiBzdGF0ZS5cbiAgICAgKi9cbiAgICBhc3NpZ25PcHRpbWl6YXRpb25TdGF0ZVBhcmFtZXRlcnMoc3RhdGUpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm9wdGltaXphdGlvblN0YXRlLCBzdGF0ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldHMgYSBmZXcgb3B0aW1pemF0aW9uIHN0YXRlIHBhcmFtZXRlcnMgdGhhdCBhcmUgbmVjZXNzYXJ5IGJlZm9yZSBlbnRlcmluZ1xuICAgICAqIHRoZSBvcHRpbWl6YXRpb24gc3RlcCBsb29wLlxuICAgICAqL1xuICAgIHByZXBhcmVGb3JPcHRpbWl6YXRpb25Mb29wKCkge1xuICAgICAgICAvLyBIeXBlcnBhcmFtZXRlcnNcbiAgICAgICAgY29uc3QgeyByZXB1bHNpb25TdHJlbmd0aCwgbGVhcm5pbmdSYXRlLCBuZWdhdGl2ZVNhbXBsZVJhdGUgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHsgZXBvY2hzUGVyU2FtcGxlLCBoZWFkRW1iZWRkaW5nLCB0YWlsRW1iZWRkaW5nLCB9ID0gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZTtcbiAgICAgICAgY29uc3QgZGltID0gaGVhZEVtYmVkZGluZ1swXS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IG1vdmVPdGhlciA9IGhlYWRFbWJlZGRpbmcubGVuZ3RoID09PSB0YWlsRW1iZWRkaW5nLmxlbmd0aDtcbiAgICAgICAgY29uc3QgZXBvY2hzUGVyTmVnYXRpdmVTYW1wbGUgPSBlcG9jaHNQZXJTYW1wbGUubWFwKChlKSA9PiBlIC8gbmVnYXRpdmVTYW1wbGVSYXRlKTtcbiAgICAgICAgY29uc3QgZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZSA9IFsuLi5lcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZV07XG4gICAgICAgIGNvbnN0IGVwb2NoT2ZOZXh0U2FtcGxlID0gWy4uLmVwb2Noc1BlclNhbXBsZV07XG4gICAgICAgIHRoaXMuYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzKHtcbiAgICAgICAgICAgIGVwb2NoT2ZOZXh0U2FtcGxlLFxuICAgICAgICAgICAgZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZSxcbiAgICAgICAgICAgIGVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlLFxuICAgICAgICAgICAgbW92ZU90aGVyLFxuICAgICAgICAgICAgaW5pdGlhbEFscGhhOiBsZWFybmluZ1JhdGUsXG4gICAgICAgICAgICBhbHBoYTogbGVhcm5pbmdSYXRlLFxuICAgICAgICAgICAgZ2FtbWE6IHJlcHVsc2lvblN0cmVuZ3RoLFxuICAgICAgICAgICAgZGltLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgb3B0aW1pemF0aW9uIHN0YXRlIGZvciBzdGVwd2lzZSBvcHRpbWl6YXRpb24uXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZU9wdGltaXphdGlvbigpIHtcbiAgICAgICAgLy8gQWxnb3JpdGhtIHN0YXRlXG4gICAgICAgIGNvbnN0IGhlYWRFbWJlZGRpbmcgPSB0aGlzLmVtYmVkZGluZztcbiAgICAgICAgY29uc3QgdGFpbEVtYmVkZGluZyA9IHRoaXMuZW1iZWRkaW5nO1xuICAgICAgICAvLyBJbml0aWFsaXplZCBpbiBpbml0aWFsaXplU2ltcGxpY2lhbFNldEVtYmVkZGluZygpXG4gICAgICAgIGNvbnN0IHsgaGVhZCwgdGFpbCwgZXBvY2hzUGVyU2FtcGxlIH0gPSB0aGlzLm9wdGltaXphdGlvblN0YXRlO1xuICAgICAgICBjb25zdCBuRXBvY2hzID0gdGhpcy5nZXRORXBvY2hzKCk7XG4gICAgICAgIGNvbnN0IG5WZXJ0aWNlcyA9IHRoaXMuZ3JhcGgubkNvbHM7XG4gICAgICAgIGNvbnN0IHsgYSwgYiB9ID0gZmluZEFCUGFyYW1zKHRoaXMuc3ByZWFkLCB0aGlzLm1pbkRpc3QpO1xuICAgICAgICB0aGlzLmFzc2lnbk9wdGltaXphdGlvblN0YXRlUGFyYW1ldGVycyh7XG4gICAgICAgICAgICBoZWFkRW1iZWRkaW5nLFxuICAgICAgICAgICAgdGFpbEVtYmVkZGluZyxcbiAgICAgICAgICAgIGhlYWQsXG4gICAgICAgICAgICB0YWlsLFxuICAgICAgICAgICAgZXBvY2hzUGVyU2FtcGxlLFxuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgIGIsXG4gICAgICAgICAgICBuRXBvY2hzLFxuICAgICAgICAgICAgblZlcnRpY2VzLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW1wcm92ZSBhbiBlbWJlZGRpbmcgdXNpbmcgc3RvY2hhc3RpYyBncmFkaWVudCBkZXNjZW50IHRvIG1pbmltaXplIHRoZVxuICAgICAqIGZ1enp5IHNldCBjcm9zcyBlbnRyb3B5IGJldHdlZW4gdGhlIDEtc2tlbGV0b25zIG9mIHRoZSBoaWdoIGRpbWVuc2lvbmFsXG4gICAgICogYW5kIGxvdyBkaW1lbnNpb25hbCBmdXp6eSBzaW1wbGljaWFsIHNldHMuIEluIHByYWN0aWNlIHRoaXMgaXMgZG9uZSBieVxuICAgICAqIHNhbXBsaW5nIGVkZ2VzIGJhc2VkIG9uIHRoZWlyIG1lbWJlcnNoaXAgc3RyZW5ndGggKHdpdGggdGhlICgxLXApIHRlcm1zXG4gICAgICogY29taW5nIGZyb20gbmVnYXRpdmUgc2FtcGxpbmcgc2ltaWxhciB0byB3b3JkMnZlYykuXG4gICAgICovXG4gICAgb3B0aW1pemVMYXlvdXRTdGVwKG4pIHtcbiAgICAgICAgY29uc3QgeyBvcHRpbWl6YXRpb25TdGF0ZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3QgeyBoZWFkLCB0YWlsLCBoZWFkRW1iZWRkaW5nLCB0YWlsRW1iZWRkaW5nLCBlcG9jaHNQZXJTYW1wbGUsIGVwb2NoT2ZOZXh0U2FtcGxlLCBlcG9jaE9mTmV4dE5lZ2F0aXZlU2FtcGxlLCBlcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZSwgbW92ZU90aGVyLCBpbml0aWFsQWxwaGEsIGFscGhhLCBnYW1tYSwgYSwgYiwgZGltLCBuRXBvY2hzLCBuVmVydGljZXMsIH0gPSBvcHRpbWl6YXRpb25TdGF0ZTtcbiAgICAgICAgY29uc3QgY2xpcFZhbHVlID0gNC4wO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVwb2Noc1BlclNhbXBsZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGVwb2NoT2ZOZXh0U2FtcGxlW2ldID4gbilcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGNvbnN0IGogPSBoZWFkW2ldO1xuICAgICAgICAgICAgY29uc3QgayA9IHRhaWxbaV07XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50ID0gaGVhZEVtYmVkZGluZ1tqXTtcbiAgICAgICAgICAgIGNvbnN0IG90aGVyID0gdGFpbEVtYmVkZGluZ1trXTtcbiAgICAgICAgICAgIGNvbnN0IGRpc3RTcXVhcmVkID0gckRpc3QoY3VycmVudCwgb3RoZXIpO1xuICAgICAgICAgICAgbGV0IGdyYWRDb2VmZiA9IDA7XG4gICAgICAgICAgICBpZiAoZGlzdFNxdWFyZWQgPiAwKSB7XG4gICAgICAgICAgICAgICAgZ3JhZENvZWZmID0gLTIuMCAqIGEgKiBiICogTWF0aC5wb3coZGlzdFNxdWFyZWQsIGIgLSAxLjApO1xuICAgICAgICAgICAgICAgIGdyYWRDb2VmZiAvPSBhICogTWF0aC5wb3coZGlzdFNxdWFyZWQsIGIpICsgMS4wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCBkaW07IGQrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyYWREID0gY2xpcChncmFkQ29lZmYgKiAoY3VycmVudFtkXSAtIG90aGVyW2RdKSwgY2xpcFZhbHVlKTtcbiAgICAgICAgICAgICAgICBjdXJyZW50W2RdICs9IGdyYWREICogYWxwaGE7XG4gICAgICAgICAgICAgICAgaWYgKG1vdmVPdGhlcilcbiAgICAgICAgICAgICAgICAgICAgb3RoZXJbZF0gKz0gLWdyYWREICogYWxwaGE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlcG9jaE9mTmV4dFNhbXBsZVtpXSArPSBlcG9jaHNQZXJTYW1wbGVbaV07XG4gICAgICAgICAgICBjb25zdCBuTmVnU2FtcGxlcyA9IE1hdGguZmxvb3IoKG4gLSBlcG9jaE9mTmV4dE5lZ2F0aXZlU2FtcGxlW2ldKSAvIGVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlW2ldKTtcbiAgICAgICAgICAgIGZvciAobGV0IHAgPSAwOyBwIDwgbk5lZ1NhbXBsZXM7IHArKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGsgPSB1dGlscy50YXVSYW5kSW50KG5WZXJ0aWNlcywgdGhpcy5yYW5kb20pO1xuICAgICAgICAgICAgICAgIGNvbnN0IG90aGVyID0gdGFpbEVtYmVkZGluZ1trXTtcbiAgICAgICAgICAgICAgICBjb25zdCBkaXN0U3F1YXJlZCA9IHJEaXN0KGN1cnJlbnQsIG90aGVyKTtcbiAgICAgICAgICAgICAgICBsZXQgZ3JhZENvZWZmID0gMC4wO1xuICAgICAgICAgICAgICAgIGlmIChkaXN0U3F1YXJlZCA+IDAuMCkge1xuICAgICAgICAgICAgICAgICAgICBncmFkQ29lZmYgPSAyLjAgKiBnYW1tYSAqIGI7XG4gICAgICAgICAgICAgICAgICAgIGdyYWRDb2VmZiAvPVxuICAgICAgICAgICAgICAgICAgICAgICAgKDAuMDAxICsgZGlzdFNxdWFyZWQpICogKGEgKiBNYXRoLnBvdyhkaXN0U3F1YXJlZCwgYikgKyAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaiA9PT0gaykge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCBkaW07IGQrKykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZ3JhZEQgPSA0LjA7XG4gICAgICAgICAgICAgICAgICAgIGlmIChncmFkQ29lZmYgPiAwLjApXG4gICAgICAgICAgICAgICAgICAgICAgICBncmFkRCA9IGNsaXAoZ3JhZENvZWZmICogKGN1cnJlbnRbZF0gLSBvdGhlcltkXSksIGNsaXBWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRbZF0gKz0gZ3JhZEQgKiBhbHBoYTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlcG9jaE9mTmV4dE5lZ2F0aXZlU2FtcGxlW2ldICs9IG5OZWdTYW1wbGVzICogZXBvY2hzUGVyTmVnYXRpdmVTYW1wbGVbaV07XG4gICAgICAgIH1cbiAgICAgICAgb3B0aW1pemF0aW9uU3RhdGUuYWxwaGEgPSBpbml0aWFsQWxwaGEgKiAoMS4wIC0gbiAvIG5FcG9jaHMpO1xuICAgICAgICBvcHRpbWl6YXRpb25TdGF0ZS5jdXJyZW50RXBvY2ggKz0gMTtcbiAgICAgICAgcmV0dXJuIGhlYWRFbWJlZGRpbmc7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEltcHJvdmUgYW4gZW1iZWRkaW5nIHVzaW5nIHN0b2NoYXN0aWMgZ3JhZGllbnQgZGVzY2VudCB0byBtaW5pbWl6ZSB0aGVcbiAgICAgKiBmdXp6eSBzZXQgY3Jvc3MgZW50cm9weSBiZXR3ZWVuIHRoZSAxLXNrZWxldG9ucyBvZiB0aGUgaGlnaCBkaW1lbnNpb25hbFxuICAgICAqIGFuZCBsb3cgZGltZW5zaW9uYWwgZnV6enkgc2ltcGxpY2lhbCBzZXRzLiBJbiBwcmFjdGljZSB0aGlzIGlzIGRvbmUgYnlcbiAgICAgKiBzYW1wbGluZyBlZGdlcyBiYXNlZCBvbiB0aGVpciBtZW1iZXJzaGlwIHN0cmVuZ3RoICh3aXRoIHRoZSAoMS1wKSB0ZXJtc1xuICAgICAqIGNvbWluZyBmcm9tIG5lZ2F0aXZlIHNhbXBsaW5nIHNpbWlsYXIgdG8gd29yZDJ2ZWMpLlxuICAgICAqL1xuICAgIG9wdGltaXplTGF5b3V0QXN5bmMoZXBvY2hDYWxsYmFjayA9ICgpID0+IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0ZXAgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBuRXBvY2hzLCBjdXJyZW50RXBvY2ggfSA9IHRoaXMub3B0aW1pemF0aW9uU3RhdGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW1iZWRkaW5nID0gdGhpcy5vcHRpbWl6ZUxheW91dFN0ZXAoY3VycmVudEVwb2NoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXBvY2hDb21wbGV0ZWQgPSB0aGlzLm9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkU3RvcCA9IGVwb2NoQ2FsbGJhY2soZXBvY2hDb21wbGV0ZWQpID09PSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNGaW5pc2hlZCA9IGVwb2NoQ29tcGxldGVkID09PSBuRXBvY2hzO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFN0b3AgJiYgIWlzRmluaXNoZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHN0ZXAoKSwgMCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKGlzRmluaXNoZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHN0ZXAoKSwgMCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbXByb3ZlIGFuIGVtYmVkZGluZyB1c2luZyBzdG9jaGFzdGljIGdyYWRpZW50IGRlc2NlbnQgdG8gbWluaW1pemUgdGhlXG4gICAgICogZnV6enkgc2V0IGNyb3NzIGVudHJvcHkgYmV0d2VlbiB0aGUgMS1za2VsZXRvbnMgb2YgdGhlIGhpZ2ggZGltZW5zaW9uYWxcbiAgICAgKiBhbmQgbG93IGRpbWVuc2lvbmFsIGZ1enp5IHNpbXBsaWNpYWwgc2V0cy4gSW4gcHJhY3RpY2UgdGhpcyBpcyBkb25lIGJ5XG4gICAgICogc2FtcGxpbmcgZWRnZXMgYmFzZWQgb24gdGhlaXIgbWVtYmVyc2hpcCBzdHJlbmd0aCAod2l0aCB0aGUgKDEtcCkgdGVybXNcbiAgICAgKiBjb21pbmcgZnJvbSBuZWdhdGl2ZSBzYW1wbGluZyBzaW1pbGFyIHRvIHdvcmQydmVjKS5cbiAgICAgKi9cbiAgICBvcHRpbWl6ZUxheW91dChlcG9jaENhbGxiYWNrID0gKCkgPT4gdHJ1ZSkge1xuICAgICAgICBsZXQgaXNGaW5pc2hlZCA9IGZhbHNlO1xuICAgICAgICBsZXQgZW1iZWRkaW5nID0gW107XG4gICAgICAgIHdoaWxlICghaXNGaW5pc2hlZCkge1xuICAgICAgICAgICAgY29uc3QgeyBuRXBvY2hzLCBjdXJyZW50RXBvY2ggfSA9IHRoaXMub3B0aW1pemF0aW9uU3RhdGU7XG4gICAgICAgICAgICBlbWJlZGRpbmcgPSB0aGlzLm9wdGltaXplTGF5b3V0U3RlcChjdXJyZW50RXBvY2gpO1xuICAgICAgICAgICAgY29uc3QgZXBvY2hDb21wbGV0ZWQgPSB0aGlzLm9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaDtcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZFN0b3AgPSBlcG9jaENhbGxiYWNrKGVwb2NoQ29tcGxldGVkKSA9PT0gZmFsc2U7XG4gICAgICAgICAgICBpc0ZpbmlzaGVkID0gZXBvY2hDb21wbGV0ZWQgPT09IG5FcG9jaHMgfHwgc2hvdWxkU3RvcDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW1iZWRkaW5nO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBudW1iZXIgb2YgZXBvY2hzIGZvciBvcHRpbWl6aW5nIHRoZSBwcm9qZWN0aW9uLlxuICAgICAqIE5PVEU6IFRoaXMgaGV1cmlzdGljIGRpZmZlcnMgZnJvbSB0aGUgcHl0aG9uIHZlcnNpb25cbiAgICAgKi9cbiAgICBnZXRORXBvY2hzKCkge1xuICAgICAgICBjb25zdCBncmFwaCA9IHRoaXMuZ3JhcGg7XG4gICAgICAgIGlmICh0aGlzLm5FcG9jaHMgPiAwKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubkVwb2NocztcbiAgICAgICAgaWYgKCFncmFwaClcbiAgICAgICAgICAgIHJldHVybiAyMDA7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IGdyYXBoLm5Sb3dzO1xuICAgICAgICBpZiAobGVuZ3RoIDw9IDI1MDApXG4gICAgICAgICAgICByZXR1cm4gNTAwO1xuICAgICAgICBlbHNlIGlmIChsZW5ndGggPD0gNTAwMClcbiAgICAgICAgICAgIHJldHVybiA0MDA7XG4gICAgICAgIGVsc2UgaWYgKGxlbmd0aCA8PSA3NTAwKVxuICAgICAgICAgICAgcmV0dXJuIDMwMDtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIDIwMDtcbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gZXVjbGlkZWFuKHgsIHkpIHtcbiAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHgubGVuZ3RoOyBpKyspXG4gICAgICAgIHJlc3VsdCArPSAoeFtpXSAtIHlbaV0pICoqIDI7XG4gICAgcmV0dXJuIE1hdGguc3FydChyZXN1bHQpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG51bWVyaWMoeCwgeSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IE1hdGguYWJzKHggLSB5KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvc2luZSh4LCB5KSB7XG4gICAgbGV0IHJlc3VsdCA9IDAuMDtcbiAgICBsZXQgbm9ybVggPSAwLjA7XG4gICAgbGV0IG5vcm1ZID0gMC4wO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgeC5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHQgKz0geFtpXSAqIHlbaV07XG4gICAgICAgIG5vcm1YICs9IHhbaV0gKiogMjtcbiAgICAgICAgbm9ybVkgKz0geVtpXSAqKiAyO1xuICAgIH1cbiAgICBpZiAobm9ybVggPT09IDAgJiYgbm9ybVkgPT09IDApXG4gICAgICAgIHJldHVybiAwO1xuICAgIGVsc2UgaWYgKG5vcm1YID09PSAwIHx8IG5vcm1ZID09PSAwKVxuICAgICAgICByZXR1cm4gMS4wO1xuICAgIGVsc2VcbiAgICAgICAgcmV0dXJuIDEuMCAtIHJlc3VsdCAvIE1hdGguc3FydChub3JtWCAqIG5vcm1ZKTtcbn1cbi8qKlxuICogQW4gaW50ZXJmYWNlIHJlcHJlc2VudGluZyB0aGUgb3B0aW1pemF0aW9uIHN0YXRlIHRyYWNrZWQgYmV0d2VlbiBzdGVwcyBvZlxuICogdGhlIFNHRCBvcHRpbWl6YXRpb25cbiAqL1xuY2xhc3MgT3B0aW1pemF0aW9uU3RhdGUge1xuICAgIGN1cnJlbnRFcG9jaCA9IDA7XG4gICAgLy8gRGF0YSB0cmFja2VkIGR1cmluZyBvcHRpbWl6YXRpb24gc3RlcHMuXG4gICAgaGVhZEVtYmVkZGluZyA9IFtdO1xuICAgIHRhaWxFbWJlZGRpbmcgPSBbXTtcbiAgICBoZWFkID0gW107XG4gICAgdGFpbCA9IFtdO1xuICAgIGVwb2Noc1BlclNhbXBsZSA9IFtdO1xuICAgIGVwb2NoT2ZOZXh0U2FtcGxlID0gW107XG4gICAgZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZSA9IFtdO1xuICAgIGVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlID0gW107XG4gICAgbW92ZU90aGVyID0gdHJ1ZTtcbiAgICBpbml0aWFsQWxwaGEgPSAxLjA7XG4gICAgYWxwaGEgPSAxLjA7XG4gICAgZ2FtbWEgPSAxLjA7XG4gICAgYSA9IDEuNTc2OTQzNDYwMzExMzA3NztcbiAgICBiID0gMC44OTUwNjA4Nzc5MTA5NzMzO1xuICAgIGRpbSA9IDI7XG4gICAgbkVwb2NocyA9IDUwMDtcbiAgICBuVmVydGljZXMgPSAwO1xufVxuLyoqXG4gKiBTdGFuZGFyZCBjbGFtcGluZyBvZiBhIHZhbHVlIGludG8gYSBmaXhlZCByYW5nZVxuICovXG5mdW5jdGlvbiBjbGlwKHgsIGNsaXBWYWx1ZSkge1xuICAgIGlmICh4ID4gY2xpcFZhbHVlKVxuICAgICAgICByZXR1cm4gY2xpcFZhbHVlO1xuICAgIGVsc2UgaWYgKHggPCAtY2xpcFZhbHVlKVxuICAgICAgICByZXR1cm4gLWNsaXBWYWx1ZTtcbiAgICBlbHNlXG4gICAgICAgIHJldHVybiB4O1xufVxuLyoqXG4gKiBSZWR1Y2VkIEV1Y2xpZGVhbiBkaXN0YW5jZS5cbiAqL1xuZnVuY3Rpb24gckRpc3QoeCwgeSkge1xuICAgIGxldCByZXN1bHQgPSAwLjA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB4Lmxlbmd0aDsgaSsrKVxuICAgICAgICByZXN1bHQgKz0gTWF0aC5wb3coeFtpXSAtIHlbaV0sIDIpO1xuICAgIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIEZpdCBhLCBiIHBhcmFtcyBmb3IgdGhlIGRpZmZlcmVudGlhYmxlIGN1cnZlIHVzZWQgaW4gbG93ZXJcbiAqIGRpbWVuc2lvbmFsIGZ1enp5IHNpbXBsaWNpYWwgY29tcGxleCBjb25zdHJ1Y3Rpb24uIFdlIHdhbnQgdGhlXG4gKiBzbW9vdGggY3VydmUgKGZyb20gYSBwcmUtZGVmaW5lZCBmYW1pbHkgd2l0aCBzaW1wbGUgZ3JhZGllbnQpIHRoYXRcbiAqIGJlc3QgbWF0Y2hlcyBhbiBvZmZzZXQgZXhwb25lbnRpYWwgZGVjYXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQUJQYXJhbXMoc3ByZWFkLCBtaW5EaXN0KSB7XG4gICAgY29uc3QgY3VydmUgPSAoW2EsIGJdKSA9PiAoeCkgPT4ge1xuICAgICAgICByZXR1cm4gMS4wIC8gKDEuMCArIGEgKiB4ICoqICgyICogYikpO1xuICAgIH07XG4gICAgY29uc3QgeHYgPSB1dGlsc1xuICAgICAgICAubGluZWFyKDAsIHNwcmVhZCAqIDMsIDMwMClcbiAgICAgICAgLm1hcCgodmFsKSA9PiAodmFsIDwgbWluRGlzdCA/IDEuMCA6IHZhbCkpO1xuICAgIGNvbnN0IHl2ID0gdXRpbHMuemVyb3MoeHYubGVuZ3RoKS5tYXAoKHZhbCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgZ3RlID0geHZbaW5kZXhdID49IG1pbkRpc3Q7XG4gICAgICAgIHJldHVybiBndGUgPyBNYXRoLmV4cCgtKHh2W2luZGV4XSAtIG1pbkRpc3QpIC8gc3ByZWFkKSA6IHZhbDtcbiAgICB9KTtcbiAgICBjb25zdCBpbml0aWFsVmFsdWVzID0gWzAuNSwgMC41XTtcbiAgICBjb25zdCBkYXRhID0geyB4OiB4diwgeTogeXYgfTtcbiAgICAvLyBEZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBhbGdvcml0aG0gKGZyb20gZ2l0aHViIGV4YW1wbGUpXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgZGFtcGluZzogMS41LFxuICAgICAgICBpbml0aWFsVmFsdWVzLFxuICAgICAgICBncmFkaWVudERpZmZlcmVuY2U6IDEwZS0yLFxuICAgICAgICBtYXhJdGVyYXRpb25zOiAxMDAsXG4gICAgICAgIGVycm9yVG9sZXJhbmNlOiAxMGUtMyxcbiAgICB9O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgY29uc3QgeyBwYXJhbWV0ZXJWYWx1ZXMgfSA9IExNKGRhdGEsIGN1cnZlLCBvcHRpb25zKTtcbiAgICBjb25zdCBbYSwgYl0gPSBwYXJhbWV0ZXJWYWx1ZXM7XG4gICAgcmV0dXJuIHsgYSwgYiB9O1xufVxuLyoqXG4gKiBVbmRlciB0aGUgYXNzdW1wdGlvbiBvZiBjYXRlZ29yaWNhbCBkaXN0YW5jZSBmb3IgdGhlIGludGVyc2VjdGluZ1xuICogc2ltcGxpY2lhbCBzZXQgcGVyZm9ybSBhIGZhc3QgaW50ZXJzZWN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmFzdEludGVyc2VjdGlvbihncmFwaCwgdGFyZ2V0LCB1bmtub3duRGlzdCA9IDEuMCwgZmFyRGlzdCA9IDUuMCkge1xuICAgIHJldHVybiBncmFwaC5tYXAoKHZhbHVlLCByb3csIGNvbCkgPT4ge1xuICAgICAgICBpZiAodGFyZ2V0W3Jvd10gPT09IC0xIHx8IHRhcmdldFtjb2xdID09PSAtMSlcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSAqIE1hdGguZXhwKC11bmtub3duRGlzdCk7XG4gICAgICAgIGVsc2UgaWYgKHRhcmdldFtyb3ddICE9PSB0YXJnZXRbY29sXSlcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSAqIE1hdGguZXhwKC1mYXJEaXN0KTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXNldCB0aGUgbG9jYWwgY29ubmVjdGl2aXR5IHJlcXVpcmVtZW50IC0tIGVhY2ggZGF0YSBzYW1wbGUgc2hvdWxkXG4gKiBoYXZlIGNvbXBsZXRlIGNvbmZpZGVuY2UgaW4gYXQgbGVhc3Qgb25lIDEtc2ltcGxleCBpbiB0aGUgc2ltcGxpY2lhbCBzZXQuXG4gKiBXZSBjYW4gZW5mb3JjZSB0aGlzIGJ5IGxvY2FsbHkgcmVzY2FsaW5nIGNvbmZpZGVuY2VzLCBhbmQgdGhlbiByZW1lcmdpbmcgdGhlXG4gKiBkaWZmZXJlbnQgbG9jYWwgc2ltcGxpY2lhbCBzZXRzIHRvZ2V0aGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRMb2NhbENvbm5lY3Rpdml0eShzaW1wbGljaWFsU2V0KSB7XG4gICAgc2ltcGxpY2lhbFNldCA9IG1hdHJpeC5ub3JtYWxpemUoc2ltcGxpY2lhbFNldCwgXCJtYXhcIiAvKiBtYXRyaXguTm9ybVR5cGUubWF4ICovKTtcbiAgICBjb25zdCB0cmFuc3Bvc2UgPSBtYXRyaXgudHJhbnNwb3NlKHNpbXBsaWNpYWxTZXQpO1xuICAgIGNvbnN0IHByb2RNYXRyaXggPSBtYXRyaXgucGFpcndpc2VNdWx0aXBseSh0cmFuc3Bvc2UsIHNpbXBsaWNpYWxTZXQpO1xuICAgIHNpbXBsaWNpYWxTZXQgPSBtYXRyaXguYWRkKHNpbXBsaWNpYWxTZXQsIG1hdHJpeC5zdWJ0cmFjdCh0cmFuc3Bvc2UsIHByb2RNYXRyaXgpKTtcbiAgICByZXR1cm4gbWF0cml4LmVsaW1pbmF0ZVplcm9zKHNpbXBsaWNpYWxTZXQpO1xufVxuLyoqXG4gKiBHaXZlbiBpbmRpY2VzIGFuZCB3ZWlnaHRzIGFuZCBhbiBvcmlnaW5hbCBlbWJlZGRpbmdzXG4gKiBpbml0aWFsaXplIHRoZSBwb3NpdGlvbnMgb2YgbmV3IHBvaW50cyByZWxhdGl2ZSB0byB0aGVcbiAqIGluZGljZXMgYW5kIHdlaWdodHMgKG9mIHRoZWlyIG5laWdoYm9ycyBpbiB0aGUgc291cmNlIGRhdGEpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdFRyYW5zZm9ybShpbmRpY2VzLCB3ZWlnaHRzLCBlbWJlZGRpbmcpIHtcbiAgICBjb25zdCByZXN1bHQgPSB1dGlsc1xuICAgICAgICAuemVyb3MoaW5kaWNlcy5sZW5ndGgpXG4gICAgICAgIC5tYXAoKF96KSA9PiB1dGlscy56ZXJvcyhlbWJlZGRpbmdbMF0ubGVuZ3RoKSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRpY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgaW5kaWNlc1swXS5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCBlbWJlZGRpbmdbMF0ubGVuZ3RoOyBkKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhID0gaW5kaWNlc1tpXVtqXTtcbiAgICAgICAgICAgICAgICByZXN1bHRbaV1bZF0gKz0gd2VpZ2h0c1tpXVtqXSAqIGVtYmVkZGluZ1thXVtkXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZFcxaGNDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5WdFlYQXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc05FSkJRVFJDTzBGQlF6VkNPenM3T3pzN096czdPenM3T3pzN096dEhRV2xDUnp0QlFVVklPenM3T3p0SFFVdEhPMEZCUlVnN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdSMEVyUWtjN1FVRkZTQ3hQUVVGUExFdEJRVXNzU1VGQlNTeE5RVUZOTEZGQlFWRXNRMEZCUXp0QlFVTXZRaXhQUVVGUExFdEJRVXNzVFVGQlRTeE5RVUZOTEZWQlFWVXNRMEZCUXp0QlFVTnVReXhQUVVGUExFdEJRVXNzVTBGQlV5eE5RVUZOTEdOQlFXTXNRMEZCUXp0QlFVTXhReXhQUVVGUExFdEJRVXNzU1VGQlNTeE5RVUZOTEZGQlFWRXNRMEZCUXp0QlFVTXZRaXhQUVVGUExFdEJRVXNzUzBGQlN5eE5RVUZOTEZOQlFWTXNRMEZCUXp0QlFVTnFReXhQUVVGUExFVkJRVVVzVFVGQlRTeDNRa0ZCZDBJc1EwRkJRenRCUVdGNFF5eE5RVUZOTEd0Q1FVRnJRaXhIUVVGSExFbEJRVWtzUTBGQlF6dEJRVU5vUXl4TlFVRk5MR2RDUVVGblFpeEhRVUZITEVsQlFVa3NRMEZCUXp0QlFXMUlPVUk3T3pzN096czdPenM3T3pzN096czdPenM3UjBGdFFrYzdRVUZEU0N4TlFVRk5MRTlCUVU4c1NVRkJTVHRKUVVOUUxGbEJRVmtzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZEYmtJc2FVSkJRV2xDTEVkQlFVY3NSMEZCUnl4RFFVRkRPMGxCUTNoQ0xFOUJRVThzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZEWkN4WFFVRlhMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMmhDTEU5QlFVOHNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRXaXhWUVVGVkxFZEJRVWNzUlVGQlJTeERRVUZETzBsQlEyaENMR3RDUVVGclFpeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTjJRaXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXp0SlFVTnlRaXhwUWtGQmFVSXNSMEZCUnl4SFFVRkhMRU5CUVVNN1NVRkRlRUlzWVVGQllTeEhRVUZITEVkQlFVY3NRMEZCUXp0SlFVTndRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlEySXNhMEpCUVd0Q0xFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlJXcERMQ3RDUVVFclFqdEpRVU4yUWl4WlFVRlpMR2RFUVVFMFFqdEpRVU40UXl4WlFVRlpMRWRCUVVjc1IwRkJSeXhEUVVGRE8wbEJRMjVDTEdkQ1FVRm5RaXhIUVVGSExFVkJRVVVzUTBGQlF6dEpRVVYwUWl4VlFVRlZMRWRCUVdVc1QwRkJUeXhEUVVGRE8wbEJSWHBETEdkRlFVRm5SVHRKUVVONFJDeFZRVUZWTEVOQlFXTTdTVUZEZUVJc1dVRkJXU3hEUVVGak8wbEJSV3hETERaRFFVRTJRenRKUVVOeVF5eExRVUZMTEVOQlFYVkNPMGxCUXpWQ0xFTkJRVU1zUTBGQlZUdEpRVU5ZTEdGQlFXRXNSMEZCUnl4TFFVRkxMRU5CUVVNN1NVRkRkRUlzVVVGQlVTeEhRVUZ2UWl4RlFVRkZMRU5CUVVNN1NVRkRMMElzWTBGQll5eERRVUU0UWp0SlFVTTFReXhaUVVGWkxFTkJRVFJDTzBsQlEzaERMRTFCUVUwc1EwRkJjMEk3U1VGRE5VSXNWMEZCVnl4RFFVRjFRanRKUVVVeFF5eDVRMEZCZVVNN1NVRkRha01zUTBGQlF5eERRVUZaTzBsQlJYSkNMSE5DUVVGelFqdEpRVU5rTEZOQlFWTXNSMEZCWlN4RlFVRkZMRU5CUVVNN1NVRkRNMElzYVVKQlFXbENMRWRCUVVjc1NVRkJTU3hwUWtGQmFVSXNSVUZCUlN4RFFVRkRPMGxCUjNCRUxFbEJRVWtzVTBGQlV6dFJRVU5ZTEU5QlFVOHNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJRenRKUVVONlFpeERRVUZETzBsQlEwUXNXVUZCV1N4VFFVRjVRaXhGUVVGRk8xRkJRM0pETEUxQlFVMHNVVUZCVVN4SFFVRkhMRU5CUVVNc1IwRkJlVUlzUlVGQlJTeEZRVUZGTzFsQlF6ZERMRmxCUVZrN1dVRkRXaXhKUVVGSkxFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4VFFVRlRPMmRDUVVGRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVrUXNRMEZCUXl4RFFVRkRPMUZCUlVZc1VVRkJVU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlEzWkNMRkZCUVZFc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF6dFJRVU42UWl4UlFVRlJMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXp0UlFVTTVRaXhSUVVGUkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdVVUZEY0VJc1VVRkJVU3hEUVVGRExHRkJRV0VzUTBGQlF5eERRVUZETzFGQlEzaENMRkZCUVZFc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFJRVU53UWl4UlFVRlJMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRGRrSXNVVUZCVVN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTTdVVUZETDBJc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlEyNUNMRkZCUVZFc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4RFFVRkRPMUZCUXpsQ0xGRkJRVkVzUTBGQlF5eGxRVUZsTEVOQlFVTXNRMEZCUXp0UlFVTXhRaXhSUVVGUkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdVVUZEYmtJc1VVRkJVU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNN1VVRkRMMElzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhIUVVGSExFMUJRVTBzUTBGQlF5eFZRVUZWTEVsQlFVa3NTVUZCU1N4RFFVRkRMRlZCUVZVc1NVRkJTU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNN1NVRkRlRVlzUTBGQlF6dEpRVVZFT3p0UFFVVkhPMGxCUTBnc1IwRkJSeXhEUVVGRExFTkJRVk03VVVGRFdDeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM1JDTEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJRenRSUVVWMFFpeFBRVUZQTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNN1NVRkRlRUlzUTBGQlF6dEpRVVZFT3pzN1QwRkhSenRKUVVOSUxFdEJRVXNzUTBGQlF5eFJRVUZSTEVOQlExb3NRMEZCVXl4RlFVTlVMRmRCUVc5RUxFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVazdVVUZGT1VRc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVjBRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dFJRVU42UXl4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU03U1VGRGVFSXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzZFVKQlFYVkNMRU5CUVVNc1EwRkJWeXhGUVVGRkxGTkJRU3RDTEVWQlFVVTdVVUZEY0VVc1NVRkJTU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEV0N4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFMUJRVTBzUTBGQlF5eFpRVUZaTEVsQlFVa3NTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJRenRSUVVNM1JDeEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRTFCUVUwc1EwRkJReXhaUVVGWkxFbEJRVWtzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXp0UlFVTTNSQ3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRWRCUVVjc1RVRkJUU3hEUVVGRExHZENRVUZuUWl4SlFVRkpMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXp0SlFVTXpSU3hEUVVGRE8wbEJSVVE3TzA5QlJVYzdTVUZEU0N4cFFrRkJhVUlzUTBGQlF5eFZRVUZ6UWl4RlFVRkZMRmxCUVhkQ08xRkJRMmhGTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1ZVRkJWU3hEUVVGRE8xRkJRemRDTEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc1dVRkJXU3hEUVVGRE8wbEJRMjVETEVOQlFVTTdTVUZGUkRzN096czdUMEZMUnp0SlFVTklMR0ZCUVdFc1EwRkJReXhEUVVGVE8xRkJRM0pDTEVsQlFVa3NRMEZCUXl4RFFVRkRMRTFCUVUwc1NVRkJTU3hKUVVGSkxFTkJRVU1zVlVGQlZUdFpRVU0zUWl4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExESkNRVUV5UWl4RFFVRkRMRU5CUVVNc1RVRkJUU3d5UWtGQk1rSXNTVUZCU1N4RFFVRkRMRlZCUVZVc2MwUkJRWE5FTEVOQlFVTXNRMEZCUXp0UlFVZDJTaXcwUlVGQk5FVTdVVUZETlVVc1NVRkJTU3hKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1lVRkJZVHRaUVVOd1F5eFBRVUZQTEVsQlFVa3NRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkJRenRSUVVjelFpeEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVWWUxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUlVGQlJUdFpRVU14UXl4TlFVRk5MRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE5VTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1IwRkJSeXhWUVVGVkxFTkJRVU1zVlVGQlZTeERRVUZETzFsQlEzaERMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzVlVGQlZTeERRVUZETEZsQlFWa3NRMEZCUXp0VFFVTTNRenRSUVVWRUxFbEJRVWtzUTBGQlF5eExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVU5zUXl4RFFVRkRMRVZCUTBRc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGRFppeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVTnVRaXhEUVVGRE8xRkJSVVlzZVVSQlFYbEVPMUZCUTNwRUxFbEJRVWtzUTBGQlF5eGhRVUZoTEVWQlFVVXNRMEZCUXp0UlFVTnlRaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRk0wTXNlVVJCUVhsRU8xRkJRM3BFTEVsQlFVa3NRMEZCUXl4dFEwRkJiVU1zUlVGQlJTeERRVUZETzFGQlJUTkRMRTFCUVUwc1JVRkRTaXhKUVVGSkxFVkJRMG9zU1VGQlNTeEZRVU5LTEdWQlFXVXNSMEZEYUVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zWjBOQlFXZERMRVZCUVVVc1EwRkJRenRSUVVVMVF5eHhRMEZCY1VNN1VVRkRja01zU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZEYmtNc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRGJrTXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEdWQlFXVXNSMEZCUnl4bFFVRmxMRU5CUVVNN1VVRkZla1FzZVVOQlFYbERPMUZCUTNwRExFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc1JVRkJSU3hEUVVGRE8xRkJRemxDTEVsQlFVa3NRMEZCUXl3d1FrRkJNRUlzUlVGQlJTeERRVUZETzFGQlEyeERMRWxCUVVrc1EwRkJReXhoUVVGaExFZEJRVWNzU1VGQlNTeERRVUZETzFGQlJURkNMRTlCUVU4c1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzBsQlF6TkNMRU5CUVVNN1NVRkZUeXhoUVVGaE8xRkJRMjVDTEUxQlFVMHNSVUZCUXl4WlFVRlpMRVZCUVVVc1kwRkJZeXhGUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETEcxQ1FVRnRRaXhEUVVOc1JTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVTm9RaXhEUVVGRE8xRkJRMFlzU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4WlFVRlpMRU5CUVVNN1VVRkRha01zU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4alFVRmpMRU5CUVVNN1VVRkRja01zU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4VFFVRlRMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8wbEJRMjVGTEVOQlFVTTdTVUZGVHl4bFFVRmxMRU5CUVVNc1EwRkJVenRSUVVNdlFpeE5RVUZOTEZWQlFWVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWeXhEUVVGRE8xRkJRM0JETEUxQlFVMHNXVUZCV1N4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGaExFTkJRVU03VVVGRGVFTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOc1F5eE5RVUZOTEZkQlFWY3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVWQlFVVXNSVUZCUlN4RlFVRkZMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRE9VUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEZWQlFWVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRE1VTXNUVUZCVFN4SFFVRkhMRWRCUVVjc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlF6RkNMRTFCUVUwc1UwRkJVeXhIUVVGSExGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkRia01zVFVGQlRTeFJRVUZSTEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVU40UWl4TlFVRk5MRkZCUVZFc1IwRkJSeXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdaMEpCUXpsQ0xFbEJRVWtzVVVGQlVTeEhRVUZITEVOQlFVTTdiMEpCUTJRc1YwRkJWeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVWQlFVVXNVVUZCVVN4RlFVRkZMRkZCUVZFc1EwRkJReXhEUVVGRE8yRkJRekZETzFOQlEwWTdVVUZGUkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhOUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUTJoRUxFOUJRVThzVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXl4WFFVRlhMRVZCUVVVc1UwRkJVeXhEUVVGRExFTkJRVU03U1VGRGFFUXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzVTBGQlV5eERRVUZETEZkQlFXMUNPMUZCUXpOQ0xESkNRVUV5UWp0UlFVTXpRaXhOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNaQ0xFbEJRVWtzVDBGQlR5eExRVUZMTEZOQlFWTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1RVRkJUU3hMUVVGTExFTkJRVU03V1VGREwwTXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4RFFVRkRPMUZCUnpORExFbEJRVWtzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUTBGQlF6dFJRVU4yUlN4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRlZCUVZVc1EwRkJReXhEUVVGRE8xRkJRMnhFTEUxQlFVMHNTVUZCU1N4SFFVRkhMRk5CUVZNc1EwRkJReXhuUWtGQlowSXNRMEZEY2tNc1NVRkJTU3hEUVVGRExGRkJRVkVzUlVGRFlpeFBRVUZQTEVWQlExQXNWMEZCVnl4RlFVTllMRlZCUVZVc1JVRkRWaXhKUVVGSkxFTkJRVU1zWTBGQll5eEZRVU51UWl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVOcVFpeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVTmFMRU5CUVVNN1VVRkZSaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTlCUVU4c1JVRkJSU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4WFFVRlhMRU5CUVVNc1EwRkJRenRSUVVWNlJTeEpRVUZKTEVWQlFVTXNUMEZCVHl4RlFVRkZMRTlCUVU4c1JVRkJSU3hUUVVGVExFVkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJSVFZFTEU5QlFVOHNSMEZCUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVNeFJDeFRRVUZUTEVkQlFVY3NVMEZCVXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZPVVFzVFVGQlRTeDVRa0ZCZVVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRNVVVzVFVGQlRTeEZRVUZETEUxQlFVMHNSVUZCUlN4SlFVRkpMRVZCUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUXpORExGTkJRVk1zUlVGRFZDeEpRVUZKTEVOQlFVTXNWVUZCVlN4RlFVTm1MSGxDUVVGNVFpeERRVU14UWl4RFFVRkRPMUZCUlVZc1RVRkJUU3hGUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExEQkNRVUV3UWl4RFFVTjRSQ3hQUVVGUExFVkJRMUFzVTBGQlV5eEZRVU5VTEUxQlFVMHNSVUZEVGl4SlFVRkpMRU5CUTB3c1EwRkJRenRSUVVWR0xFMUJRVTBzU1VGQlNTeEhRVUZITEVOQlFVTXNWMEZCVnl4RFFVRkRMRTFCUVUwc1JVRkJSU3hQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdVVUZEYkVRc1NVRkJTU3hMUVVGTExFZEJRVWNzU1VGQlNTeE5RVUZOTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUlRWRUxHOUZRVUZ2UlR0UlFVTndSU3h6UlVGQmMwVTdVVUZEZEVVc0swUkJRU3RFTzFGQlJTOUVMRTFCUVUwc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF5eFRRVUZUTEVOQlFVTXNTMEZCU3l4blEwRkJjVUlzUTBGQlF6dFJRVVV6UkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUTNoRExFMUJRVTBzVDBGQlR5eEhRVUZITEZkQlFWY3NRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkZia01zVFVGQlRTeFJRVUZSTEVkQlFVY3NTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkRPVUlzVTBGQlV5eERRVUZETEU5QlFVOHNSVUZEYWtJc1QwRkJUeXhGUVVOUUxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlEyaENMRU5CUVVNN1VVRkZSaXhOUVVGTkxGRkJRVkVzUjBGQlJ5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVTTVRaXhUUVVGVExFTkJRVU1zVFVGQlRTeEZRVU5vUWl4UFFVRlBMRVZCUTFBc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGRGFFSXNRMEZCUXp0UlFVVkdMRTFCUVUwc1UwRkJVeXhIUVVGSExHRkJRV0VzUTBGQlF5eFJRVUZSTEVWQlFVVXNVVUZCVVN4RlFVRkZMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFJRVVZ3UlN4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdXVUZETlVJc1NVRkJTU3hEUVVGRExFOUJRVThzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNRaXhMUVVGTExFTkJRVU1zUzBGQlN5eEpRVUZKTEV0QlFVc3NRMEZCUXl4RFFVRkRPMmRDUVVOd1FpeEhRVUZITEVOQlFVTXNRMEZCUXp0blFrRkRUQ3hGUVVGRkxFTkJRVU03VVVGRlVDeE5RVUZOTEZGQlFWRXNSMEZCUnl4TFFVRkxPMkZCUTI1Q0xGTkJRVk1zUlVGQlJUdGhRVU5ZTEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU53UkN4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhMUVVGTExFZEJRVWNzVVVGQlVTeEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNaRkxFdEJRVXNzUjBGQlJ5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJSWEpETEUxQlFVMHNaVUZCWlN4SFFVRkhMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNRMEZET1VNc1MwRkJTeXhEUVVGRExGTkJRVk1zUlVGQlJTeEZRVU5xUWl4UFFVRlBMRU5CUTFJc1EwRkJRenRSUVVOR0xFMUJRVTBzU1VGQlNTeEhRVUZITEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRSUVVNM1FpeE5RVUZOTEVsQlFVa3NSMEZCUnl4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03VVVGRk4wSXNiMFZCUVc5Rk8xRkJRM0JGTEVsQlFVa3NRMEZCUXl4cFEwRkJhVU1zUTBGQlF6dFpRVU55UXl4aFFVRmhMRVZCUVVVc1UwRkJVenRaUVVONFFpeGhRVUZoTEVWQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNN1dVRkROMElzU1VGQlNUdFpRVU5LTEVsQlFVazdXVUZEU2l4WlFVRlpMRVZCUVVVc1EwRkJRenRaUVVObUxFOUJRVTg3V1VGRFVDeFRRVUZUTEVWQlFVVXNTMEZCU3l4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU0zUWl4bFFVRmxPMU5CUTJoQ0xFTkJRVU1zUTBGQlF6dFJRVU5JTEVsQlFVa3NRMEZCUXl3d1FrRkJNRUlzUlVGQlJTeERRVUZETzFGQlJXeERMRTlCUVU4c1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzBsQlF5OUNMRU5CUVVNN1NVRkZSRHM3TzA5QlIwYzdTVUZEU3l4dFEwRkJiVU03VVVGRGVrTXNUVUZCVFN4RlFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZEY0VJc1NVRkJTU3hEUVVGRExFVkJRVVU3V1VGRFRDeEpRVUZKTEVOQlFVTXNRMEZCUXl4TlFVRk5MRXRCUVVzc1EwRkJReXhEUVVGRExFMUJRVTA3WjBKQlEzWkNMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zYVVOQlFXbERMRU5CUVVNc1EwRkJRenRaUVVkeVJDeEpRVUZKTEVsQlFVa3NRMEZCUXl4WlFVRlpMR2xFUVVFMlFpeEZRVUZGTzJkQ1FVTnNSQ3hOUVVGTkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRWRCUVVjc1EwRkJRenRuUWtGRGJrTXNUVUZCVFN4UFFVRlBMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dG5Ra0ZEZEVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNiME5CUVc5RExFTkJRM0JFTEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUTFZc1EwRkJReXhGUVVORUxFOUJRVThzUTBGRFVpeERRVUZETzJGQlEwZzdXVUZEUkN4cFJVRkJhVVU3VTBGRGJFVTdTVUZEU0N4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFNDeEpRVUZKTzFGQlEwWXNUVUZCVFN4RlFVRkRMRmxCUVZrc1JVRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJRenRSUVVVNVF5eEpRVUZKTEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVGRk8xbEJRMnhETEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVVjRReXhQUVVGUExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhaUVVGWkxFTkJRVU03U1VGRE4wTXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzV1VGQldUdFJRVU5XTEU5QlFVOHNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJRenRKUVVONFFpeERRVUZETzBsQlJVUTdPenM3VDBGSlJ6dEpRVU5MTEdkQ1FVRm5RaXhEUVVGRExFTkJRVk03VVVGRGFFTXNUVUZCVFN4RlFVRkRMRlZCUVZVc1JVRkJSU3hWUVVGVkxFVkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZEZEVNc1RVRkJUU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZUTEVWQlFVVXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4wUkN4TlFVRk5MR1ZCUVdVc1IwRkJSeXhUUVVGVExFTkJRVU1zWVVGQllTeERRVUZETEZWQlFWVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRmVrVXNiVVJCUVcxRU8xRkJRMjVFTEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJVeXhGUVVGRkxFVkJRVVU3V1VGRE1VSXNUMEZCVHl4RFFVRkRMRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZGtNc1EwRkJReXhEUVVGRE8xRkJSVVlzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZETjBRc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZia1VzU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUlVGQlJTeFZRVUZWTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVVZ3UlN4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVOd1JDeE5RVUZOTEVWQlFVTXNUMEZCVHl4RlFVRkZMRTlCUVU4c1JVRkJReXhIUVVGSExHVkJRV1VzUTBGRGVFTXNRMEZCUXl4RlFVTkVMRk5CUVZNc1JVRkRWQ3hWUVVGVkxFVkJRMVlzVFVGQlRTeERRVU5RTEVOQlFVTTdVVUZEUml4UFFVRlBMRVZCUVVNc1ZVRkJWU3hGUVVGRkxFOUJRVThzUlVGQlJTeFpRVUZaTEVWQlFVVXNUMEZCVHl4RlFVRkRMRU5CUVVNN1NVRkRkRVFzUTBGQlF6dEpRVVZFT3pzN096czdPMDlCVDBjN1NVRkRTeXhyUWtGQmEwSXNRMEZEZUVJc1EwRkJVeXhGUVVOVUxGVkJRV3RDTEVWQlEyeENMR0ZCUVdFc1IwRkJSeXhIUVVGSE8xRkJSVzVDTEUxQlFVMHNSVUZCUXl4VlFVRlZMRWRCUVVjc1JVRkJSU3hGUVVGRkxGbEJRVmtzUjBGQlJ5eEZRVUZGTEVWQlFVVXNhVUpCUVdsQ0xFVkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZGY2tVc1RVRkJUU3hGUVVGRExFMUJRVTBzUlVGQlJTeEpRVUZKTEVWQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlF6TkRMRmxCUVZrc1JVRkRXaXhWUVVGVkxFVkJRMVlzYVVKQlFXbENMRU5CUTJ4Q0xFTkJRVU03VVVGRlJpeE5RVUZOTEVWQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFVkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRM2hFTEZWQlFWVXNSVUZEVml4WlFVRlpMRVZCUTFvc1RVRkJUU3hGUVVOT0xFbEJRVWtzUTBGRFRDeERRVUZETzFGQlJVWXNUVUZCVFN4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOc1F5eE5RVUZOTEZsQlFWa3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRmNrVXNUVUZCVFN4VFFVRlRMRWRCUVVjc1RVRkJUU3hEUVVGRExGTkJRVk1zUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVTnFSQ3hOUVVGTkxGVkJRVlVzUjBGQlJ5eE5RVUZOTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zV1VGQldTeEZRVUZGTEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUlhCRkxFMUJRVTBzUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eFpRVUZaTEVWQlFVVXNVMEZCVXl4RFFVRkRMRVZCUVVVc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRE0wVXNUVUZCVFN4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETEVWQlFVVXNZVUZCWVN4RFFVRkRMRU5CUVVNN1VVRkRiRVFzVFVGQlRTeERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMR05CUVdNc1EwRkJReXhWUVVGVkxFVkJRVVVzUjBGQlJ5eEhRVUZITEdGQlFXRXNRMEZCUXl4RFFVRkRPMUZCUTJwRkxFMUJRVTBzVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJXaERMRTlCUVU4c1RVRkJUU3hEUVVGRE8wbEJRMmhDTEVOQlFVTTdTVUZGUkRzN096czdUMEZMUnp0SlFVTkxMRzlEUVVGdlF5eERRVU14UXl4aFFVRnJReXhGUVVOc1F5eE5RVUZuUWl4RlFVTm9RaXhQUVVGbExFVkJRMllzVjBGQlZ5eEhRVUZITEVkQlFVYzdVVUZGYWtJc1NVRkJTU3haUVVGWkxFZEJRVWNzWjBKQlFXZENMRU5CUTJwRExHRkJRV0VzUlVGRFlpeE5RVUZOTEVWQlEwNHNWMEZCVnl4RlFVTllMRTlCUVU4c1EwRkRVaXhEUVVGRE8xRkJRMFlzV1VGQldTeEhRVUZITEUxQlFVMHNRMEZCUXl4alFVRmpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRGJrUXNUMEZCVHl4elFrRkJjMElzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0SlFVTTVReXhEUVVGRE8wbEJSVVE3T3pzN096dFBRVTFITzBsQlEwc3NhVUpCUVdsQ0xFTkJRM1pDTEZOQlFXdENMRVZCUTJ4Q0xFTkJRVk1zUlVGRFZDeHBRa0ZCYVVJc1IwRkJSeXhIUVVGSExFVkJRM1pDTEV0QlFVc3NSMEZCUnl4RlFVRkZMRVZCUTFZc1UwRkJVeXhIUVVGSExFZEJRVWM3VVVGRlppeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXp0UlFVTjJSQ3hOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU14UXl4TlFVRk5MRTFCUVUwc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVVM1F5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVONlF5eEpRVUZKTEVWQlFVVXNSMEZCUnl4SFFVRkhMRU5CUVVNN1dVRkRZaXhKUVVGSkxFVkJRVVVzUjBGQlJ5eFJRVUZSTEVOQlFVTTdXVUZEYkVJc1NVRkJTU3hIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETzFsQlJXUXNOa1JCUVRaRU8xbEJRemRFTEUxQlFVMHNXVUZCV1N4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5zUXl4TlFVRk5MRmxCUVZrc1IwRkJSeXhaUVVGWkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZGZWtRc1NVRkJTU3haUVVGWkxFTkJRVU1zVFVGQlRTeEpRVUZKTEdsQ1FVRnBRaXhGUVVGRk8yZENRVU0xUXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03WjBKQlF6VkRMRTFCUVUwc1lVRkJZU3hIUVVGSExHbENRVUZwUWl4SFFVRkhMRXRCUVVzc1EwRkJRenRuUWtGRGFFUXNTVUZCU1N4TFFVRkxMRWRCUVVjc1EwRkJReXhGUVVGRk8yOUNRVU5pTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhaUVVGWkxFTkJRVU1zUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVOcVF5eEpRVUZKTEdGQlFXRXNSMEZCUnl4clFrRkJhMElzUlVGQlJUdDNRa0ZEZEVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6czBRa0ZEU2l4aFFVRmhMRWRCUVVjc1EwRkJReXhaUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NXVUZCV1N4RFFVRkRMRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzNGQ1FVTnVSVHRwUWtGRFJqdHhRa0ZCVFR0dlFrRkRUQ3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NZVUZCWVN4SFFVRkhMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dHBRa0ZETVVNN1lVRkRSanRwUWtGQlRTeEpRVUZKTEZsQlFWa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhGUVVGRk8yZENRVU5zUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRoUVVOc1F6dFpRVVZFTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1owSkJRemxDTEVsQlFVa3NTVUZCU1N4SFFVRkhMRWRCUVVjc1EwRkJRenRuUWtGRFppeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdHZRa0ZETlVNc1RVRkJUU3hEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkRia01zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXp0M1FrRkRVQ3hKUVVGSkxFbEJRVWtzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdPM2RDUVVVM1FpeEpRVUZKTEVsQlFVa3NSMEZCUnl4RFFVRkRPMmxDUVVObU8yZENRVVZFTEVsQlFVa3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFZEJRVWNzVFVGQlRTeERRVUZETEVkQlFVY3NhMEpCUVd0Q08yOUNRVU01UXl4TlFVRk5PMmRDUVVkU0xFbEJRVWtzU1VGQlNTeEhRVUZITEUxQlFVMHNSVUZCUlR0dlFrRkRha0lzUlVGQlJTeEhRVUZITEVkQlFVY3NRMEZCUXp0dlFrRkRWQ3hIUVVGSExFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRE8ybENRVU4yUWp0eFFrRkJUVHR2UWtGRFRDeEZRVUZGTEVkQlFVY3NSMEZCUnl4RFFVRkRPMjlDUVVOVUxFbEJRVWtzUlVGQlJTeExRVUZMTEZGQlFWRTdkMEpCUTJwQ0xFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTTdPM2RDUVVWVUxFZEJRVWNzUjBGQlJ5eERRVUZETEVWQlFVVXNSMEZCUnl4RlFVRkZMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU03YVVKQlEzcENPMkZCUTBZN1dVRkZSQ3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRPMWxCUldoQ0xEWkVRVUUyUkR0WlFVTTNSQ3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRVZCUVVVN1owSkJRMmhDTEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRuUWtGRGJFUXNTVUZCU1N4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzWjBKQlFXZENMRWRCUVVjc1owSkJRV2RDTzI5Q1FVTnFSQ3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NaMEpCUVdkQ0xFZEJRVWNzWjBKQlFXZENMRU5CUVVNN1lVRkRia1E3YVVKQlFVMDdaMEpCUTB3c1RVRkJUU3hoUVVGaExFZEJRVWNzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVNMVJDeEpRVUZKTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhuUWtGQlowSXNSMEZCUnl4aFFVRmhPMjlDUVVNNVF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1owSkJRV2RDTEVkQlFVY3NZVUZCWVN4RFFVRkRPMkZCUTJoRU8xTkJRMFk3VVVGRlJDeFBRVUZQTEVWQlFVTXNUVUZCVFN4RlFVRkZMRTFCUVUwc1JVRkJSU3hKUVVGSkxFVkJRVVVzUjBGQlJ5eEZRVUZETEVOQlFVTTdTVUZEY2tNc1EwRkJRenRKUVVWRU96czdPenRQUVV0SE8wbEJRMHNzTUVKQlFUQkNMRU5CUTJoRExGVkJRVzFDTEVWQlEyNUNMRmxCUVhGQ0xFVkJRM0pDTEUxQlFXZENMRVZCUTJoQ0xFbEJRV003VVVGRlpDeE5RVUZOTEZGQlFWRXNSMEZCUnl4VlFVRlZMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJRMjVETEUxQlFVMHNWVUZCVlN4SFFVRkhMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZGZUVNc1RVRkJUU3hKUVVGSkxFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRWRCUVVjc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRGFFUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVkQlFVY3NWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkRhRVFzVFVGQlRTeEpRVUZKTEVkQlFVY3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFZEJRVWNzVlVGQlZTeERRVUZETEVOQlFVTTdVVUZGYUVRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRkZCUVZFc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU5xUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NWVUZCVlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8yZENRVU51UXl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03WjBKQlExb3NTVUZCU1N4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMjlDUVVONlFpeFRRVUZUTEVOQlFVTXNiVU5CUVcxRE8yZENRVVV2UXl4SlFVRkpMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRPMjlDUVVONFFpeEhRVUZITEVkQlFVY3NSMEZCUnl4RFFVRkRPM0ZDUVVOUUxFbEJRVWtzV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4SFFVRkhPMjlDUVVNeFF5eEhRVUZITEVkQlFVY3NSMEZCUnl4RFFVRkRPenR2UWtGRlZpeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkhhRVVzU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4VlFVRlZMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzJkQ1FVTTNRaXhKUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZITEZWQlFWVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRelZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRWRCUVVjc1ZVRkJWU3hIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXp0aFFVTm9RenRUUVVOR08xRkJSVVFzVDBGQlR5eEZRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hGUVVGRExFTkJRVU03U1VGRE5VSXNRMEZCUXp0SlFVVkVPenM3T3p0UFFVdEhPMGxCUTBzc1owTkJRV2RETzFGQlEzUkRMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0UlFVVnNReXhOUVVGTkxFVkJRVU1zVjBGQlZ5eEZRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUXpOQ0xFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03VVVGRE0wTXNTVUZCU1N4UlFVRlJMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRMnBDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFhRVUZYTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRek5ETEUxQlFVMHNTMEZCU3l4SFFVRkhMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU0zUWl4SlFVRkpMRkZCUVZFc1IwRkJSeXhYUVVGWExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTXpRaXhSUVVGUkxFZEJRVWNzUzBGQlN5eERRVUZETzFOQlEzQkNPMUZCUlVRc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzUlVGQlJUdFpRVU55UXl4SlFVRkpMRXRCUVVzc1IwRkJSeXhSUVVGUkxFZEJRVWNzVDBGQlR6dG5Ra0ZETlVJc1QwRkJUeXhEUVVGRExFTkJRVU03TzJkQ1FVVlVMRTlCUVU4c1MwRkJTeXhEUVVGRE8xRkJRMnBDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUlVnc2VVVkJRWGxGTzFGQlEzcEZMR2xGUVVGcFJUdFJRVU5xUlN4WFFVRlhPMUZCUTFnc1NVRkJTU3hEUVVGRExGTkJRVk1zUjBGQlJ5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZPMWxCUTJwRUxFOUJRVThzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTzJkQ1FVTjJReXhQUVVGUExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMSGRDUVVGM1FqdFpRVU40UlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOTUxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJVZ3NiVU5CUVcxRE8xRkJRMjVETEUxQlFVMHNUMEZCVHl4SFFVRmhMRVZCUVVVc1EwRkJRenRSUVVNM1FpeE5RVUZOTEVsQlFVa3NSMEZCWVN4RlFVRkZMRU5CUVVNN1VVRkRNVUlzVFVGQlRTeEpRVUZKTEVkQlFXRXNSVUZCUlN4RFFVRkRPMUZCUXpGQ0xFMUJRVTBzV1VGQldTeEhRVUZITEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRSUVVOd1F5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzV1VGQldTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVNMVF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE9VSXNTVUZCU1N4TFFVRkxMRU5CUVVNc1MwRkJTeXhGUVVGRk8yZENRVU5tTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzJkQ1FVTXhRaXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRGNrSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdZVUZEZEVJN1UwRkRSanRSUVVORUxFMUJRVTBzWlVGQlpTeEhRVUZITEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eFBRVUZQTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkZia1VzVDBGQlR5eEZRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1pVRkJaU3hGUVVGRExFTkJRVU03U1VGRGRrTXNRMEZCUXp0SlFVVkVPenM3VDBGSFJ6dEpRVU5MTEcxQ1FVRnRRaXhEUVVGRExFOUJRV2xDTEVWQlFVVXNUMEZCWlR0UlFVTTFSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTnNSQ3hOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJReTlDTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTNwRUxGRkJRVkVzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRGVFSXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJRenRuUWtGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1QwRkJUeXhIUVVGSExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTXZReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5JTEU5QlFVOHNUVUZCVFN4RFFVRkRPMGxCUTJoQ0xFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTkxMR2xEUVVGcFF5eERRVUZETEV0QlFXbERPMUZCUTNwRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMGxCUXk5RExFTkJRVU03U1VGRlJEczdPMDlCUjBjN1NVRkRTeXd3UWtGQk1FSTdVVUZEYUVNc2EwSkJRV3RDTzFGQlEyeENMRTFCUVUwc1JVRkJReXhwUWtGQmFVSXNSVUZCUlN4WlFVRlpMRVZCUVVVc2EwSkJRV3RDTEVWQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkZia1VzVFVGQlRTeEZRVU5LTEdWQlFXVXNSVUZEWml4aFFVRmhMRVZCUTJJc1lVRkJZU3hIUVVOa0xFZEJRVWNzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRE8xRkJSVE5DTEUxQlFVMHNSMEZCUnl4SFFVRkhMR0ZCUVdFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZEY0VNc1RVRkJUU3hUUVVGVExFZEJRVWNzWVVGQllTeERRVUZETEUxQlFVMHNTMEZCU3l4aFFVRmhMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJSV2hGTEUxQlFVMHNkVUpCUVhWQ0xFZEJRVWNzWlVGQlpTeERRVUZETEVkQlFVY3NRMEZEYWtRc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNSMEZCUnl4clFrRkJhMElzUTBGRE9VSXNRMEZCUXp0UlFVTkdMRTFCUVUwc2VVSkJRWGxDTEVkQlFVY3NRMEZCUXl4SFFVRkhMSFZDUVVGMVFpeERRVUZETEVOQlFVTTdVVUZETDBRc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4RFFVRkRMRWRCUVVjc1pVRkJaU3hEUVVGRExFTkJRVU03VVVGRkwwTXNTVUZCU1N4RFFVRkRMR2xEUVVGcFF5eERRVUZETzFsQlEzSkRMR2xDUVVGcFFqdFpRVU5xUWl4NVFrRkJlVUk3V1VGRGVrSXNkVUpCUVhWQ08xbEJRM1pDTEZOQlFWTTdXVUZEVkN4WlFVRlpMRVZCUVVVc1dVRkJXVHRaUVVNeFFpeExRVUZMTEVWQlFVVXNXVUZCV1R0WlFVTnVRaXhMUVVGTExFVkJRVVVzYVVKQlFXbENPMWxCUTNoQ0xFZEJRVWM3VTBGRFNpeERRVUZETEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFN5eHpRa0ZCYzBJN1VVRkROVUlzYTBKQlFXdENPMUZCUTJ4Q0xFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNN1VVRkRja01zVFVGQlRTeGhRVUZoTEVkQlFVY3NTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJRenRSUVVWeVF5eHZSRUZCYjBRN1VVRkRjRVFzVFVGQlRTeEZRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1pVRkJaU3hGUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRE8xRkJSVGRFTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWxCUVVrc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFJRVU5zUXl4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXp0UlFVVnVReXhOUVVGTkxFVkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUXl4SFFVRkhMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVWMlJDeEpRVUZKTEVOQlFVTXNhVU5CUVdsRExFTkJRVU03V1VGRGNrTXNZVUZCWVR0WlFVTmlMR0ZCUVdFN1dVRkRZaXhKUVVGSk8xbEJRMG9zU1VGQlNUdFpRVU5LTEdWQlFXVTdXVUZEWml4RFFVRkRPMWxCUTBRc1EwRkJRenRaUVVORUxFOUJRVTg3V1VGRFVDeFRRVUZUTzFOQlExWXNRMEZCUXl4RFFVRkRPMGxCUTB3c1EwRkJRenRKUVVWRU96czdPenM3VDBGTlJ6dEpRVU5MTEd0Q1FVRnJRaXhEUVVGRExFTkJRVk03VVVGRGJFTXNUVUZCVFN4RlFVRkRMR2xDUVVGcFFpeEZRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUTJwRExFMUJRVTBzUlVGRFNpeEpRVUZKTEVWQlEwb3NTVUZCU1N4RlFVTktMR0ZCUVdFc1JVRkRZaXhoUVVGaExFVkJRMklzWlVGQlpTeEZRVU5tTEdsQ1FVRnBRaXhGUVVOcVFpeDVRa0ZCZVVJc1JVRkRla0lzZFVKQlFYVkNMRVZCUTNaQ0xGTkJRVk1zUlVGRFZDeFpRVUZaTEVWQlExb3NTMEZCU3l4RlFVTk1MRXRCUVVzc1JVRkRUQ3hEUVVGRExFVkJRMFFzUTBGQlF5eEZRVU5FTEVkQlFVY3NSVUZEU0N4UFFVRlBMRVZCUTFBc1UwRkJVeXhIUVVOV0xFZEJRVWNzYVVKQlFXbENMRU5CUVVNN1VVRkZkRUlzVFVGQlRTeFRRVUZUTEVkQlFVY3NSMEZCUnl4RFFVRkRPMUZCUlhSQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhsUVVGbExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXk5RExFbEJRVWtzYVVKQlFXbENMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dG5Ra0ZETVVJc1UwRkJVenRaUVVkWUxFMUJRVTBzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOc1FpeE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRmJFSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1lVRkJZU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEycERMRTFCUVUwc1MwRkJTeXhIUVVGSExHRkJRV0VzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVVXZRaXhOUVVGTkxGZEJRVmNzUjBGQlJ5eExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8xbEJSVEZETEVsQlFVa3NVMEZCVXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOc1FpeEpRVUZKTEZkQlFWY3NSMEZCUnl4RFFVRkRMRVZCUVVVN1owSkJRMjVDTEZOQlFWTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXp0blFrRkRNVVFzVTBGQlV5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNN1lVRkRha1E3V1VGRlJDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMmRDUVVNMVFpeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1UwRkJVeXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEZOQlFWTXNRMEZCUXl4RFFVRkRPMmRDUVVOdVJTeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF6dG5Ra0ZETlVJc1NVRkJTU3hUUVVGVE8yOUNRVU5ZTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdZVUZET1VJN1dVRkZSQ3hwUWtGQmFVSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hsUVVGbExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZGTTBNc1RVRkJUU3hYUVVGWExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZETlVJc1EwRkJReXhEUVVGRExFZEJRVWNzZVVKQlFYbENMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eDFRa0ZCZFVJc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGRGFFVXNRMEZCUXp0WlFVVkdMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4WFFVRlhMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3WjBKQlEzQkRMRTFCUVUwc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNVMEZCVXl4RlFVRkZMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dG5Ra0ZEYmtRc1RVRkJUU3hMUVVGTExFZEJRVWNzWVVGQllTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVVdlFpeE5RVUZOTEZkQlFWY3NSMEZCUnl4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzJkQ1FVVXhReXhKUVVGSkxGTkJRVk1zUjBGQlJ5eEhRVUZITEVOQlFVTTdaMEpCUTNCQ0xFbEJRVWtzVjBGQlZ5eEhRVUZITEVkQlFVY3NSVUZCUlR0dlFrRkRja0lzVTBGQlV5eEhRVUZITEVkQlFVY3NSMEZCUnl4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRE8yOUNRVU0xUWl4VFFVRlRPM2RDUVVOUUxFTkJRVU1zUzBGQlN5eEhRVUZITEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzJsQ1FVTTVSRHR4UWtGQlRTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVN2IwSkJRMnhDTEZOQlFWTTdhVUpCUTFZN1owSkJSVVFzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0dlFrRkROVUlzU1VGQlNTeExRVUZMTEVkQlFVY3NSMEZCUnl4RFFVRkRPMjlDUVVOb1FpeEpRVUZKTEZOQlFWTXNSMEZCUnl4SFFVRkhPM2RDUVVOcVFpeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRk5CUVZNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXp0dlFrRkZMMFFzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU03YVVKQlF6ZENPMkZCUTBZN1dVRkRSQ3g1UWtGQmVVSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hYUVVGWExFZEJRVWNzZFVKQlFYVkNMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VTBGRE1VVTdVVUZEUkN4cFFrRkJhVUlzUTBGQlF5eExRVUZMTEVkQlFVY3NXVUZCV1N4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVVTNSQ3hwUWtGQmFVSXNRMEZCUXl4WlFVRlpMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM0JETEU5QlFVOHNZVUZCWVN4RFFVRkRPMGxCUTNaQ0xFTkJRVU03U1VGRlJEczdPenM3TzA5QlRVYzdTVUZEU3l4dFFrRkJiVUlzUTBGRGVrSXNaMEpCUVhsRUxFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVazdVVUZGYmtVc1QwRkJUeXhKUVVGSkxFOUJRVThzUTBGQlF5eERRVUZETEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVVc1JVRkJSVHRaUVVOeVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4TFFVRkxMRWxCUVVrc1JVRkJSVHRuUWtGRGRFSXNTVUZCU1R0dlFrRkRSaXhOUVVGTkxFVkJRVU1zVDBGQlR5eEZRVUZGTEZsQlFWa3NSVUZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXp0dlFrRkRka1FzU1VGQlNTeERRVUZETEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN2IwSkJRM1pFTEUxQlFVMHNZMEZCWXl4SFFVRkhMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4WlFVRlpMRU5CUVVNN2IwSkJRek5FTEUxQlFVMHNWVUZCVlN4SFFVRkhMR0ZCUVdFc1EwRkJReXhqUVVGakxFTkJRVU1zUzBGQlN5eExRVUZMTEVOQlFVTTdiMEpCUXpORUxFMUJRVTBzVlVGQlZTeEhRVUZITEdOQlFXTXNTMEZCU3l4UFFVRlBMRU5CUVVNN2IwSkJRemxETEVsQlFVa3NRMEZCUXl4VlFVRlZMRWxCUVVrc1EwRkJReXhWUVVGVk8zZENRVU0xUWl4VlFVRlZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN08zZENRVVUxUWl4UFFVRlBMRTlCUVU4c1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dHBRa0ZET1VJN1owSkJRVU1zVDBGQlR5eEhRVUZITEVWQlFVVTdiMEpCUTFvc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzJsQ1FVTmlPMWxCUTBnc1EwRkJReXhEUVVGRE8xbEJRMFlzVlVGQlZTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6bENMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMHdzUTBGQlF6dEpRVVZFT3pzN096czdUMEZOUnp0SlFVTkxMR05CUVdNc1EwRkRjRUlzWjBKQlFYbEVMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWs3VVVGRmJrVXNTVUZCU1N4VlFVRlZMRWRCUVVjc1MwRkJTeXhEUVVGRE8xRkJRM1pDTEVsQlFVa3NVMEZCVXl4SFFVRlpMRVZCUVVVc1EwRkJRenRSUVVNMVFpeFBRVUZQTEVOQlFVTXNWVUZCVlN4RlFVRkZPMWxCUTJ4Q0xFMUJRVTBzUlVGQlF5eFBRVUZQTEVWQlFVVXNXVUZCV1N4RlFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRPMWxCUTNaRUxGTkJRVk1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdXVUZEYkVRc1RVRkJUU3hqUVVGakxFZEJRVWNzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExGbEJRVmtzUTBGQlF6dFpRVU16UkN4TlFVRk5MRlZCUVZVc1IwRkJSeXhoUVVGaExFTkJRVU1zWTBGQll5eERRVUZETEV0QlFVc3NTMEZCU3l4RFFVRkRPMWxCUXpORUxGVkJRVlVzUjBGQlJ5eGpRVUZqTEV0QlFVc3NUMEZCVHl4SlFVRkpMRlZCUVZVc1EwRkJRenRUUVVOMlJEdFJRVU5FTEU5QlFVOHNVMEZCVXl4RFFVRkRPMGxCUTI1Q0xFTkJRVU03U1VGRlJEczdPMDlCUjBjN1NVRkRTU3hWUVVGVk8xRkJRMllzVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJRenRSUVVWNlFpeEpRVUZKTEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1EwRkJRenRaUVVOc1FpeFBRVUZQTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNN1VVRkhkRUlzU1VGQlNTeERRVUZETEV0QlFVczdXVUZEVWl4UFFVRlBMRWRCUVVjc1EwRkJRenRSUVVkaUxFMUJRVTBzVFVGQlRTeEhRVUZITEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNN1VVRkRNMElzU1VGQlNTeE5RVUZOTEVsQlFVa3NTVUZCU1R0WlFVTm9RaXhQUVVGUExFZEJRVWNzUTBGQlF6dGhRVU5TTEVsQlFVa3NUVUZCVFN4SlFVRkpMRWxCUVVrN1dVRkRja0lzVDBGQlR5eEhRVUZITEVOQlFVTTdZVUZEVWl4SlFVRkpMRTFCUVUwc1NVRkJTU3hKUVVGSk8xbEJRM0pDTEU5QlFVOHNSMEZCUnl4RFFVRkRPenRaUVVWWUxFOUJRVThzUjBGQlJ5eERRVUZETzBsQlEyWXNRMEZCUXp0RFFVTkdPMEZCUlVRc1RVRkJUU3hWUVVGVkxGTkJRVk1zUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXp0SlFVTTFReXhKUVVGSkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEWml4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVU3VVVGREwwSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVVV2UWl4UFFVRlBMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdRVUZETTBJc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeFBRVUZQTEVOQlFVTXNRMEZCVXl4RlFVRkZMRU5CUVZNN1NVRkRNVU1zVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZETDBJc1QwRkJUeXhOUVVGTkxFTkJRVU03UVVGRGFFSXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hOUVVGTkxFTkJRVU1zUTBGQlV5eEZRVUZGTEVOQlFWTTdTVUZEZWtNc1NVRkJTU3hOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlEycENMRWxCUVVrc1MwRkJTeXhIUVVGSExFZEJRVWNzUTBGQlF6dEpRVU5vUWl4SlFVRkpMRXRCUVVzc1IwRkJSeXhIUVVGSExFTkJRVU03U1VGRmFFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGFrTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRkRUlzUzBGQlN5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRGJrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTMEZEY0VJN1NVRkZSQ3hKUVVGSkxFdEJRVXNzUzBGQlN5eERRVUZETEVsQlFVa3NTMEZCU3l4TFFVRkxMRU5CUVVNN1VVRkROVUlzVDBGQlR5eERRVUZETEVOQlFVTTdVMEZEVGl4SlFVRkpMRXRCUVVzc1MwRkJTeXhEUVVGRExFbEJRVWtzUzBGQlN5eExRVUZMTEVOQlFVTTdVVUZEYWtNc1QwRkJUeXhIUVVGSExFTkJRVU03TzFGQlJWZ3NUMEZCVHl4SFFVRkhMRWRCUVVjc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRMjVFTEVOQlFVTTdRVUZGUkRzN08wZEJSMGM3UVVGRFNDeE5RVUZOTEdsQ1FVRnBRanRKUVVOeVFpeFpRVUZaTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUldwQ0xEQkRRVUV3UXp0SlFVTXhReXhoUVVGaExFZEJRV1VzUlVGQlJTeERRVUZETzBsQlF5OUNMR0ZCUVdFc1IwRkJaU3hGUVVGRkxFTkJRVU03U1VGREwwSXNTVUZCU1N4SFFVRmhMRVZCUVVVc1EwRkJRenRKUVVOd1FpeEpRVUZKTEVkQlFXRXNSVUZCUlN4RFFVRkRPMGxCUTNCQ0xHVkJRV1VzUjBGQllTeEZRVUZGTEVOQlFVTTdTVUZETDBJc2FVSkJRV2xDTEVkQlFXRXNSVUZCUlN4RFFVRkRPMGxCUTJwRExIbENRVUY1UWl4SFFVRmhMRVZCUVVVc1EwRkJRenRKUVVONlF5eDFRa0ZCZFVJc1IwRkJZU3hGUVVGRkxFTkJRVU03U1VGRGRrTXNVMEZCVXl4SFFVRkhMRWxCUVVrc1EwRkJRenRKUVVOcVFpeFpRVUZaTEVkQlFVY3NSMEZCUnl4RFFVRkRPMGxCUTI1Q0xFdEJRVXNzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZEV2l4TFFVRkxMRWRCUVVjc1IwRkJSeXhEUVVGRE8wbEJRMW9zUTBGQlF5eEhRVUZITEd0Q1FVRnJRaXhEUVVGRE8wbEJRM1pDTEVOQlFVTXNSMEZCUnl4clFrRkJhMElzUTBGQlF6dEpRVU4yUWl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMUlzVDBGQlR5eEhRVUZITEVkQlFVY3NRMEZCUXp0SlFVTmtMRk5CUVZNc1IwRkJSeXhEUVVGRExFTkJRVU03UTBGRFpqdEJRVVZFT3p0SFFVVkhPMEZCUTBnc1UwRkJVeXhKUVVGSkxFTkJRVU1zUTBGQlV5eEZRVUZGTEZOQlFXbENPMGxCUTNoRExFbEJRVWtzUTBGQlF5eEhRVUZITEZOQlFWTTdVVUZCUlN4UFFVRlBMRk5CUVZNc1EwRkJRenRUUVVNdlFpeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRk5CUVZNN1VVRkJSU3hQUVVGUExFTkJRVU1zVTBGQlV5eERRVUZET3p0UlFVTjBReXhQUVVGUExFTkJRVU1zUTBGQlF6dEJRVU5vUWl4RFFVRkRPMEZCUlVRN08wZEJSVWM3UVVGRFNDeFRRVUZUTEV0QlFVc3NRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVOeVF5eEpRVUZKTEUxQlFVMHNSMEZCUnl4SFFVRkhMRU5CUVVNN1NVRkRha0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZPMUZCUXk5Q0xFMUJRVTBzU1VGQlNTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRmNrTXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFT3pzN096dEhRVXRITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRmxCUVZrc1EwRkJReXhOUVVGakxFVkJRVVVzVDBGQlpUdEpRVU14UkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCVnl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVk1zUlVGQlJTeEZRVUZGTzFGQlEyaEVMRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjRReXhEUVVGRExFTkJRVU03U1VGRlJpeE5RVUZOTEVWQlFVVXNSMEZCUnl4TFFVRkxPMU5CUTJJc1RVRkJUU3hEUVVGRExFTkJRVU1zUlVGQlJTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJRenRUUVVNeFFpeEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlRkRExFMUJRVTBzUlVGQlJTeEhRVUZITEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hMUVVGTExFVkJRVVVzUlVGQlJUdFJRVU51UkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhGUVVGRkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NUMEZCVHl4RFFVRkRPMUZCUTJwRExFOUJRVThzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJRenRKUVVNdlJDeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVVklMRTFCUVUwc1lVRkJZU3hIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTJwRExFMUJRVTBzU1VGQlNTeEhRVUZITEVWQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeEZRVUZETEVOQlFVTTdTVUZGTlVJc01FUkJRVEJFTzBsQlF6RkVMRTFCUVUwc1QwRkJUeXhIUVVGSE8xRkJRMlFzVDBGQlR5eEZRVUZGTEVkQlFVYzdVVUZEV2l4aFFVRmhPMUZCUTJJc2EwSkJRV3RDTEVWQlFVVXNTMEZCU3p0UlFVTjZRaXhoUVVGaExFVkJRVVVzUjBGQlJ6dFJRVU5zUWl4alFVRmpMRVZCUVVVc1MwRkJTenRMUVVOMFFpeERRVUZETzBsQlJVWXNiVU5CUVcxRE8wbEJRMjVETEUxQlFVMHNSVUZCUXl4bFFVRmxMRVZCUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkJRenRKUVVOdVJDeE5RVUZOTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVGSExHVkJRVEpDTEVOQlFVTTdTVUZETTBNc1QwRkJUeXhGUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVTXNRMEZCUXp0QlFVTm9RaXhEUVVGRE8wRkJSVVE3T3p0SFFVZEhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHZENRVUZuUWl4RFFVTTVRaXhMUVVFd1FpeEZRVU14UWl4TlFVRm5RaXhGUVVOb1FpeFhRVUZYTEVkQlFVY3NSMEZCUnl4RlFVTnFRaXhQUVVGUExFZEJRVWNzUjBGQlJ6dEpRVVZpTEU5QlFVOHNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkZMRVZCUVVVN1VVRkRia01zU1VGQlNTeE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFbEJRVWtzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVNeFF5eFBRVUZQTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTTdZVUZEYmtNc1NVRkJTU3hOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJRenRaUVVOc1F5eFBRVUZQTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdPMWxCUld4RExFOUJRVThzUzBGQlN5eERRVUZETzBsQlEycENMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRMHdzUTBGQlF6dEJRVVZFT3pzN096dEhRVXRITzBGQlEwZ3NUVUZCVFN4VlFVRlZMSE5DUVVGelFpeERRVUZETEdGQlFXdERPMGxCUTNaRkxHRkJRV0VzUjBGQlJ5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RFFVRkRMR0ZCUVdFc2EwTkJRWE5DTEVOQlFVTTdTVUZEY2tVc1RVRkJUU3hUUVVGVExFZEJRVWNzVFVGQlRTeERRVUZETEZOQlFWTXNRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenRKUVVOc1JDeE5RVUZOTEZWQlFWVXNSMEZCUnl4TlFVRk5MRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNVMEZCVXl4RlFVRkZMR0ZCUVdFc1EwRkJReXhEUVVGRE8wbEJRM0pGTEdGQlFXRXNSMEZCUnl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVONFFpeGhRVUZoTEVWQlEySXNUVUZCVFN4RFFVRkRMRkZCUVZFc1EwRkJReXhUUVVGVExFVkJRVVVzVlVGQlZTeERRVUZETEVOQlEzWkRMRU5CUVVNN1NVRkRSaXhQUVVGUExFMUJRVTBzUTBGQlF5eGpRVUZqTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNN1FVRkRPVU1zUTBGQlF6dEJRVVZFT3pzN08wZEJTVWM3UVVGRFNDeE5RVUZOTEZWQlFWVXNZVUZCWVN4RFFVTXpRaXhQUVVGdFFpeEZRVU51UWl4UFFVRnRRaXhGUVVOdVFpeFRRVUZyUWp0SlFVVnNRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eExRVUZMTzFOQlEycENMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETzFOQlEzSkNMRWRCUVVjc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVWcVJDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVOMlF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU14UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkROVU1zVFVGQlRTeERRVUZETEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTjRRaXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTnFSRHRUUVVOR08wdEJRMFk3U1VGRFJDeFBRVUZQTEUxQlFVMHNRMEZCUXp0QlFVTm9RaXhEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9nWlhOc2FXNTBMV1JwYzJGaWJHVWdiV0Y0TFd4bGJpQXFMMXh1THlvcVhHNGdLaUJBYkdsalpXNXpaVnh1SUNwY2JpQXFJRU52Y0hseWFXZG9kQ0F5TURFNUlFZHZiMmRzWlNCTVRFTXVJRUZzYkNCU2FXZG9kSE1nVW1WelpYSjJaV1F1WEc0Z0tseHVJQ29nVEdsalpXNXpaV1FnZFc1a1pYSWdkR2hsSUVGd1lXTm9aU0JNYVdObGJuTmxMQ0JXWlhKemFXOXVJREl1TUNBb2RHaGxJRndpVEdsalpXNXpaVndpS1R0Y2JpQXFJSGx2ZFNCdFlYa2dibTkwSUhWelpTQjBhR2x6SUdacGJHVWdaWGhqWlhCMElHbHVJR052YlhCc2FXRnVZMlVnZDJsMGFDQjBhR1VnVEdsalpXNXpaUzVjYmlBcUlGbHZkU0J0WVhrZ2IySjBZV2x1SUdFZ1kyOXdlU0J2WmlCMGFHVWdUR2xqWlc1elpTQmhkRnh1SUNwY2JpQXFJQ0FnSUNCb2RIUndPaTh2ZDNkM0xtRndZV05vWlM1dmNtY3ZiR2xqWlc1elpYTXZURWxEUlU1VFJTMHlMakJjYmlBcVhHNGdLaUJWYm14bGMzTWdjbVZ4ZFdseVpXUWdZbmtnWVhCd2JHbGpZV0pzWlNCc1lYY2diM0lnWVdkeVpXVmtJSFJ2SUdsdUlIZHlhWFJwYm1jc0lITnZablIzWVhKbFhHNGdLaUJrYVhOMGNtbGlkWFJsWkNCMWJtUmxjaUIwYUdVZ1RHbGpaVzV6WlNCcGN5QmthWE4wY21saWRYUmxaQ0J2YmlCaGJpQmNJa0ZUSUVsVFhDSWdRa0ZUU1ZNc1hHNGdLaUJYU1ZSSVQxVlVJRmRCVWxKQlRsUkpSVk1nVDFJZ1EwOU9SRWxVU1U5T1V5QlBSaUJCVGxrZ1MwbE9SQ3dnWldsMGFHVnlJR1Y0Y0hKbGMzTWdiM0lnYVcxd2JHbGxaQzVjYmlBcUlGTmxaU0IwYUdVZ1RHbGpaVzV6WlNCbWIzSWdkR2hsSUhOd1pXTnBabWxqSUd4aGJtZDFZV2RsSUdkdmRtVnlibWx1WnlCd1pYSnRhWE56YVc5dWN5QmhibVJjYmlBcUlHeHBiV2wwWVhScGIyNXpJSFZ1WkdWeUlIUm9aU0JNYVdObGJuTmxMbHh1SUNvZ1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0Z0tpOWNibHh1THlvcVhHNGdLaUJVYUdseklHbHpJR0VnU21GMllWTmpjbWx3ZENCeVpXbHRjR3hsYldWdWRHRjBhVzl1SUc5bUlGVk5RVkFnS0c5eWFXZHBibUZzSUd4cFkyVnVjMlVnWW1Wc2IzY3BMQ0JtY205dFhHNGdLaUIwYUdVZ2NIbDBhRzl1SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR1p2ZFc1a0lHRjBJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzlzYldOcGJtNWxjeTkxYldGd0xseHVJQ3BjYmlBcUlFQmhkWFJvYjNJZ1lXNWtlV052Wlc1bGJrQm5iMjluYkdVdVkyOXRJQ2hCYm1SNUlFTnZaVzVsYmlsY2JpQXFMMXh1WEc0dktpcGNiaUFxSUVCc2FXTmxibk5sWEc0Z0tpQkNVMFFnTXkxRGJHRjFjMlVnVEdsalpXNXpaVnh1SUNwY2JpQXFJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhOeXdnVEdWc1lXNWtJRTFqU1c1dVpYTmNiaUFxSUVGc2JDQnlhV2RvZEhNZ2NtVnpaWEoyWldRdVhHNGdLbHh1SUNvZ1VtVmthWE4wY21saWRYUnBiMjRnWVc1a0lIVnpaU0JwYmlCemIzVnlZMlVnWVc1a0lHSnBibUZ5ZVNCbWIzSnRjeXdnZDJsMGFDQnZjaUIzYVhSb2IzVjBYRzRnS2lCdGIyUnBabWxqWVhScGIyNHNJR0Z5WlNCd1pYSnRhWFIwWldRZ2NISnZkbWxrWldRZ2RHaGhkQ0IwYUdVZ1ptOXNiRzkzYVc1bklHTnZibVJwZEdsdmJuTWdZWEpsSUcxbGREcGNiaUFxWEc0Z0tpQXFJRkpsWkdsemRISnBZblYwYVc5dWN5QnZaaUJ6YjNWeVkyVWdZMjlrWlNCdGRYTjBJSEpsZEdGcGJpQjBhR1VnWVdKdmRtVWdZMjl3ZVhKcFoyaDBJRzV2ZEdsalpTd2dkR2hwYzF4dUlDb2dJQ0JzYVhOMElHOW1JR052Ym1ScGRHbHZibk1nWVc1a0lIUm9aU0JtYjJ4c2IzZHBibWNnWkdselkyeGhhVzFsY2k1Y2JpQXFYRzRnS2lBcUlGSmxaR2x6ZEhKcFluVjBhVzl1Y3lCcGJpQmlhVzVoY25rZ1ptOXliU0J0ZFhOMElISmxjSEp2WkhWalpTQjBhR1VnWVdKdmRtVWdZMjl3ZVhKcFoyaDBJRzV2ZEdsalpTeGNiaUFxSUNBZ2RHaHBjeUJzYVhOMElHOW1JR052Ym1ScGRHbHZibk1nWVc1a0lIUm9aU0JtYjJ4c2IzZHBibWNnWkdselkyeGhhVzFsY2lCcGJpQjBhR1VnWkc5amRXMWxiblJoZEdsdmJseHVJQ29nSUNCaGJtUXZiM0lnYjNSb1pYSWdiV0YwWlhKcFlXeHpJSEJ5YjNacFpHVmtJSGRwZEdnZ2RHaGxJR1JwYzNSeWFXSjFkR2x2Ymk1Y2JpQXFYRzRnS2lBcUlFNWxhWFJvWlhJZ2RHaGxJRzVoYldVZ2IyWWdkR2hsSUdOdmNIbHlhV2RvZENCb2IyeGtaWElnYm05eUlIUm9aU0J1WVcxbGN5QnZaaUJwZEhOY2JpQXFJQ0FnWTI5dWRISnBZblYwYjNKeklHMWhlU0JpWlNCMWMyVmtJSFJ2SUdWdVpHOXljMlVnYjNJZ2NISnZiVzkwWlNCd2NtOWtkV04wY3lCa1pYSnBkbVZrSUdaeWIyMWNiaUFxSUNBZ2RHaHBjeUJ6YjJaMGQyRnlaU0IzYVhSb2IzVjBJSE53WldOcFptbGpJSEJ5YVc5eUlIZHlhWFIwWlc0Z2NHVnliV2x6YzJsdmJpNWNiaUFxWEc0Z0tpQlVTRWxUSUZOUFJsUlhRVkpGSUVsVElGQlNUMVpKUkVWRUlFSlpJRlJJUlNCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQlRrUWdRMDlPVkZKSlFsVlVUMUpUSUZ3aVFWTWdTVk5jSWx4dUlDb2dRVTVFSUVGT1dTQkZXRkJTUlZOVElFOVNJRWxOVUV4SlJVUWdWMEZTVWtGT1ZFbEZVeXdnU1U1RFRGVkVTVTVITENCQ1ZWUWdUazlVSUV4SlRVbFVSVVFnVkU4c0lGUklSVnh1SUNvZ1NVMVFURWxGUkNCWFFWSlNRVTVVU1VWVElFOUdJRTFGVWtOSVFVNVVRVUpKVEVsVVdTQkJUa1FnUmtsVVRrVlRVeUJHVDFJZ1FTQlFRVkpVU1VOVlRFRlNJRkJWVWxCUFUwVWdRVkpGWEc0Z0tpQkVTVk5EVEVGSlRVVkVMaUJKVGlCT1R5QkZWa1ZPVkNCVFNFRk1UQ0JVU0VVZ1EwOVFXVkpKUjBoVUlFaFBURVJGVWlCUFVpQkRUMDVVVWtsQ1ZWUlBVbE1nUWtVZ1RFbEJRa3hGWEc0Z0tpQkdUMUlnUVU1WklFUkpVa1ZEVkN3Z1NVNUVTVkpGUTFRc0lFbE9RMGxFUlU1VVFVd3NJRk5RUlVOSlFVd3NJRVZZUlUxUVRFRlNXU3dnVDFJZ1EwOU9VMFZSVlVWT1ZFbEJURnh1SUNvZ1JFRk5RVWRGVXlBb1NVNURURlZFU1U1SExDQkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOHNJRkJTVDBOVlVrVk5SVTVVSUU5R0lGTlZRbE5VU1ZSVlZFVWdSMDlQUkZNZ1QxSmNiaUFxSUZORlVsWkpRMFZUT3lCTVQxTlRJRTlHSUZWVFJTd2dSRUZVUVN3Z1QxSWdVRkpQUmtsVVV6c2dUMUlnUWxWVFNVNUZVMU1nU1U1VVJWSlNWVkJVU1U5T0tTQklUMWRGVmtWU1hHNGdLaUJEUVZWVFJVUWdRVTVFSUU5T0lFRk9XU0JVU0VWUFVsa2dUMFlnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFTlBUbFJTUVVOVUxDQlRWRkpKUTFRZ1RFbEJRa2xNU1ZSWkxGeHVJQ29nVDFJZ1ZFOVNWQ0FvU1U1RFRGVkVTVTVISUU1RlIweEpSMFZPUTBVZ1QxSWdUMVJJUlZKWFNWTkZLU0JCVWtsVFNVNUhJRWxPSUVGT1dTQlhRVmtnVDFWVUlFOUdJRlJJUlNCVlUwVmNiaUFxSUU5R0lGUklTVk1nVTA5R1ZGZEJVa1VzSUVWV1JVNGdTVVlnUVVSV1NWTkZSQ0JQUmlCVVNFVWdVRTlUVTBsQ1NVeEpWRmtnVDBZZ1UxVkRTQ0JFUVUxQlIwVXVYRzRnS2k5Y2JseHVhVzF3YjNKMElDb2dZWE1nYUdWaGNDQm1jbTl0SUNjdUwyaGxZWEFuTzF4dWFXMXdiM0owSUNvZ1lYTWdiV0YwY21sNElHWnliMjBnSnk0dmJXRjBjbWw0Snp0Y2JtbHRjRzl5ZENBcUlHRnpJRzV1UkdWelkyVnVkQ0JtY205dElDY3VMMjV1WDJSbGMyTmxiblFuTzF4dWFXMXdiM0owSUNvZ1lYTWdkSEpsWlNCbWNtOXRJQ2N1TDNSeVpXVW5PMXh1YVcxd2IzSjBJQ29nWVhNZ2RYUnBiSE1nWm5KdmJTQW5MaTkxZEdsc2N5YzdYRzVwYlhCdmNuUWdURTBnWm5KdmJTQW5iV3d0YkdWMlpXNWlaWEpuTFcxaGNuRjFZWEprZENjN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUVScGMzUmhibU5sUm00Z1BTQW9lRG9nYm5WdFltVnlMQ0I1T2lCdWRXMWlaWElwSUQwK0lHNTFiV0psY2p0Y2JtVjRjRzl5ZENCMGVYQmxJRkpoYm1SdmJVWnVJRDBnS0NrZ1BUNGdiblZ0WW1WeU8xeHVaWGh3YjNKMElIUjVjR1VnUlhCdlkyaERZV3hzWW1GamF5QTlJQ2hsY0c5amFEb2diblZ0WW1WeUtTQTlQaUJpYjI5c1pXRnVJSHdnZG05cFpEdGNibVY0Y0c5eWRDQjBlWEJsSUZabFkzUnZjaUE5SUc1MWJXSmxjbHRkTzF4dVpYaHdiM0owSUhSNWNHVWdWbVZqZEc5eWN5QTlJRlpsWTNSdmNsdGRPMXh1Wlhod2IzSjBJR052Ym5OMElHVnVkVzBnVkdGeVoyVjBUV1YwY21saklIdGNiaUFnWTJGMFpXZHZjbWxqWVd3Z1BTQW5ZMkYwWldkdmNtbGpZV3duTEZ4dUlDQnNNU0E5SUNkc01TY3NYRzRnSUd3eUlEMGdKMnd5Snl4Y2JuMWNibHh1WTI5dWMzUWdVMDFQVDFSSVgwdGZWRTlNUlZKQlRrTkZJRDBnTVdVdE5UdGNibU52Ym5OMElFMUpUbDlMWDBSSlUxUmZVME5CVEVVZ1BTQXhaUzB6TzF4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGVk5RVkJRWVhKaGJXVjBaWEp6SUh0Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCa2FYTjBZVzVqWlNCbWRXNWpkR2x2YmlCM2FYUm9JSGRvYVdOb0lIUnZJR0Z6YzJWemN5QnVaV0Z5WlhOMElHNWxhV2RvWW05eWN5d2daR1ZtWVhWc2RITmNiaUFnSUNvZ2RHOGdaWFZqYkdsa1pXRnVJR1JwYzNSaGJtTmxMbHh1SUNBZ0tpOWNiaUFnWkdsemRHRnVZMlZHYmo4NklFUnBjM1JoYm1ObFJtNDdYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdhVzVwZEdsaGJDQnNaV0Z5Ym1sdVp5QnlZWFJsSUdadmNpQjBhR1VnWlcxaVpXUmthVzVuSUc5d2RHbHRhWHBoZEdsdmJpNWNiaUFnSUNvdlhHNGdJR3hsWVhKdWFXNW5VbUYwWlQ4NklHNTFiV0psY2p0Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCc2IyTmhiQ0JqYjI1dVpXTjBhWFpwZEhrZ2NtVnhkV2x5WldRZ0xTMGdhUzVsTGlCMGFHVWdiblZ0WW1WeUlHOW1JRzVsWVhKbGMzUmNiaUFnSUNvZ2JtVnBaMmhpYjNKeklIUm9ZWFFnYzJodmRXeGtJR0psSUdGemMzVnRaV1FnZEc4Z1ltVWdZMjl1Ym1WamRHVmtJR0YwSUdFZ2JHOWpZV3dnYkdWMlpXd3VYRzRnSUNBcUlGUm9aU0JvYVdkb1pYSWdkR2hwY3lCMllXeDFaU0IwYUdVZ2JXOXlaU0JqYjI1dVpXTjBaV1FnZEdobElHMWhibWxtYjJ4a0lHSmxZMjl0WlhOY2JpQWdJQ29nYkc5allXeHNlUzRnU1c0Z2NISmhZM1JwWTJVZ2RHaHBjeUJ6YUc5MWJHUWdZbVVnYm05MElHMXZjbVVnZEdoaGJpQjBhR1VnYkc5allXd2dhVzUwY21sdWMybGpYRzRnSUNBcUlHUnBiV1Z1YzJsdmJpQnZaaUIwYUdVZ2JXRnVhV1p2YkdRdVhHNGdJQ0FxTDF4dUlDQnNiMk5oYkVOdmJtNWxZM1JwZG1sMGVUODZJRzUxYldKbGNqdGNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQmxabVpsWTNScGRtVWdiV2x1YVcxMWJTQmthWE4wWVc1alpTQmlaWFIzWldWdUlHVnRZbVZrWkdWa0lIQnZhVzUwY3k0Z1UyMWhiR3hsY2lCMllXeDFaWE5jYmlBZ0lDb2dkMmxzYkNCeVpYTjFiSFFnYVc0Z1lTQnRiM0psSUdOc2RYTjBaWEpsWkM5amJIVnRjR1ZrSUdWdFltVmtaR2x1WnlCM2FHVnlaU0J1WldGeVlua2djRzlwYm5SelhHNGdJQ0FxSUc5dUlIUm9aU0J0WVc1cFptOXNaQ0JoY21VZ1pISmhkMjRnWTJ4dmMyVnlJSFJ2WjJWMGFHVnlMQ0IzYUdsc1pTQnNZWEpuWlhJZ2RtRnNkV1Z6SUhkcGJHeGNiaUFnSUNvZ2NtVnpkV3gwSUc5dUlHRWdiVzl5WlNCbGRtVnVJR1JwYzNCbGNuTmhiQ0J2WmlCd2IybHVkSE11SUZSb1pTQjJZV3gxWlNCemFHOTFiR1FnWW1VZ2MyVjBYRzRnSUNBcUlISmxiR0YwYVhabElIUnZJSFJvWlNCZ1lITndjbVZoWkdCZ0lIWmhiSFZsTENCM2FHbGphQ0JrWlhSbGNtMXBibVZ6SUhSb1pTQnpZMkZzWlNCaGRDQjNhR2xqYUZ4dUlDQWdLaUJsYldKbFpHUmxaQ0J3YjJsdWRITWdkMmxzYkNCaVpTQnpjSEpsWVdRZ2IzVjBMbHh1SUNBZ0tpOWNiaUFnYldsdVJHbHpkRDg2SUc1MWJXSmxjanRjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0JrYVcxbGJuTnBiMjRnYjJZZ2RHaGxJSE53WVdObElIUnZJR1Z0WW1Wa0lHbHVkRzh1SUZSb2FYTWdaR1ZtWVhWc2RITWdkRzhnTWlCMGIxeHVJQ0FnS2lCd2NtOTJhV1JsSUdWaGMza2dkbWx6ZFdGc2FYcGhkR2x2Yml3Z1luVjBJR05oYmlCeVpXRnpiMjVoWW14NUlHSmxJSE5sZENCMGJ5QmhibmxjYmlBZ0lDb2dhVzUwWldkbGNpQjJZV3gxWlNCcGJpQjBhR1VnY21GdVoyVWdNaUIwYnlBeE1EQXVYRzRnSUNBcUwxeHVJQ0J1UTI5dGNHOXVaVzUwY3o4NklHNTFiV0psY2p0Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCdWRXMWlaWElnYjJZZ2RISmhhVzVwYm1jZ1pYQnZZMmh6SUhSdklHSmxJSFZ6WldRZ2FXNGdiM0IwYVcxcGVtbHVaeUIwYUdWY2JpQWdJQ29nYkc5M0lHUnBiV1Z1YzJsdmJtRnNJR1Z0WW1Wa1pHbHVaeTRnVEdGeVoyVnlJSFpoYkhWbGN5QnlaWE4xYkhRZ2FXNGdiVzl5WlNCaFkyTjFjbUYwWlZ4dUlDQWdLaUJsYldKbFpHUnBibWR6TGlCSlppQk9iMjVsSUdseklITndaV05wWm1sbFpDQmhJSFpoYkhWbElIZHBiR3dnWW1VZ2MyVnNaV04wWldRZ1ltRnpaV1FnYjI1Y2JpQWdJQ29nZEdobElITnBlbVVnYjJZZ2RHaGxJR2x1Y0hWMElHUmhkR0Z6WlhRZ0tESXdNQ0JtYjNJZ2JHRnlaMlVnWkdGMFlYTmxkSE1zSURVd01DQm1iM0lnYzIxaGJHd3BMbHh1SUNBZ0tpOWNiaUFnYmtWd2IyTm9jejg2SUc1MWJXSmxjanRjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0J6YVhwbElHOW1JR3h2WTJGc0lHNWxhV2RvWW05eWFHOXZaQ0FvYVc0Z2RHVnliWE1nYjJZZ2JuVnRZbVZ5SUc5bUlHNWxhV2RvWW05eWFXNW5YRzRnSUNBcUlITmhiWEJzWlNCd2IybHVkSE1wSUhWelpXUWdabTl5SUcxaGJtbG1iMnhrSUdGd2NISnZlR2x0WVhScGIyNHVJRXhoY21kbGNpQjJZV3gxWlhOY2JpQWdJQ29nY21WemRXeDBJR2x1SUcxdmNtVWdaMnh2WW1Gc0lIWnBaWGR6SUc5bUlIUm9aU0J0WVc1cFptOXNaQ3dnZDJocGJHVWdjMjFoYkd4bGNseHVJQ0FnS2lCMllXeDFaWE1nY21WemRXeDBJR2x1SUcxdmNtVWdiRzlqWVd3Z1pHRjBZU0JpWldsdVp5QndjbVZ6WlhKMlpXUXVJRWx1SUdkbGJtVnlZV3hjYmlBZ0lDb2dkbUZzZFdWeklITm9iM1ZzWkNCaVpTQnBiaUIwYUdVZ2NtRnVaMlVnTWlCMGJ5QXhNREF1WEc0Z0lDQXFMMXh1SUNCdVRtVnBaMmhpYjNKelB6b2diblZ0WW1WeU8xeHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHNTFiV0psY2lCdlppQnVaV2RoZEdsMlpTQnpZVzF3YkdWeklIUnZJSE5sYkdWamRDQndaWElnY0c5emFYUnBkbVVnYzJGdGNHeGxYRzRnSUNBcUlHbHVJSFJvWlNCdmNIUnBiV2w2WVhScGIyNGdjSEp2WTJWemN5NGdTVzVqY21WaGMybHVaeUIwYUdseklIWmhiSFZsSUhkcGJHd2djbVZ6ZFd4MFhHNGdJQ0FxSUdsdUlHZHlaV0YwWlhJZ2NtVndkV3h6YVhabElHWnZjbU5sSUdKbGFXNW5JR0Z3Y0d4cFpXUXNJR2R5WldGMFpYSWdiM0IwYVcxcGVtRjBhVzl1WEc0Z0lDQXFJR052YzNRc0lHSjFkQ0J6YkdsbmFIUnNlU0J0YjNKbElHRmpZM1Z5WVdONUxseHVJQ0FnS2k5Y2JpQWdibVZuWVhScGRtVlRZVzF3YkdWU1lYUmxQem9nYm5WdFltVnlPMXh1SUNBdktpcGNiaUFnSUNvZ1YyVnBaMmgwYVc1bklHRndjR3hwWldRZ2RHOGdibVZuWVhScGRtVWdjMkZ0Y0d4bGN5QnBiaUJzYjNjZ1pHbHRaVzV6YVc5dVlXd2daVzFpWldSa2FXNW5YRzRnSUNBcUlHOXdkR2x0YVhwaGRHbHZiaTRnVm1Gc2RXVnpJR2hwWjJobGNpQjBhR0Z1SUc5dVpTQjNhV3hzSUhKbGMzVnNkQ0JwYmlCbmNtVmhkR1Z5SUhkbGFXZG9kRnh1SUNBZ0tpQmlaV2x1WnlCbmFYWmxiaUIwYnlCdVpXZGhkR2wyWlNCellXMXdiR1Z6TGx4dUlDQWdLaTljYmlBZ2NtVndkV3h6YVc5dVUzUnlaVzVuZEdnL09pQnVkVzFpWlhJN1hHNGdJQzhxS2x4dUlDQWdLaUJVYUdVZ2NITmxkV1J2TFhKaGJtUnZiU0J1ZFcxaVpYSWdaMlZ1WlhKaGRHOXlJSFZ6WldRZ1lua2dkR2hsSUhOMGIyTm9ZWE4wYVdNZ2NHRnlkSE1nYjJZZ2RHaGxYRzRnSUNBcUlHRnNaMjl5YVhSb2JTNWNiaUFnSUNvdlhHNGdJSEpoYm1SdmJUODZJRkpoYm1SdmJVWnVPMXh1SUNBdktpcGNiaUFnSUNvZ1NXNTBaWEp3YjJ4aGRHVWdZbVYwZDJWbGJpQW9ablY2ZW5rcElIVnVhVzl1SUdGdVpDQnBiblJsY25ObFkzUnBiMjRnWVhNZ2RHaGxJSE5sZENCdmNHVnlZWFJwYjI1Y2JpQWdJQ29nZFhObFpDQjBieUJqYjIxaWFXNWxJR3h2WTJGc0lHWjFlbnA1SUhOcGJYQnNhV05wWVd3Z2MyVjBjeUIwYnlCdlluUmhhVzRnWVNCbmJHOWlZV3dnWm5WNmVubGNiaUFnSUNvZ2MybHRjR3hwWTJsaGJDQnpaWFJ6TGlCQ2IzUm9JR1oxZW5wNUlITmxkQ0J2Y0dWeVlYUnBiMjV6SUhWelpTQjBhR1VnY0hKdlpIVmpkQ0IwTFc1dmNtMHVYRzRnSUNBcUlGUm9aU0IyWVd4MVpTQnZaaUIwYUdseklIQmhjbUZ0WlhSbGNpQnphRzkxYkdRZ1ltVWdZbVYwZDJWbGJpQXdMakFnWVc1a0lERXVNRHNnWVNCMllXeDFaU0J2Wmx4dUlDQWdLaUF4TGpBZ2QybHNiQ0IxYzJVZ1lTQndkWEpsSUdaMWVucDVJSFZ1YVc5dUxDQjNhR2xzWlNBd0xqQWdkMmxzYkNCMWMyVWdZU0J3ZFhKbElHWjFlbnA1WEc0Z0lDQXFJR2x1ZEdWeWMyVmpkR2x2Ymk1Y2JpQWdJQ292WEc0Z0lITmxkRTl3VFdsNFVtRjBhVzgvT2lCdWRXMWlaWEk3WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnWldabVpXTjBhWFpsSUhOallXeGxJRzltSUdWdFltVmtaR1ZrSUhCdmFXNTBjeTRnU1c0Z1kyOXRZbWx1WVhScGIyNGdkMmwwYUNCZ1lHMXBibDlrYVhOMFlHQmNiaUFnSUNvZ2RHaHBjeUJrWlhSbGNtMXBibVZ6SUdodmR5QmpiSFZ6ZEdWeVpXUXZZMngxYlhCbFpDQjBhR1VnWlcxaVpXUmtaV1FnY0c5cGJuUnpJR0Z5WlM1Y2JpQWdJQ292WEc0Z0lITndjbVZoWkQ4NklHNTFiV0psY2p0Y2JpQWdMeW9xWEc0Z0lDQXFJRVp2Y2lCMGNtRnVjMlp2Y20wZ2IzQmxjbUYwYVc5dWN5QW9aVzFpWldSa2FXNW5JRzVsZHlCd2IybHVkSE1nZFhOcGJtY2dZU0IwY21GcGJtVmtJRzF2WkdWc0tWeHVJQ0FnS2lCMGFHbHpJSGRwYkd3Z1kyOXVkSEp2YkNCb2IzY2dZV2RuY21WemMybDJaV3g1SUhSdklITmxZWEpqYUNCbWIzSWdibVZoY21WemRDQnVaV2xuYUdKdmNuTXVYRzRnSUNBcUlFeGhjbWRsY2lCMllXeDFaWE1nZDJsc2JDQnlaWE4xYkhRZ2FXNGdjMnh2ZDJWeUlIQmxjbVp2Y20xaGJtTmxJR0oxZENCdGIzSmxJR0ZqWTNWeVlYUmxYRzRnSUNBcUlHNWxZWEpsYzNRZ2JtVnBaMmhpYjNJZ1pYWmhiSFZoZEdsdmJpNWNiaUFnSUNvdlhHNGdJSFJ5WVc1elptOXliVkYxWlhWbFUybDZaVDg2SUc1MWJXSmxjanRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlZUVUZRVTNWd1pYSjJhWE5sWkZCaGNtRnRjeUI3WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnYldWMGNtbGpJSFZ6WldRZ2RHOGdiV1ZoYzNWeVpTQmthWE4wWVc1alpTQm1iM0lnWVNCMFlYSm5aWFFnWVhKeVlYa2dhWE1nZFhOcGJtY2djM1Z3WlhKMmFYTmxaRnh1SUNBZ0tpQmthVzFsYm5OcGIyNGdjbVZrZFdOMGFXOXVMaUJDZVNCa1pXWmhkV3gwSUhSb2FYTWdhWE1nSjJOaGRHVm5iM0pwWTJGc0p5QjNhR2xqYUNCM2FXeHNJRzFsWVhOMWNtVmNiaUFnSUNvZ1pHbHpkR0Z1WTJVZ2FXNGdkR1Z5YlhNZ2IyWWdkMmhsZEdobGNpQmpZWFJsWjI5eWFXVnpJRzFoZEdOb0lHOXlJR0Z5WlNCa2FXWm1aWEpsYm5RdUlFWjFjblJvWlhKdGIzSmxMRnh1SUNBZ0tpQnBaaUJ6WlcxcExYTjFjR1Z5ZG1selpXUWdhWE1nY21WeGRXbHlaV1FnZEdGeVoyVjBJSFpoYkhWbGN5QnZaaUF0TVNCM2FXeHNJR0psSUhSeVpXRjBaV1FnWVhOY2JpQWdJQ29nZFc1c1lXSmxiR3hsWkNCMWJtUmxjaUIwYUdVZ0oyTmhkR1ZuYjNKcFkyRnNKeUJ0WlhSeWFXTXVJRWxtSUhSb1pTQjBZWEpuWlhRZ1lYSnlZWGtnZEdGclpYTmNiaUFnSUNvZ1kyOXVkR2x1ZFc5MWN5QjJZV3gxWlhNZ0tHVXVaeTRnWm05eUlHRWdjbVZuY21WemMybHZiaUJ3Y205aWJHVnRLU0IwYUdWdUlHMWxkSEpwWXlCdlppQW5iREVuWEc0Z0lDQXFJRzl5SUNkc01pY2dhWE1nY0hKdlltRmliSGtnYlc5eVpTQmhjSEJ5YjNCeWFXRjBaUzVjYmlBZ0lDb3ZYRzRnSUhSaGNtZGxkRTFsZEhKcFl6ODZJRlJoY21kbGRFMWxkSEpwWXp0Y2JpQWdMeW9xWEc0Z0lDQXFJRmRsYVdkb2RHbHVaeUJtWVdOMGIzSWdZbVYwZDJWbGJpQmtZWFJoSUhSdmNHOXNiMmQ1SUdGdVpDQjBZWEpuWlhRZ2RHOXdiMnh2WjNrdUlFRWdkbUZzZFdVZ2IyWmNiaUFnSUNvZ01DNHdJSGRsYVdkb2RITWdaVzUwYVhKbGJIa2diMjRnWkdGMFlTd2dZU0IyWVd4MVpTQnZaaUF4TGpBZ2QyVnBaMmgwY3lCbGJuUnBjbVZzZVNCdmJpQjBZWEpuWlhRdVhHNGdJQ0FxSUZSb1pTQmtaV1poZFd4MElHOW1JREF1TlNCaVlXeGhibU5sY3lCMGFHVWdkMlZwWjJoMGFXNW5JR1Z4ZFdGc2JIa2dZbVYwZDJWbGJpQmtZWFJoSUdGdVpDQjBZWEpuWlhRdVhHNGdJQ0FxTDF4dUlDQjBZWEpuWlhSWFpXbG5hSFEvT2lCdWRXMWlaWEk3WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnYm5WdFltVnlJRzltSUc1bFlYSmxjM1FnYm1WcFoyaGliM0p6SUhSdklIVnpaU0IwYnlCamIyNXpkSEoxWTNRZ2RHaGxJSFJoY21kbGRDQnphVzF3YkdOcFlXeGNiaUFnSUNvZ2MyVjBMaUJFWldaaGRXeDBjeUIwYnlCMGFHVWdZRzVsWVhKbGMzUk9aV2xuYUdKdmNuTmdJSEJoY21GdFpYUmxjaTVjYmlBZ0lDb3ZYRzRnSUhSaGNtZGxkRTVPWldsbmFHSnZjbk0vT2lCdWRXMWlaWEk3WEc1OVhHNWNiaThxS2x4dUlDb2dWVTFCVUNCd2NtOXFaV04wYVc5dUlITjVjM1JsYlN3Z1ltRnpaV1FnYjI0Z2RHaGxJSEI1ZEdodmJpQnBiWEJzWlcxbGJuUmhkR2x2YmlCbWNtOXRJRTFqU1c1dVpYTXNJRXdzWEc0Z0tpQklaV0ZzZVN3Z1Npd2dWVTFCVURvZ1ZXNXBabTl5YlNCTllXNXBabTlzWkNCQmNIQnliM2hwYldGMGFXOXVJR0Z1WkNCUWNtOXFaV04wYVc5dUlHWnZjaUJFYVcxbGJuTnBiMjVjYmlBcUlGSmxaSFZqZEdsdmJpQW9hSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMnh0WTJsdWJtVnpMM1Z0WVhBcExseHVJQ3BjYmlBcUlGUm9hWE1nYVcxd2JHVnRaVzUwWVhScGIyNGdaR2xtWm1WeWN5QnBiaUJoSUdabGR5QnlaV2RoY21Sek9seHVJQ29nWVNrZ1ZHaGxJR2x1YVhScFlXeHBlbUYwYVc5dUlHOW1JSFJvWlNCbGJXSmxaR1JwYm1jZ1ptOXlJRzl3ZEdsdGFYcGhkR2x2YmlCcGN5QnViM1FnWTI5dGNIVjBaV1FnZFhOcGJtZGNiaUFxSUNBZ0lHRWdjM0JsWTNSeVlXd2diV1YwYUc5a0xDQnlZWFJvWlhJZ2FYUWdhWE1nYVc1cGRHbGhiR2w2WldRZ2NtRnVaRzl0YkhrdUlGUm9hWE1nWVhadmFXUnpJSE52YldWY2JpQXFJQ0FnSUdOdmJYQjFkR0YwYVc5dVlXeHNlU0JwYm5SbGJuTnBkbVVnYldGMGNtbDRJR1ZwWjJWdUlHTnZiWEIxZEdGMGFXOXVjeUIwYUdGMElHRnlaVzRuZENCbFlYTnBiSGxjYmlBcUlDQWdJSEJ2Y25SbFpDQjBieUJLWVhaaFUyTnlhWEIwTGx4dUlDb2dZaWtnUVNCc2IzUWdiMllnWENKbGVIUnlZVndpSUdaMWJtTjBhVzl1WVd4cGRIa2dhR0Z6SUdKbFpXNGdiMjFwZEhSbFpDQm1jbTl0SUhSb2FYTWdhVzF3YkdWdFpXNTBZWFJwYjI0c1hHNGdLaUFnSUNCdGIzTjBJRzV2ZEdGaWJIa2dZU0JuY21WaGRDQmtaV0ZzSUc5bUlHRnNkR1Z5Ym1GMFpTQmthWE4wWVc1alpTQm1kVzVqZEdsdmJuTXVYRzRnS2x4dUlDb2dWR2hwY3lCcGJYQnNaVzFsYm5SaGRHbHZiaUJ3Y205MmFXUmxjeUIwYUhKbFpTQnRaWFJvYjJSeklHOW1JSEpsWkhWamFXNW5JR1JwYldWdWMybHZibUZzYVhSNU9seHVJQ29nTVNrZ1ptbDBPaUJtYVhRZ2RHaGxJR1JoZEdFZ2MzbHVZMmh5YjI1dmRYTnNlVnh1SUNvZ01pa2dabWwwUVhONWJtTTZJR1pwZENCMGFHVWdaR0YwWVNCaGMzbHVZMmh5YjI1dmRYTnNlU3dnZDJsMGFDQmhJR05oYkd4aVlXTnJJR1oxYm1OMGFXOXVJSEJ5YjNacFpHVmtYRzRnS2lBZ0lDQWdJSFJvWVhRZ2FYTWdhVzUyYjJ0bFpDQnZiaUJsWVdOb0lHOXdkR2x0YVhwaGRHbHZiaUJ6ZEdWd0xseHVJQ29nTXlrZ2FXNXBkR2xoYkdsNlpVWnBkQ0F2SUhOMFpYQTZJRzFoYm5WaGJHeDVJR2x1YVhScFlXeHBlbVVnZEdobElHRnNaMjl5YVhSb2JTQjBhR1Z1SUdWNGNHeHBZM1JzZVZ4dUlDb2dJQ0FnSUNCemRHVndJSFJvY205MVoyZ2daV0ZqYUNCbGNHOWphQ0J2WmlCMGFHVWdVMGRFSUc5d2RHbHRhWHBoZEdsdmJseHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdWVTFCVUNCN1hHNGdJSEJ5YVhaaGRHVWdiR1ZoY201cGJtZFNZWFJsSUQwZ01TNHdPMXh1SUNCd2NtbDJZWFJsSUd4dlkyRnNRMjl1Ym1WamRHbDJhWFI1SUQwZ01TNHdPMXh1SUNCd2NtbDJZWFJsSUcxcGJrUnBjM1FnUFNBd0xqRTdYRzRnSUhCeWFYWmhkR1VnYmtOdmJYQnZibVZ1ZEhNZ1BTQXlPMXh1SUNCd2NtbDJZWFJsSUc1RmNHOWphSE1nUFNBd08xeHVJQ0J3Y21sMllYUmxJRzVPWldsbmFHSnZjbk1nUFNBeE5UdGNiaUFnY0hKcGRtRjBaU0J1WldkaGRHbDJaVk5oYlhCc1pWSmhkR1VnUFNBMU8xeHVJQ0J3Y21sMllYUmxJSEpoYm1SdmJTQTlJRTFoZEdndWNtRnVaRzl0TzF4dUlDQndjbWwyWVhSbElISmxjSFZzYzJsdmJsTjBjbVZ1WjNSb0lEMGdNUzR3TzF4dUlDQndjbWwyWVhSbElITmxkRTl3VFdsNFVtRjBhVzhnUFNBeExqQTdYRzRnSUhCeWFYWmhkR1VnYzNCeVpXRmtJRDBnTVM0d08xeHVJQ0J3Y21sMllYUmxJSFJ5WVc1elptOXliVkYxWlhWbFUybDZaU0E5SURRdU1EdGNibHh1SUNBdkx5QlRkWEJsY25acGMyVmtJSEJ5YjJwbFkzUnBiMjRnY0dGeVlXMXpYRzRnSUhCeWFYWmhkR1VnZEdGeVoyVjBUV1YwY21saklEMGdWR0Z5WjJWMFRXVjBjbWxqTG1OaGRHVm5iM0pwWTJGc08xeHVJQ0J3Y21sMllYUmxJSFJoY21kbGRGZGxhV2RvZENBOUlEQXVOVHRjYmlBZ2NISnBkbUYwWlNCMFlYSm5aWFJPVG1WcFoyaGliM0p6SUQwZ01UVTdYRzVjYmlBZ2NISnBkbUYwWlNCa2FYTjBZVzVqWlVadU9pQkVhWE4wWVc1alpVWnVJRDBnYm5WdFpYSnBZenRjYmx4dUlDQXZMeUJMVGs0Z2MzUmhkR1VnS0dOaGJpQmlaU0J3Y21WamIyMXdkWFJsWkNCaGJtUWdjM1Z3Y0d4cFpXUWdkbWxoSUdsdWFYUnBZV3hwZW1WR2FYUXBYRzRnSUhCeWFYWmhkR1VnYTI1dVNXNWthV05sY3o4NklHNTFiV0psY2x0ZFcxMDdYRzRnSUhCeWFYWmhkR1VnYTI1dVJHbHpkR0Z1WTJWelB6b2diblZ0WW1WeVcxMWJYVHRjYmx4dUlDQXZMeUJKYm5SbGNtNWhiQ0JuY21Gd2FDQmpiMjV1WldOMGFYWnBkSGtnY21Wd2NtVnpaVzUwWVhScGIyNWNiaUFnY0hKcGRtRjBaU0JuY21Gd2FDRTZJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGc3WEc0Z0lIQnlhWFpoZEdVZ1dDRTZJRlpsWTNSdmNqdGNiaUFnY0hKcGRtRjBaU0JwYzBsdWFYUnBZV3hwZW1Wa0lEMGdabUZzYzJVN1hHNGdJSEJ5YVhaaGRHVWdjbkJHYjNKbGMzUTZJSFJ5WldVdVJteGhkRlJ5WldWYlhTQTlJRnRkTzF4dUlDQndjbWwyWVhSbElHbHVhWFJHY205dFVtRnVaRzl0SVRvZ2JtNUVaWE5qWlc1MExrbHVhWFJHY205dFVtRnVaRzl0Um00N1hHNGdJSEJ5YVhaaGRHVWdhVzVwZEVaeWIyMVVjbVZsSVRvZ2JtNUVaWE5qWlc1MExrbHVhWFJHY205dFZISmxaVVp1TzF4dUlDQndjbWwyWVhSbElITmxZWEpqYUNFNklHNXVSR1Z6WTJWdWRDNVRaV0Z5WTJoR2JqdGNiaUFnY0hKcGRtRjBaU0J6WldGeVkyaEhjbUZ3YUNFNklHMWhkSEpwZUM1VGNHRnljMlZOWVhSeWFYZzdYRzVjYmlBZ0x5OGdVM1Z3WlhKMmFYTmxaQ0J3Y205cVpXTjBhVzl1SUd4aFltVnNjeUF2SUhSaGNtZGxkSE5jYmlBZ2NISnBkbUYwWlNCWlB6b2diblZ0WW1WeVcxMDdYRzVjYmlBZ0x5OGdVSEp2YW1WamRHVmtJR1Z0WW1Wa1pHbHVaMXh1SUNCd2NtbDJZWFJsSUdWdFltVmtaR2x1WnpvZ2JuVnRZbVZ5VzExYlhTQTlJRnRkTzF4dUlDQndjbWwyWVhSbElHOXdkR2x0YVhwaGRHbHZibE4wWVhSbElEMGdibVYzSUU5d2RHbHRhWHBoZEdsdmJsTjBZWFJsS0NrN1hHNWNibHh1SUNCblpYUWdibVZwWjJoaWIzSnpLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG01T1pXbG5hR0p2Y25NN1hHNGdJSDFjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9jR0Z5WVcxek9pQlZUVUZRVUdGeVlXMWxkR1Z5Y3lBOUlIdDlLU0I3WEc0Z0lDQWdZMjl1YzNRZ2MyVjBVR0Z5WVcwZ1BTQW9hMlY1T2lCclpYbHZaaUJWVFVGUVVHRnlZVzFsZEdWeWN5a2dQVDRnZTF4dUlDQWdJQ0FnTHk5QWRITXRhV2R1YjNKbFhHNGdJQ0FnSUNCcFppQW9jR0Z5WVcxelcydGxlVjBnSVQwOUlIVnVaR1ZtYVc1bFpDa2dkR2hwYzF0clpYbGRJRDBnY0dGeVlXMXpXMnRsZVYwN1hHNGdJQ0FnZlR0Y2JseHVJQ0FnSUhObGRGQmhjbUZ0S0Nka2FYTjBZVzVqWlVadUp5azdYRzRnSUNBZ2MyVjBVR0Z5WVcwb0oyeGxZWEp1YVc1blVtRjBaU2NwTzF4dUlDQWdJSE5sZEZCaGNtRnRLQ2RzYjJOaGJFTnZibTVsWTNScGRtbDBlU2NwTzF4dUlDQWdJSE5sZEZCaGNtRnRLQ2R0YVc1RWFYTjBKeWs3WEc0Z0lDQWdjMlYwVUdGeVlXMG9KMjVEYjIxd2IyNWxiblJ6SnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjI1RmNHOWphSE1uS1R0Y2JpQWdJQ0J6WlhSUVlYSmhiU2duYms1bGFXZG9ZbTl5Y3ljcE8xeHVJQ0FnSUhObGRGQmhjbUZ0S0NkdVpXZGhkR2wyWlZOaGJYQnNaVkpoZEdVbktUdGNiaUFnSUNCelpYUlFZWEpoYlNnbmNtRnVaRzl0SnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjNKbGNIVnNjMmx2YmxOMGNtVnVaM1JvSnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjNObGRFOXdUV2w0VW1GMGFXOG5LVHRjYmlBZ0lDQnpaWFJRWVhKaGJTZ25jM0J5WldGa0p5azdYRzRnSUNBZ2MyVjBVR0Z5WVcwb0ozUnlZVzV6Wm05eWJWRjFaWFZsVTJsNlpTY3BPMXh1SUNBZ0lIUm9hWE11ZEdGeVoyVjBUazVsYVdkb1ltOXljeUE5SUhCaGNtRnRjeTV1VG1WcFoyaGliM0p6SUh4OElIUm9hWE11Yms1bGFXZG9ZbTl5Y3lCOGZDQjBhR2x6TG5SaGNtZGxkRTVPWldsbmFHSnZjbk03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1JtbDBJSFJvWlNCa1lYUmhJSFJ2SUdFZ2NISnZhbVZqZEdWa0lHVnRZbVZrWkdsdVp5QnpjR0ZqWlNCemVXNWphSEp2Ym05MWMyeDVMbHh1SUNBZ0tpOWNiaUFnWm1sMEtGZzZJRlpsWTNSdmNpa2dlMXh1SUNBZ0lIUm9hWE11YVc1cGRHbGhiR2w2WlVacGRDaFlLVHRjYmlBZ0lDQjBhR2x6TG05d2RHbHRhWHBsVEdGNWIzVjBLQ2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bGJXSmxaR1JwYm1jN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSbWwwSUhSb1pTQmtZWFJoSUhSdklHRWdjSEp2YW1WamRHVmtJR1Z0WW1Wa1pHbHVaeUJ6Y0dGalpTQmhjM2x1WTJoeWIyNXZkWE5zZVN3Z2QybDBhQ0JoSUdOaGJHeGlZV05yWEc0Z0lDQXFJR1oxYm1OMGFXOXVJR2x1ZG05clpXUWdiMjRnWlhabGNua2daWEJ2WTJnZ2IyWWdiM0IwYVcxcGVtRjBhVzl1TGx4dUlDQWdLaTljYmlBZ1lYTjVibU1nWm1sMFFYTjVibU1vWEc0Z0lDQWdXRG9nVm1WamRHOXlMRnh1SUNBZ0lHTmhiR3hpWVdOck9pQW9aWEJ2WTJoT2RXMWlaWEk2SUc1MWJXSmxjaWtnUFQ0Z2RtOXBaQ0I4SUdKdmIyeGxZVzRnUFNBb0tTQTlQaUIwY25WbFhHNGdJQ2tnZTF4dUlDQWdJSFJvYVhNdWFXNXBkR2xoYkdsNlpVWnBkQ2hZS1R0Y2JseHVJQ0FnSUdGM1lXbDBJSFJvYVhNdWIzQjBhVzFwZW1WTVlYbHZkWFJCYzNsdVl5aGpZV3hzWW1GamF5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaVzFpWldSa2FXNW5PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdWFYUnBZV3hwZW1WeklIQmhjbUZ0WlhSbGNuTWdibVZsWkdWa0lHWnZjaUJ6ZFhCbGNuWnBjMlZrSUhCeWIycGxZM1JwYjI0dVhHNGdJQ0FxTDF4dUlDQnpaWFJUZFhCbGNuWnBjMlZrVUhKdmFtVmpkR2x2YmloWk9pQnVkVzFpWlhKYlhTd2djR0Z5WVcxek9pQlZUVUZRVTNWd1pYSjJhWE5sWkZCaGNtRnRjeUE5SUh0OUtTQjdYRzRnSUNBZ2RHaHBjeTVaSUQwZ1dUdGNiaUFnSUNCMGFHbHpMblJoY21kbGRFMWxkSEpwWXlBOUlIQmhjbUZ0Y3k1MFlYSm5aWFJOWlhSeWFXTWdmSHdnZEdocGN5NTBZWEpuWlhSTlpYUnlhV003WEc0Z0lDQWdkR2hwY3k1MFlYSm5aWFJYWldsbmFIUWdQU0J3WVhKaGJYTXVkR0Z5WjJWMFYyVnBaMmgwSUh4OElIUm9hWE11ZEdGeVoyVjBWMlZwWjJoME8xeHVJQ0FnSUhSb2FYTXVkR0Z5WjJWMFRrNWxhV2RvWW05eWN5QTlJSEJoY21GdGN5NTBZWEpuWlhST1RtVnBaMmhpYjNKeklIeDhJSFJvYVhNdWRHRnlaMlYwVGs1bGFXZG9ZbTl5Y3p0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkpibWwwYVdGc2FYcGxjeUIxYldGd0lIZHBkR2dnY0hKbFkyOXRjSFYwWldRZ1MwNU9JR2x1WkdsalpYTWdZVzVrSUdScGMzUmhibU5sY3k1Y2JpQWdJQ292WEc0Z0lITmxkRkJ5WldOdmJYQjFkR1ZrUzA1T0tHdHVia2x1WkdsalpYTTZJRzUxYldKbGNsdGRXMTBzSUd0dWJrUnBjM1JoYm1ObGN6b2diblZ0WW1WeVcxMWJYU2tnZTF4dUlDQWdJSFJvYVhNdWEyNXVTVzVrYVdObGN5QTlJR3R1YmtsdVpHbGpaWE03WEc0Z0lDQWdkR2hwY3k1cmJtNUVhWE4wWVc1alpYTWdQU0JyYm01RWFYTjBZVzVqWlhNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dTVzVwZEdsaGJHbDZaWE1nWm1sMElHSjVJR052YlhCMWRHbHVaeUJMVGs0Z1lXNWtJR0VnWm5WNmVua2djMmx0Y0d4cFkybGhiQ0J6WlhRc0lHRnpJSGRsYkd3Z1lYTmNiaUFnSUNvZ2FXNXBkR2xoYkdsNmFXNW5JSFJvWlNCd2NtOXFaV04wWldRZ1pXMWlaV1JrYVc1bmN5NGdVMlYwY3lCMGFHVWdiM0IwYVcxcGVtRjBhVzl1SUhOMFlYUmxJR0ZvWldGa1hHNGdJQ0FxSUc5bUlHOXdkR2x0YVhwaGRHbHZiaUJ6ZEdWd2N5NGdVbVYwZFhKdWN5QjBhR1VnYm5WdFltVnlJRzltSUdWd2IyTm9jeUIwYnlCaVpTQjFjMlZrSUdadmNpQjBhR1ZjYmlBZ0lDb2dVMGRFSUc5d2RHbHRhWHBoZEdsdmJpNWNiaUFnSUNvdlhHNGdJR2x1YVhScFlXeHBlbVZHYVhRb1dEb2dWbVZqZEc5eUtUb2diblZ0WW1WeUlIdGNiaUFnSUNCcFppQW9XQzVzWlc1bmRHZ2dQRDBnZEdocGN5NXVUbVZwWjJoaWIzSnpLVnh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQk9iM1FnWlc1dmRXZG9JR1JoZEdFZ2NHOXBiblJ6SUNna2UxZ3ViR1Z1WjNSb2ZTa2dkRzhnWTNKbFlYUmxJRzVPWldsbmFHSnZjbk02SUNSN2RHaHBjeTV1VG1WcFoyaGliM0p6ZlM0Z0lFRmtaQ0J0YjNKbElHUmhkR0VnY0c5cGJuUnpJRzl5SUdGa2FuVnpkQ0IwYUdVZ1kyOXVabWxuZFhKaGRHbHZiaTVnS1R0Y2JseHVYRzRnSUNBZ0x5OGdWMlVnWkc5dUozUWdibVZsWkNCMGJ5QnlaV2x1YVhScFlXeHBlbVVnYVdZZ2QyVW5kbVVnWVd4eVpXRmtlU0JwYm1sMGFXRnNhWHBsWkNCbWIzSWdkR2hwY3lCa1lYUmhMbHh1SUNBZ0lHbG1JQ2gwYUdsekxsZ2dQVDA5SUZnZ0ppWWdkR2hwY3k1cGMwbHVhWFJwWVd4cGVtVmtLVnh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WjJWMFRrVndiMk5vY3lncE8xeHVYRzVjYmlBZ0lDQjBhR2x6TGxnZ1BTQllPMXh1WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbXR1YmtsdVpHbGpaWE1nSmlZZ0lYUm9hWE11YTI1dVJHbHpkR0Z1WTJWektTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCcmJtNVNaWE4xYkhSeklEMGdkR2hwY3k1dVpXRnlaWE4wVG1WcFoyaGliM0p6S0ZncE8xeHVJQ0FnSUNBZ2RHaHBjeTVyYm01SmJtUnBZMlZ6SUQwZ2EyNXVVbVZ6ZFd4MGN5NXJibTVKYm1ScFkyVnpPMXh1SUNBZ0lDQWdkR2hwY3k1cmJtNUVhWE4wWVc1alpYTWdQU0JyYm01U1pYTjFiSFJ6TG10dWJrUnBjM1JoYm1ObGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbWR5WVhCb0lEMGdkR2hwY3k1bWRYcDZlVk5wYlhCc2FXTnBZV3hUWlhRb1hHNGdJQ0FnSUNCWUxGeHVJQ0FnSUNBZ2RHaHBjeTV1VG1WcFoyaGliM0p6TEZ4dUlDQWdJQ0FnZEdocGN5NXpaWFJQY0UxcGVGSmhkR2x2WEc0Z0lDQWdLVHRjYmx4dUlDQWdJQzh2SUZObGRDQjFjQ0IwYUdVZ2MyVmhjbU5vSUdkeVlYQm9JR1p2Y2lCemRXSnpaWEYxWlc1MElIUnlZVzV6Wm05eWJXRjBhVzl1TGx4dUlDQWdJSFJvYVhNdWJXRnJaVk5sWVhKamFFWnVjeWdwTzF4dUlDQWdJSFJvYVhNdWMyVmhjbU5vUjNKaGNHZ2dQU0IwYUdsekxtMWhhMlZUWldGeVkyaEhjbUZ3YUNoWUtUdGNibHh1SUNBZ0lDOHZJRU5vWldOcklHbG1JSE4xY0dWeWRtbHpaV1FnY0hKdmFtVmpkR2x2Yml3Z2RHaGxiaUJoWkdwMWMzUWdkR2hsSUdkeVlYQm9MbHh1SUNBZ0lIUm9hWE11Y0hKdlkyVnpjMGR5WVhCb1JtOXlVM1Z3WlhKMmFYTmxaRkJ5YjJwbFkzUnBiMjRvS1R0Y2JseHVJQ0FnSUdOdmJuTjBJSHRjYmlBZ0lDQWdJR2hsWVdRc1hHNGdJQ0FnSUNCMFlXbHNMRnh1SUNBZ0lDQWdaWEJ2WTJoelVHVnlVMkZ0Y0d4bExGeHVJQ0FnSUgwZ1BTQjBhR2x6TG1sdWFYUnBZV3hwZW1WVGFXMXdiR2xqYVdGc1UyVjBSVzFpWldSa2FXNW5LQ2s3WEc1Y2JpQWdJQ0F2THlCVFpYUWdkR2hsSUc5d2RHbHRhWHBoZEdsdmJpQnliM1YwYVc1bElITjBZWFJsWEc0Z0lDQWdkR2hwY3k1dmNIUnBiV2w2WVhScGIyNVRkR0YwWlM1b1pXRmtJRDBnYUdWaFpEdGNiaUFnSUNCMGFHbHpMbTl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxMblJoYVd3Z1BTQjBZV2xzTzF4dUlDQWdJSFJvYVhNdWIzQjBhVzFwZW1GMGFXOXVVM1JoZEdVdVpYQnZZMmh6VUdWeVUyRnRjR3hsSUQwZ1pYQnZZMmh6VUdWeVUyRnRjR3hsTzF4dVhHNGdJQ0FnTHk4Z1RtOTNMQ0JwYm1sMGFXRnNhWHBsSUhSb1pTQnZjSFJwYldsNllYUnBiMjRnYzNSbGNITmNiaUFnSUNCMGFHbHpMbWx1YVhScFlXeHBlbVZQY0hScGJXbDZZWFJwYjI0b0tUdGNiaUFnSUNCMGFHbHpMbkJ5WlhCaGNtVkdiM0pQY0hScGJXbDZZWFJwYjI1TWIyOXdLQ2s3WEc0Z0lDQWdkR2hwY3k1cGMwbHVhWFJwWVd4cGVtVmtJRDBnZEhKMVpUdGNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWRsZEU1RmNHOWphSE1vS1R0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ2JXRnJaVk5sWVhKamFFWnVjeWdwSUh0Y2JpQWdJQ0JqYjI1emRDQjdhVzVwZEVaeWIyMVVjbVZsTENCcGJtbDBSbkp2YlZKaGJtUnZiWDBnUFNCdWJrUmxjMk5sYm5RdWJXRnJaVWx1YVhScFlXeHBlbUYwYVc5dWN5aGNiaUFnSUNBZ0lIUm9hWE11WkdsemRHRnVZMlZHYmx4dUlDQWdJQ2s3WEc0Z0lDQWdkR2hwY3k1cGJtbDBSbkp2YlZSeVpXVWdQU0JwYm1sMFJuSnZiVlJ5WldVN1hHNGdJQ0FnZEdocGN5NXBibWwwUm5KdmJWSmhibVJ2YlNBOUlHbHVhWFJHY205dFVtRnVaRzl0TzF4dUlDQWdJSFJvYVhNdWMyVmhjbU5vSUQwZ2JtNUVaWE5qWlc1MExtMWhhMlZKYm1sMGFXRnNhWHBsWkU1T1UyVmhjbU5vS0hSb2FYTXVaR2x6ZEdGdVkyVkdiaWs3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUcxaGEyVlRaV0Z5WTJoSGNtRndhQ2hZT2lCV1pXTjBiM0lwSUh0Y2JpQWdJQ0JqYjI1emRDQnJibTVKYm1ScFkyVnpJRDBnZEdocGN5NXJibTVKYm1ScFkyVnpJVHRjYmlBZ0lDQmpiMjV6ZENCcmJtNUVhWE4wWVc1alpYTWdQU0IwYUdsekxtdHVia1JwYzNSaGJtTmxjeUU3WEc0Z0lDQWdZMjl1YzNRZ1pHbHRjeUE5SUZ0WUxteGxibWQwYUN3Z1dDNXNaVzVuZEdoZE8xeHVJQ0FnSUdOdmJuTjBJSE5sWVhKamFFZHlZWEJvSUQwZ2JtVjNJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGdvVzEwc0lGdGRMQ0JiWFN3Z1pHbHRjeWs3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JyYm01SmJtUnBZMlZ6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCcmJtNGdQU0JyYm01SmJtUnBZMlZ6VzJsZE8xeHVJQ0FnSUNBZ1kyOXVjM1FnWkdsemRHRnVZMlZ6SUQwZ2EyNXVSR2x6ZEdGdVkyVnpXMmxkTzF4dUlDQWdJQ0FnWm05eUlDaHNaWFFnYWlBOUlEQTdJR29nUENCcmJtNHViR1Z1WjNSb095QnFLeXNwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYm1WcFoyaGliM0lnUFNCcmJtNWJhbDA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1JwYzNSaGJtTmxJRDBnWkdsemRHRnVZMlZ6VzJwZE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWkdsemRHRnVZMlVnUGlBd0tWeHVJQ0FnSUNBZ0lDQWdJSE5sWVhKamFFZHlZWEJvTG5ObGRDaHBMQ0J1WldsbmFHSnZjaXdnWkdsemRHRnVZMlVwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElIUnlZVzV6Y0c5elpTQTlJRzFoZEhKcGVDNTBjbUZ1YzNCdmMyVW9jMlZoY21Ob1IzSmhjR2dwTzF4dUlDQWdJSEpsZEhWeWJpQnRZWFJ5YVhndWJXRjRhVzExYlNoelpXRnlZMmhIY21Gd2FDd2dkSEpoYm5Od2IzTmxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWNtRnVjMlp2Y20xeklHUmhkR0VnZEc4Z2RHaGxJR1Y0YVhOMGFXNW5JR1Z0WW1Wa1pHbHVaeUJ6Y0dGalpTNWNiaUFnSUNvdlhHNGdJSFJ5WVc1elptOXliU2gwYjFSeVlXNXpabTl5YlRvZ1ZtVmpkRzl5S1NCN1hHNGdJQ0FnTHk4Z1ZYTmxJSFJvWlNCd2NtVjJhVzkxY3lCeVlYZEVZWFJoWEc0Z0lDQWdZMjl1YzNRZ2NtRjNSR0YwWVNBOUlIUm9hWE11V0R0Y2JpQWdJQ0JwWmlBb2NtRjNSR0YwWVNBOVBUMGdkVzVrWldacGJtVmtJSHg4SUhKaGQwUmhkR0V1YkdWdVozUm9JRDA5UFNBd0tWeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkT2J5QmtZWFJoSUdoaGN5QmlaV1Z1SUdacGRDNG5LVHRjYmx4dVhHNGdJQ0FnYkdWMElHNU9aV2xuYUdKdmNuTWdQU0JOWVhSb0xtWnNiMjl5S0hSb2FYTXViazVsYVdkb1ltOXljeUFxSUhSb2FYTXVkSEpoYm5ObWIzSnRVWFZsZFdWVGFYcGxLVHRjYmlBZ0lDQnVUbVZwWjJoaWIzSnpJRDBnVFdGMGFDNXRhVzRvY21GM1JHRjBZUzVzWlc1bmRHZ3NJRzVPWldsbmFHSnZjbk1wTzF4dUlDQWdJR052Ym5OMElHbHVhWFFnUFNCdWJrUmxjMk5sYm5RdWFXNXBkR2xoYkdsNlpWTmxZWEpqYUNoY2JpQWdJQ0FnSUhSb2FYTXVjbkJHYjNKbGMzUXNYRzRnSUNBZ0lDQnlZWGRFWVhSaExGeHVJQ0FnSUNBZ2RHOVVjbUZ1YzJadmNtMHNYRzRnSUNBZ0lDQnVUbVZwWjJoaWIzSnpMRnh1SUNBZ0lDQWdkR2hwY3k1cGJtbDBSbkp2YlZKaGJtUnZiU3hjYmlBZ0lDQWdJSFJvYVhNdWFXNXBkRVp5YjIxVWNtVmxMRnh1SUNBZ0lDQWdkR2hwY3k1eVlXNWtiMjFjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2NtVnpkV3gwSUQwZ2RHaHBjeTV6WldGeVkyZ29jbUYzUkdGMFlTd2dkR2hwY3k1elpXRnlZMmhIY21Gd2FDd2dhVzVwZEN3Z2RHOVVjbUZ1YzJadmNtMHBPMXh1WEc0Z0lDQWdiR1YwSUh0cGJtUnBZMlZ6TENCM1pXbG5hSFJ6T2lCa2FYTjBZVzVqWlhOOUlEMGdhR1ZoY0M1a1pXaGxZWEJUYjNKMEtISmxjM1ZzZENrN1hHNWNiaUFnSUNCcGJtUnBZMlZ6SUQwZ2FXNWthV05sY3k1dFlYQW9LSGdwSUQwK0lIZ3VjMnhwWTJVb01Dd2dkR2hwY3k1dVRtVnBaMmhpYjNKektTazdYRzRnSUNBZ1pHbHpkR0Z1WTJWeklEMGdaR2x6ZEdGdVkyVnpMbTFoY0Nnb2VDa2dQVDRnZUM1emJHbGpaU2d3TENCMGFHbHpMbTVPWldsbmFHSnZjbk1wS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR0ZrYW5WemRHVmtURzlqWVd4RGIyNXVaV04wYVhacGRIa2dQU0JOWVhSb0xtMWhlQ2d3TENCMGFHbHpMbXh2WTJGc1EyOXVibVZqZEdsMmFYUjVJQzBnTVNrN1hHNGdJQ0FnWTI5dWMzUWdlM05wWjIxaGN5d2djbWh2YzMwZ1BTQjBhR2x6TG5OdGIyOTBhRXRPVGtScGMzUmhibU5sS0Z4dUlDQWdJQ0FnWkdsemRHRnVZMlZ6TEZ4dUlDQWdJQ0FnZEdocGN5NXVUbVZwWjJoaWIzSnpMRnh1SUNBZ0lDQWdZV1JxZFhOMFpXUk1iMk5oYkVOdmJtNWxZM1JwZG1sMGVWeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0I3Y205M2N5d2dZMjlzY3l3Z2RtRnNjMzBnUFNCMGFHbHpMbU52YlhCMWRHVk5aVzFpWlhKemFHbHdVM1J5Wlc1bmRHaHpLRnh1SUNBZ0lDQWdhVzVrYVdObGN5eGNiaUFnSUNBZ0lHUnBjM1JoYm1ObGN5eGNiaUFnSUNBZ0lITnBaMjFoY3l4Y2JpQWdJQ0FnSUhKb2IzTmNiaUFnSUNBcE8xeHVYRzRnSUNBZ1kyOXVjM1FnYzJsNlpTQTlJRnQwYjFSeVlXNXpabTl5YlM1c1pXNW5kR2dzSUhKaGQwUmhkR0V1YkdWdVozUm9YVHRjYmlBZ0lDQnNaWFFnWjNKaGNHZ2dQU0J1WlhjZ2JXRjBjbWw0TGxOd1lYSnpaVTFoZEhKcGVDaHliM2R6TENCamIyeHpMQ0IyWVd4ekxDQnphWHBsS1R0Y2JseHVJQ0FnSUM4dklGUm9hWE1nZDJGeklHRWdkbVZ5ZVNCemNHVmphV0ZzYkhrZ1kyOXVjM1J5ZFdOMFpXUWdaM0poY0dnZ2QybDBhQ0JqYjI1emRHRnVkQ0JrWldkeVpXVXVYRzRnSUNBZ0x5OGdWR2hoZENCc1pYUnpJSFZ6SUdSdklHWmhibU41SUhWdWNHRmphMmx1WnlCaWVTQnlaWE5vWVhCcGJtY2dkR2hsSUdOemNpQnRZWFJ5YVhnZ2FXNWthV05sYzF4dUlDQWdJQzh2SUdGdVpDQmtZWFJoTGlCRWIybHVaeUJ6YnlCeVpXeHBaWE1nYjI0Z2RHaGxJR052Ym5OMFlXNTBJR1JsWjNKbFpTQmhjM04xYlhCMGFXOXVJVnh1WEc0Z0lDQWdZMjl1YzNRZ2JtOXliV1ZrSUQwZ2JXRjBjbWw0TG01dmNtMWhiR2w2WlNobmNtRndhQ3dnYldGMGNtbDRMazV2Y20xVWVYQmxMbXd4S1R0Y2JseHVJQ0FnSUdOdmJuTjBJR056Y2sxaGRISnBlQ0E5SUcxaGRISnBlQzVuWlhSRFUxSW9ibTl5YldWa0tUdGNiaUFnSUNCamIyNXpkQ0J1VUc5cGJuUnpJRDBnZEc5VWNtRnVjMlp2Y20wdWJHVnVaM1JvTzF4dVhHNGdJQ0FnWTI5dWMzUWdaVWx1WkdsalpYTWdQU0IxZEdsc2N5NXlaWE5vWVhCbE1tUW9YRzRnSUNBZ0lDQmpjM0pOWVhSeWFYZ3VhVzVrYVdObGN5eGNiaUFnSUNBZ0lHNVFiMmx1ZEhNc1hHNGdJQ0FnSUNCMGFHbHpMbTVPWldsbmFHSnZjbk5jYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ1pWZGxhV2RvZEhNZ1BTQjFkR2xzY3k1eVpYTm9ZWEJsTW1Rb1hHNGdJQ0FnSUNCamMzSk5ZWFJ5YVhndWRtRnNkV1Z6TEZ4dUlDQWdJQ0FnYmxCdmFXNTBjeXhjYmlBZ0lDQWdJSFJvYVhNdWJrNWxhV2RvWW05eWMxeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0JsYldKbFpHUnBibWNnUFNCcGJtbDBWSEpoYm5ObWIzSnRLR1ZKYm1ScFkyVnpMQ0JsVjJWcFoyaDBjeXdnZEdocGN5NWxiV0psWkdScGJtY3BPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JrVndiMk5vY3lBOUlIUm9hWE11YmtWd2IyTm9jeUEvWEc0Z0lDQWdJQ0IwYUdsekxtNUZjRzlqYUhNZ0x5QXpJRHBjYmlBZ0lDQWdJR2R5WVhCb0xtNVNiM2R6SUR3OUlERXdNREF3SUQ5Y2JpQWdJQ0FnSUNBZ01UQXdJRHBjYmlBZ0lDQWdJQ0FnTXpBN1hHNWNiaUFnSUNCamIyNXpkQ0JuY21Gd2FFMWhlQ0E5SUdkeVlYQm9YRzRnSUNBZ0lDQXVaMlYwVm1Gc2RXVnpLQ2xjYmlBZ0lDQWdJQzV5WldSMVkyVW9LRzFoZUN3Z2RtRnNLU0E5UGlBb2RtRnNJRDRnYldGNElEOGdkbUZzSURvZ2JXRjRLU3dnTUNrN1hHNGdJQ0FnWjNKaGNHZ2dQU0JuY21Gd2FDNXRZWEFvS0haaGJIVmxLU0E5UGlBb2RtRnNkV1VnUENCbmNtRndhRTFoZUNBdklHNUZjRzlqYUhNZ1B5QXdJRG9nZG1Gc2RXVXBLVHRjYmlBZ0lDQm5jbUZ3YUNBOUlHMWhkSEpwZUM1bGJHbHRhVzVoZEdWYVpYSnZjeWhuY21Gd2FDazdYRzVjYmlBZ0lDQmpiMjV6ZENCbGNHOWphSE5RWlhKVFlXMXdiR1VnUFNCMGFHbHpMbTFoYTJWRmNHOWphSE5RWlhKVFlXMXdiR1VvWEc0Z0lDQWdJQ0JuY21Gd2FDNW5aWFJXWVd4MVpYTW9LU3hjYmlBZ0lDQWdJRzVGY0c5amFITmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJR2hsWVdRZ1BTQm5jbUZ3YUM1blpYUlNiM2R6S0NrN1hHNGdJQ0FnWTI5dWMzUWdkR0ZwYkNBOUlHZHlZWEJvTG1kbGRFTnZiSE1vS1R0Y2JseHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdiM0IwYVcxcGVtRjBhVzl1SUhOc2FXZG9kR3g1SUdScFptWmxjbVZ1ZEd4NUlIUm9ZVzRnZEdobElHWnBkQ0J0WlhSb2IyUXVYRzRnSUNBZ2RHaHBjeTVoYzNOcFoyNVBjSFJwYldsNllYUnBiMjVUZEdGMFpWQmhjbUZ0WlhSbGNuTW9lMXh1SUNBZ0lDQWdhR1ZoWkVWdFltVmtaR2x1WnpvZ1pXMWlaV1JrYVc1bkxGeHVJQ0FnSUNBZ2RHRnBiRVZ0WW1Wa1pHbHVaem9nZEdocGN5NWxiV0psWkdScGJtY3NYRzRnSUNBZ0lDQm9aV0ZrTEZ4dUlDQWdJQ0FnZEdGcGJDeGNiaUFnSUNBZ0lHTjFjbkpsYm5SRmNHOWphRG9nTUN4Y2JpQWdJQ0FnSUc1RmNHOWphSE1zWEc0Z0lDQWdJQ0J1Vm1WeWRHbGpaWE02SUdkeVlYQm9MbWRsZEVScGJYTW9LVnN4WFN4Y2JpQWdJQ0FnSUdWd2IyTm9jMUJsY2xOaGJYQnNaU3hjYmlBZ0lDQjlLVHRjYmlBZ0lDQjBhR2x6TG5CeVpYQmhjbVZHYjNKUGNIUnBiV2w2WVhScGIyNU1iMjl3S0NrN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXZjSFJwYldsNlpVeGhlVzkxZENncE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU5vWldOcmN5QnBaaUIzWlNkeVpTQjFjMmx1WnlCemRYQmxjblpwYzJWa0lIQnliMnBsWTNScGIyNHNJSFJvWlc0Z2NISnZZMlZ6Y3lCMGFHVWdaM0poY0doY2JpQWdJQ29nWVdOamIzSmthVzVuYkhrdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElIQnliMk5sYzNOSGNtRndhRVp2Y2xOMWNHVnlkbWx6WldSUWNtOXFaV04wYVc5dUtDa2dlMXh1SUNBZ0lHTnZibk4wSUh0WkxDQllmU0E5SUhSb2FYTTdYRzRnSUNBZ2FXWWdLRmtwSUh0Y2JpQWdJQ0FnSUdsbUlDaFpMbXhsYm1kMGFDQWhQVDBnV0M1c1pXNW5kR2dwWEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVEdWdVozUm9JRzltSUZnZ1lXNWtJSGtnYlhWemRDQmlaU0JsY1hWaGJDY3BPMXh1WEc1Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG5SaGNtZGxkRTFsZEhKcFl5QTlQVDBnVkdGeVoyVjBUV1YwY21sakxtTmhkR1ZuYjNKcFkyRnNLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR3gwSUQwZ2RHaHBjeTUwWVhKblpYUlhaV2xuYUhRZ1BDQXhMakE3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1poY2tScGMzUWdQU0JzZENBL0lESXVOU0FxSUNneExqQWdMeUFvTVM0d0lDMGdkR2hwY3k1MFlYSm5aWFJYWldsbmFIUXBLU0E2SURFdU1HVXhNanRjYmlBZ0lDQWdJQ0FnZEdocGN5NW5jbUZ3YUNBOUlIUm9hWE11WTJGMFpXZHZjbWxqWVd4VGFXMXdiR2xqYVdGc1UyVjBTVzUwWlhKelpXTjBhVzl1S0Z4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11WjNKaGNHZ3NYRzRnSUNBZ0lDQWdJQ0FnV1N4Y2JpQWdJQ0FnSUNBZ0lDQm1ZWEpFYVhOMFhHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQXZMeUJVVDBSUElDaGhibVI1WTI5bGJtVnVRQ2s2SUdGa1pDQnViMjR0WTJGMFpXZHZjbWxqWVd3Z2MzVndaWEoyYVhObFpDQmxiV0psWkdScGJtZHpMbHh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJOWVc1MVlXeHNlU0J6ZEdWd0lIUm9jbTkxWjJnZ2RHaGxJRzl3ZEdsdGFYcGhkR2x2YmlCd2NtOWpaWE56SUc5dVpTQmxjRzlqYUNCaGRDQmhJSFJwYldVdVhHNGdJQ0FxTDF4dUlDQnpkR1Z3S0NrZ2UxeHVJQ0FnSUdOdmJuTjBJSHRqZFhKeVpXNTBSWEJ2WTJoOUlEMGdkR2hwY3k1dmNIUnBiV2w2WVhScGIyNVRkR0YwWlR0Y2JseHVJQ0FnSUdsbUlDaGpkWEp5Wlc1MFJYQnZZMmdnUENCMGFHbHpMbWRsZEU1RmNHOWphSE1vS1NsY2JpQWdJQ0FnSUhSb2FYTXViM0IwYVcxcGVtVk1ZWGx2ZFhSVGRHVndLR04xY25KbGJuUkZjRzlqYUNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXZjSFJwYldsNllYUnBiMjVUZEdGMFpTNWpkWEp5Wlc1MFJYQnZZMmc3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCMGFHVWdZMjl0Y0hWMFpXUWdjSEp2YW1WamRHVmtJR1Z0WW1Wa1pHbHVaeTVjYmlBZ0lDb3ZYRzRnSUdkbGRFVnRZbVZrWkdsdVp5Z3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVsYldKbFpHUnBibWM3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EyOXRjSFYwWlNCMGFHVWdZR0J1VG1WcFoyaGliM0p6WUdBZ2JtVmhjbVZ6ZENCd2IybHVkSE1nWm05eUlHVmhZMmdnWkdGMFlTQndiMmx1ZENCcGJpQmdZRmhnWUZ4dUlDQWdLaUJVYUdseklHMWhlU0JpWlNCbGVHRmpkQ3dnWW5WMElHMXZjbVVnYkdsclpXeDVJR2x6SUdGd2NISnZlR2x0WVhSbFpDQjJhV0VnYm1WaGNtVnpkQ0J1WldsbmFHSnZjbHh1SUNBZ0tpQmtaWE5qWlc1MExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQnVaV0Z5WlhOMFRtVnBaMmhpYjNKektGZzZJRlpsWTNSdmNpa2dlMXh1SUNBZ0lHTnZibk4wSUh0a2FYTjBZVzVqWlVadUxDQnVUbVZwWjJoaWIzSnpmU0E5SUhSb2FYTTdYRzRnSUNBZ1kyOXVjM1FnYkc5bk1pQTlJQ2h1T2lCdWRXMWlaWElwSUQwK0lFMWhkR2d1Ykc5bktHNHBJQzhnVFdGMGFDNXNiMmNvTWlrN1hHNGdJQ0FnWTI5dWMzUWdiV1YwY21salRrNUVaWE5qWlc1MElEMGdibTVFWlhOalpXNTBMbTFoYTJWT1RrUmxjMk5sYm5Rb1pHbHpkR0Z1WTJWR2Jpd2dkR2hwY3k1eVlXNWtiMjBwTzF4dVhHNGdJQ0FnTHk4Z1NHRnVaR3hsSUhCNWRHaHZiak1nY205MWJtUnBibWNnWkc5M2JpQm1jbTl0SURBdU5TQmthWE5qY25CaGJtTjVYRzRnSUNBZ1kyOXVjM1FnY205MWJtUWdQU0FvYmpvZ2JuVnRZbVZ5S1NBOVBpQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JpQTlQVDBnTUM0MUlEOGdNQ0E2SUUxaGRHZ3VjbTkxYm1Rb2JpazdYRzRnSUNBZ2ZUdGNibHh1SUNBZ0lHTnZibk4wSUc1VWNtVmxjeUE5SURVZ0t5Qk5ZWFJvTG1ac2IyOXlLSEp2ZFc1a0tGZ3ViR1Z1WjNSb0lDb3FJREF1TlNBdklESXdMakFwS1R0Y2JpQWdJQ0JqYjI1emRDQnVTWFJsY25NZ1BTQk5ZWFJvTG0xaGVDZzFMQ0JOWVhSb0xtWnNiMjl5S0UxaGRHZ3VjbTkxYm1Rb2JHOW5NaWhZTG14bGJtZDBhQ2twS1NrN1hHNWNiaUFnSUNCMGFHbHpMbkp3Um05eVpYTjBJRDBnZEhKbFpTNXRZV3RsUm05eVpYTjBLRmdzSUc1T1pXbG5hR0p2Y25Nc0lHNVVjbVZsY3l3Z2RHaHBjeTV5WVc1a2IyMHBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JHVmhaa0Z5Y21GNUlEMGdkSEpsWlM1dFlXdGxUR1ZoWmtGeWNtRjVLSFJvYVhNdWNuQkdiM0psYzNRcE8xeHVJQ0FnSUdOdmJuTjBJSHRwYm1ScFkyVnpMQ0IzWldsbmFIUnpmU0E5SUcxbGRISnBZMDVPUkdWelkyVnVkQ2hjYmlBZ0lDQWdJRmdzWEc0Z0lDQWdJQ0JzWldGbVFYSnlZWGtzWEc0Z0lDQWdJQ0J1VG1WcFoyaGliM0p6TEZ4dUlDQWdJQ0FnYmtsMFpYSnpYRzRnSUNBZ0tUdGNiaUFnSUNCeVpYUjFjbTRnZTJ0dWJrbHVaR2xqWlhNNklHbHVaR2xqWlhNc0lHdHVia1JwYzNSaGJtTmxjem9nZDJWcFoyaDBjMzA3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IybDJaVzRnWVNCelpYUWdiMllnWkdGMFlTQllMQ0JoSUc1bGFXZG9ZbTl5YUc5dlpDQnphWHBsTENCaGJtUWdZU0J0WldGemRYSmxJRzltSUdScGMzUmhibU5sWEc0Z0lDQXFJR052YlhCMWRHVWdkR2hsSUdaMWVucDVJSE5wYlhCc2FXTnBZV3dnYzJWMElDaG9aWEpsSUhKbGNISmxjMlZ1ZEdWa0lHRnpJR0VnWm5WNmVua2daM0poY0dnZ2FXNWNiaUFnSUNvZ2RHaGxJR1p2Y20wZ2IyWWdZU0J6Y0dGeWMyVWdiV0YwY21sNEtTQmhjM052WTJsaGRHVmtJSFJ2SUhSb1pTQmtZWFJoTGlCVWFHbHpJR2x6SUdSdmJtVWdZbmxjYmlBZ0lDb2diRzlqWVd4c2VTQmhjSEJ5YjNocGJXRjBhVzVuSUdkbGIyUmxjMmxqSUdScGMzUmhibU5sSUdGMElHVmhZMmdnY0c5cGJuUXNJR055WldGMGFXNW5JR0VnWm5WNmVubGNiaUFnSUNvZ2MybHRjR3hwWTJsaGJDQnpaWFFnWm05eUlHVmhZMmdnYzNWamFDQndiMmx1ZEN3Z1lXNWtJSFJvWlc0Z1kyOXRZbWx1YVc1bklHRnNiQ0IwYUdVZ2JHOWpZV3hjYmlBZ0lDb2dablY2ZW5rZ2MybHRjR3hwWTJsaGJDQnpaWFJ6SUdsdWRHOGdZU0JuYkc5aVlXd2diMjVsSUhacFlTQmhJR1oxZW5wNUlIVnVhVzl1TGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCbWRYcDZlVk5wYlhCc2FXTnBZV3hUWlhRb1hHNGdJQ0FnV0RvZ1ZtVmpkRzl5TEZ4dUlDQWdJRzVPWldsbmFHSnZjbk02SUc1MWJXSmxjaXhjYmlBZ0lDQnpaWFJQY0UxcGVGSmhkR2x2SUQwZ01TNHdYRzRnSUNrZ2UxeHVJQ0FnSUdOdmJuTjBJSHRyYm01SmJtUnBZMlZ6SUQwZ1cxMHNJR3R1YmtScGMzUmhibU5sY3lBOUlGdGRMQ0JzYjJOaGJFTnZibTVsWTNScGRtbDBlWDBnUFNCMGFHbHpPMXh1WEc0Z0lDQWdZMjl1YzNRZ2UzTnBaMjFoY3l3Z2NtaHZjMzBnUFNCMGFHbHpMbk50YjI5MGFFdE9Ua1JwYzNSaGJtTmxLRnh1SUNBZ0lDQWdhMjV1UkdsemRHRnVZMlZ6TEZ4dUlDQWdJQ0FnYms1bGFXZG9ZbTl5Y3l4Y2JpQWdJQ0FnSUd4dlkyRnNRMjl1Ym1WamRHbDJhWFI1WEc0Z0lDQWdLVHRjYmx4dUlDQWdJR052Ym5OMElIdHliM2R6TENCamIyeHpMQ0IyWVd4emZTQTlJSFJvYVhNdVkyOXRjSFYwWlUxbGJXSmxjbk5vYVhCVGRISmxibWQwYUhNb1hHNGdJQ0FnSUNCcmJtNUpibVJwWTJWekxGeHVJQ0FnSUNBZ2EyNXVSR2x6ZEdGdVkyVnpMRnh1SUNBZ0lDQWdjMmxuYldGekxGeHVJQ0FnSUNBZ2NtaHZjMXh1SUNBZ0lDazdYRzVjYmlBZ0lDQmpiMjV6ZENCemFYcGxJRDBnVzFndWJHVnVaM1JvTENCWUxteGxibWQwYUYwN1hHNGdJQ0FnWTI5dWMzUWdjM0JoY25ObFRXRjBjbWw0SUQwZ2JtVjNJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGdvY205M2N5d2dZMjlzY3l3Z2RtRnNjeXdnYzJsNlpTazdYRzVjYmlBZ0lDQmpiMjV6ZENCMGNtRnVjM0J2YzJVZ1BTQnRZWFJ5YVhndWRISmhibk53YjNObEtITndZWEp6WlUxaGRISnBlQ2s3WEc0Z0lDQWdZMjl1YzNRZ2NISnZaRTFoZEhKcGVDQTlJRzFoZEhKcGVDNXdZV2x5ZDJselpVMTFiSFJwY0d4NUtITndZWEp6WlUxaGRISnBlQ3dnZEhKaGJuTndiM05sS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR0VnUFNCdFlYUnlhWGd1YzNWaWRISmhZM1FvYldGMGNtbDRMbUZrWkNoemNHRnljMlZOWVhSeWFYZ3NJSFJ5WVc1emNHOXpaU2tzSUhCeWIyUk5ZWFJ5YVhncE8xeHVJQ0FnSUdOdmJuTjBJR0lnUFNCdFlYUnlhWGd1YlhWc2RHbHdiSGxUWTJGc1lYSW9ZU3dnYzJWMFQzQk5hWGhTWVhScGJ5azdYRzRnSUNBZ1kyOXVjM1FnWXlBOUlHMWhkSEpwZUM1dGRXeDBhWEJzZVZOallXeGhjaWh3Y205a1RXRjBjbWw0TENBeExqQWdMU0J6WlhSUGNFMXBlRkpoZEdsdktUdGNiaUFnSUNCamIyNXpkQ0J5WlhOMWJIUWdQU0J0WVhSeWFYZ3VZV1JrS0dJc0lHTXBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRiMjFpYVc1bElHRWdablY2ZW5rZ2MybHRjR3hwWTJsaGJDQnpaWFFnZDJsMGFDQmhibTkwYUdWeUlHWjFlbnA1SUhOcGJYQnNhV05wWVd3Z2MyVjBYRzRnSUNBcUlHZGxibVZ5WVhSbFpDQm1jbTl0SUdOaGRHVm5iM0pwWTJGc0lHUmhkR0VnZFhOcGJtY2dZMkYwWldkdmNtbGpZV3dnWkdsemRHRnVZMlZ6TGlCVWFHVWdkR0Z5WjJWMFhHNGdJQ0FxSUdSaGRHRWdhWE1nWVhOemRXMWxaQ0IwYnlCaVpTQmpZWFJsWjI5eWFXTmhiQ0JzWVdKbGJDQmtZWFJoSUNoaElIWmxZM1J2Y2lCdlppQnNZV0psYkhNcExGeHVJQ0FnS2lCaGJtUWdkR2hwY3lCM2FXeHNJSFZ3WkdGMFpTQjBhR1VnWm5WNmVua2djMmx0Y0d4cFkybGhiQ0J6WlhRZ2RHOGdjbVZ6Y0dWamRDQjBhR0YwSUd4aFltVnNJR1JoZEdFdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElHTmhkR1ZuYjNKcFkyRnNVMmx0Y0d4cFkybGhiRk5sZEVsdWRHVnljMlZqZEdsdmJpaGNiaUFnSUNCemFXMXdiR2xqYVdGc1UyVjBPaUJ0WVhSeWFYZ3VVM0JoY25ObFRXRjBjbWw0TEZ4dUlDQWdJSFJoY21kbGREb2diblZ0WW1WeVcxMHNYRzRnSUNBZ1ptRnlSR2x6ZERvZ2JuVnRZbVZ5TEZ4dUlDQWdJSFZ1YTI1dmQyNUVhWE4wSUQwZ01TNHdYRzRnSUNrZ2UxeHVJQ0FnSUd4bGRDQnBiblJsY25ObFkzUnBiMjRnUFNCbVlYTjBTVzUwWlhKelpXTjBhVzl1S0Z4dUlDQWdJQ0FnYzJsdGNHeHBZMmxoYkZObGRDeGNiaUFnSUNBZ0lIUmhjbWRsZEN4Y2JpQWdJQ0FnSUhWdWEyNXZkMjVFYVhOMExGeHVJQ0FnSUNBZ1ptRnlSR2x6ZEZ4dUlDQWdJQ2s3WEc0Z0lDQWdhVzUwWlhKelpXTjBhVzl1SUQwZ2JXRjBjbWw0TG1Wc2FXMXBibUYwWlZwbGNtOXpLR2x1ZEdWeWMyVmpkR2x2YmlrN1hHNGdJQ0FnY21WMGRYSnVJSEpsYzJWMFRHOWpZV3hEYjI1dVpXTjBhWFpwZEhrb2FXNTBaWEp6WldOMGFXOXVLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGIyMXdkWFJsSUdFZ1kyOXVkR2x1ZFc5MWN5QjJaWEp6YVc5dUlHOW1JSFJvWlNCa2FYTjBZVzVqWlNCMGJ5QjBhR1VnYTNSb0lHNWxZWEpsYzNSY2JpQWdJQ29nYm1WcFoyaGliM0l1SUZSb1lYUWdhWE1zSUhSb2FYTWdhWE1nYzJsdGFXeGhjaUIwYnlCcmJtNHRaR2x6ZEdGdVkyVWdZblYwSUdGc2JHOTNjeUJqYjI1MGFXNTFiM1Z6WEc0Z0lDQXFJR3NnZG1Gc2RXVnpJSEpoZEdobGNpQjBhR0Z1SUhKbGNYVnBjbWx1WnlCaGJpQnBiblJsWjNKaGJDQnJMaUJKYmlCbGMzTmpaVzVqWlNCM1pTQmhjbVVnYzJsdGNHeDVYRzRnSUNBcUlHTnZiWEIxZEdsdVp5QjBhR1VnWkdsemRHRnVZMlVnYzNWamFDQjBhR0YwSUhSb1pTQmpZWEprYVc1aGJHbDBlU0J2WmlCbWRYcDZlU0J6WlhRZ2QyVWdaMlZ1WlhKaGRHVmNiaUFnSUNvZ2FYTWdheTVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnYzIxdmIzUm9TMDVPUkdsemRHRnVZMlVvWEc0Z0lDQWdaR2x6ZEdGdVkyVnpPaUJXWldOMGIzSnpMRnh1SUNBZ0lHczZJRzUxYldKbGNpeGNiaUFnSUNCc2IyTmhiRU52Ym01bFkzUnBkbWwwZVNBOUlERXVNQ3hjYmlBZ0lDQnVTWFJsY2lBOUlEWTBMRnh1SUNBZ0lHSmhibVIzYVdSMGFDQTlJREV1TUZ4dUlDQXBJSHRjYmlBZ0lDQmpiMjV6ZENCMFlYSm5aWFFnUFNBb1RXRjBhQzVzYjJjb2F5a2dMeUJOWVhSb0xteHZaeWd5S1NrZ0tpQmlZVzVrZDJsa2RHZzdYRzRnSUNBZ1kyOXVjM1FnY21odklEMGdkWFJwYkhNdWVtVnliM01vWkdsemRHRnVZMlZ6TG14bGJtZDBhQ2s3WEc0Z0lDQWdZMjl1YzNRZ2NtVnpkV3gwSUQwZ2RYUnBiSE11ZW1WeWIzTW9aR2x6ZEdGdVkyVnpMbXhsYm1kMGFDazdYRzVjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR1JwYzNSaGJtTmxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2JHVjBJR3h2SUQwZ01DNHdPMXh1SUNBZ0lDQWdiR1YwSUdocElEMGdTVzVtYVc1cGRIazdYRzRnSUNBZ0lDQnNaWFFnYldsa0lEMGdNUzR3TzF4dVhHNGdJQ0FnSUNBdkx5QlVUMFJQT2lCVWFHbHpJR2x6SUhabGNua2dhVzVsWm1acFkybGxiblFzSUdKMWRDQjNhV3hzSUdSdklHWnZjaUJ1YjNjdUlFWkpXRTFGWEc0Z0lDQWdJQ0JqYjI1emRDQnBkR2hFYVhOMFlXNWpaWE1nUFNCa2FYTjBZVzVqWlhOYmFWMDdYRzRnSUNBZ0lDQmpiMjV6ZENCdWIyNWFaWEp2UkdsemRITWdQU0JwZEdoRWFYTjBZVzVqWlhNdVptbHNkR1Z5S0Noa0tTQTlQaUJrSUQ0Z01DNHdLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHNXZibHBsY205RWFYTjBjeTVzWlc1bmRHZ2dQajBnYkc5allXeERiMjV1WldOMGFYWnBkSGtwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYVc1a1pYZ2dQU0JOWVhSb0xtWnNiMjl5S0d4dlkyRnNRMjl1Ym1WamRHbDJhWFI1S1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYVc1MFpYSndiMnhoZEdsdmJpQTlJR3h2WTJGc1EyOXVibVZqZEdsMmFYUjVJQzBnYVc1a1pYZzdYRzRnSUNBZ0lDQWdJR2xtSUNocGJtUmxlQ0ErSURBcElIdGNiaUFnSUNBZ0lDQWdJQ0J5YUc5YmFWMGdQU0J1YjI1YVpYSnZSR2x6ZEhOYmFXNWtaWGdnTFNBeFhUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2FXNTBaWEp3YjJ4aGRHbHZiaUErSUZOTlQwOVVTRjlMWDFSUFRFVlNRVTVEUlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21odlcybGRJQ3M5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2x1ZEdWeWNHOXNZWFJwYjI0Z0tpQW9ibTl1V21WeWIwUnBjM1J6VzJsdVpHVjRYU0F0SUc1dmJscGxjbTlFYVhOMGMxdHBibVJsZUNBdElERmRLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdjbWh2VzJsZElEMGdhVzUwWlhKd2IyeGhkR2x2YmlBcUlHNXZibHBsY205RWFYTjBjMXN3WFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaHViMjVhWlhKdlJHbHpkSE11YkdWdVozUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnlhRzliYVYwZ1BTQjFkR2xzY3k1dFlYZ29ibTl1V21WeWIwUnBjM1J6S1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2JpQTlJREE3SUc0Z1BDQnVTWFJsY2pzZ2Jpc3JLU0I3WEc0Z0lDQWdJQ0FnSUd4bGRDQndjM1Z0SUQwZ01DNHdPMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JxSUQwZ01Uc2dhaUE4SUdScGMzUmhibU5sYzF0cFhTNXNaVzVuZEdnN0lHb3JLeWtnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdRZ1BTQmthWE4wWVc1alpYTmJhVjFiYWwwZ0xTQnlhRzliYVYwN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dRZ1BpQXdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NITjFiU0FyUFNCTllYUm9MbVY0Y0NndEtHUWdMeUJ0YVdRcEtUdGNiaUFnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0J3YzNWdElDczlJREV1TUR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3lod2MzVnRJQzBnZEdGeVoyVjBLU0E4SUZOTlQwOVVTRjlMWDFSUFRFVlNRVTVEUlNsY2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVYRzRnSUNBZ0lDQWdJR2xtSUNod2MzVnRJRDRnZEdGeVoyVjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FHa2dQU0J0YVdRN1hHNGdJQ0FnSUNBZ0lDQWdiV2xrSUQwZ0tHeHZJQ3NnYUdrcElDOGdNaTR3TzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHeHZJRDBnYldsa08xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNob2FTQTlQVDBnU1c1bWFXNXBkSGtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnRhV1FnS2owZ01qdGNiaUFnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0J0YVdRZ1BTQW9iRzhnS3lCb2FTa2dMeUF5TGpBN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVZ6ZFd4MFcybGRJRDBnYldsa08xeHVYRzRnSUNBZ0lDQXZMeUJVVDBSUE9pQlVhR2x6SUdseklIWmxjbmtnYVc1bFptWnBZMmxsYm5Rc0lHSjFkQ0IzYVd4c0lHUnZJR1p2Y2lCdWIzY3VJRVpKV0UxRlhHNGdJQ0FnSUNCcFppQW9jbWh2VzJsZElENGdNQzR3S1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUcxbFlXNUpkR2hFYVhOMFlXNWpaWE1nUFNCMWRHbHNjeTV0WldGdUtHbDBhRVJwYzNSaGJtTmxjeWs3WEc0Z0lDQWdJQ0FnSUdsbUlDaHlaWE4xYkhSYmFWMGdQQ0JOU1U1ZlMxOUVTVk5VWDFORFFVeEZJQ29nYldWaGJrbDBhRVJwYzNSaGJtTmxjeWxjYmlBZ0lDQWdJQ0FnSUNCeVpYTjFiSFJiYVYwZ1BTQk5TVTVmUzE5RVNWTlVYMU5EUVV4RklDb2diV1ZoYmtsMGFFUnBjM1JoYm1ObGN6dGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUcxbFlXNUVhWE4wWVc1alpYTWdQU0IxZEdsc2N5NXRaV0Z1S0dScGMzUmhibU5sY3k1dFlYQW9kWFJwYkhNdWJXVmhiaWtwTzF4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MFcybGRJRHdnVFVsT1gwdGZSRWxUVkY5VFEwRk1SU0FxSUcxbFlXNUVhWE4wWVc1alpYTXBYRzRnSUNBZ0lDQWdJQ0FnY21WemRXeDBXMmxkSUQwZ1RVbE9YMHRmUkVsVFZGOVRRMEZNUlNBcUlHMWxZVzVFYVhOMFlXNWpaWE03WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIdHphV2R0WVhNNklISmxjM1ZzZEN3Z2NtaHZjem9nY21odmZUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEYjI1emRISjFZM1FnZEdobElHMWxiV0psY25Ob2FYQWdjM1J5Wlc1bmRHZ2daR0YwWVNCbWIzSWdkR2hsSURFdGMydGxiR1YwYjI0Z2IyWWdaV0ZqYUNCc2IyTmhiRnh1SUNBZ0tpQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkQ0F0TFNCMGFHbHpJR2x6SUdadmNtMWxaQ0JoY3lCaElITndZWEp6WlNCdFlYUnlhWGdnZDJobGNtVWdaV0ZqYUNCeWIzY2dhWE5jYmlBZ0lDb2dZU0JzYjJOaGJDQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkQ3dnZDJsMGFDQmhJRzFsYldKbGNuTm9hWEFnYzNSeVpXNW5kR2dnWm05eUlIUm9aVnh1SUNBZ0tpQXhMWE5wYlhCc1pYZ2dkRzhnWldGamFDQnZkR2hsY2lCa1lYUmhJSEJ2YVc1MExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmpiMjF3ZFhSbFRXVnRZbVZ5YzJocGNGTjBjbVZ1WjNSb2N5aGNiaUFnSUNCcmJtNUpibVJwWTJWek9pQldaV04wYjNKekxGeHVJQ0FnSUd0dWJrUnBjM1JoYm1ObGN6b2dWbVZqZEc5eWN5eGNiaUFnSUNCemFXZHRZWE02SUc1MWJXSmxjbHRkTEZ4dUlDQWdJSEpvYjNNNklHNTFiV0psY2x0ZFhHNGdJQ2s2SUhzZ2NtOTNjem9nYm5WdFltVnlXMTA3SUdOdmJITTZJRzUxYldKbGNsdGRPeUIyWVd4ek9pQnVkVzFpWlhKYlhTQjlJSHRjYmlBZ0lDQmpiMjV6ZENCdVUyRnRjR3hsY3lBOUlHdHVia2x1WkdsalpYTXViR1Z1WjNSb08xeHVJQ0FnSUdOdmJuTjBJRzVPWldsbmFHSnZjbk1nUFNCcmJtNUpibVJwWTJWeld6QmRMbXhsYm1kMGFEdGNibHh1SUNBZ0lHTnZibk4wSUhKdmQzTWdQU0IxZEdsc2N5NTZaWEp2Y3lodVUyRnRjR3hsY3lBcUlHNU9aV2xuYUdKdmNuTXBPMXh1SUNBZ0lHTnZibk4wSUdOdmJITWdQU0IxZEdsc2N5NTZaWEp2Y3lodVUyRnRjR3hsY3lBcUlHNU9aV2xuYUdKdmNuTXBPMXh1SUNBZ0lHTnZibk4wSUhaaGJITWdQU0IxZEdsc2N5NTZaWEp2Y3lodVUyRnRjR3hsY3lBcUlHNU9aV2xuYUdKdmNuTXBPMXh1WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0J1VTJGdGNHeGxjenNnYVNzcktTQjdYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnTURzZ2FpQThJRzVPWldsbmFHSnZjbk03SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0JzWlhRZ2RtRnNJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2FXWWdLR3R1YmtsdVpHbGpaWE5iYVYxYmFsMGdQVDA5SUMweEtWeHVJQ0FnSUNBZ0lDQWdJR052Ym5ScGJuVmxPeUF2THlCWFpTQmthV1J1SjNRZ1oyVjBJSFJvWlNCbWRXeHNJR3R1YmlCbWIzSWdhVnh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHJibTVKYm1ScFkyVnpXMmxkVzJwZElEMDlQU0JwS1Z4dUlDQWdJQ0FnSUNBZ0lIWmhiQ0E5SURBdU1EdGNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9hMjV1UkdsemRHRnVZMlZ6VzJsZFcycGRJQzBnY21odmMxdHBYU0E4UFNBd0xqQXBYRzRnSUNBZ0lDQWdJQ0FnZG1Gc0lEMGdNUzR3TzF4dUlDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnZG1Gc0lEMGdUV0YwYUM1bGVIQW9MU2dvYTI1dVJHbHpkR0Z1WTJWelcybGRXMnBkSUMwZ2NtaHZjMXRwWFNrZ0x5QnphV2R0WVhOYmFWMHBLVHRjYmx4dVhHNGdJQ0FnSUNBZ0lISnZkM05iYVNBcUlHNU9aV2xuYUdKdmNuTWdLeUJxWFNBOUlHazdYRzRnSUNBZ0lDQWdJR052YkhOYmFTQXFJRzVPWldsbmFHSnZjbk1nS3lCcVhTQTlJR3R1YmtsdVpHbGpaWE5iYVYxYmFsMDdYRzRnSUNBZ0lDQWdJSFpoYkhOYmFTQXFJRzVPWldsbmFHSnZjbk1nS3lCcVhTQTlJSFpoYkR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlM0p2ZDNNc0lHTnZiSE1zSUhaaGJITjlPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdWFYUnBZV3hwZW1VZ1lTQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkQ0JsYldKbFpHUnBibWNzSUhWemFXNW5JR0VnYzNCbFkybG1hV1ZrWEc0Z0lDQXFJR2x1YVhScFlXeHBjMkYwYVc5dUlHMWxkR2h2WkNCaGJtUWdkR2hsYmlCdGFXNXBiV2w2YVc1bklIUm9aU0JtZFhwNmVTQnpaWFFnWTNKdmMzTWdaVzUwY205d2VWeHVJQ0FnS2lCaVpYUjNaV1Z1SUhSb1pTQXhMWE5yWld4bGRHOXVjeUJ2WmlCMGFHVWdhR2xuYUNCaGJtUWdiRzkzSUdScGJXVnVjMmx2Ym1Gc0lHWjFlbnA1SUhOcGJYQnNhV05wWVd4Y2JpQWdJQ29nYzJWMGN5NWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdhVzVwZEdsaGJHbDZaVk5wYlhCc2FXTnBZV3hUWlhSRmJXSmxaR1JwYm1jb0tTQjdYRzRnSUNBZ1kyOXVjM1FnYmtWd2IyTm9jeUE5SUhSb2FYTXVaMlYwVGtWd2IyTm9jeWdwTzF4dVhHNGdJQ0FnWTI5dWMzUWdlMjVEYjIxd2IyNWxiblJ6ZlNBOUlIUm9hWE03WEc0Z0lDQWdZMjl1YzNRZ1ozSmhjR2hXWVd4MVpYTWdQU0IwYUdsekxtZHlZWEJvTG1kbGRGWmhiSFZsY3lncE8xeHVJQ0FnSUd4bGRDQm5jbUZ3YUUxaGVDQTlJREE3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JuY21Gd2FGWmhiSFZsY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2RtRnNkV1VnUFNCbmNtRndhRlpoYkhWbGMxdHBYVHRjYmlBZ0lDQWdJR2xtSUNobmNtRndhRTFoZUNBOElHZHlZWEJvVm1Gc2RXVnpXMmxkS1Z4dUlDQWdJQ0FnSUNCbmNtRndhRTFoZUNBOUlIWmhiSFZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHZHlZWEJvSUQwZ2RHaHBjeTVuY21Gd2FDNXRZWEFvS0haaGJIVmxLU0E5UGlCN1hHNGdJQ0FnSUNCcFppQW9kbUZzZFdVZ1BDQm5jbUZ3YUUxaGVDQXZJRzVGY0c5amFITXBYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQXdPMXh1SUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQXZMeUJYWlNkeVpTQnViM1FnWTI5dGNIVjBhVzVuSUhSb1pTQnpjR1ZqZEhKaGJDQnBibWwwYVdGc2FYcGhkR2x2YmlCcGJpQjBhR2x6SUdsdGNHeGxiV1Z1ZEdGMGFXOXVYRzRnSUNBZ0x5OGdkVzUwYVd3Z2QyVWdaR1YwWlhKdGFXNWxJR0VnWW1WMGRHVnlJR1ZwWjJWdWRtRnNkV1V2WldsblpXNTJaV04wYjNJZ1kyOXRjSFYwWVhScGIyNWNiaUFnSUNBdkx5QmhjSEJ5YjJGamFGeHVJQ0FnSUhSb2FYTXVaVzFpWldSa2FXNW5JRDBnZFhScGJITXVlbVZ5YjNNb1ozSmhjR2d1YmxKdmQzTXBMbTFoY0Nnb0tTQTlQaUI3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWFJwYkhNdWVtVnliM01vYmtOdmJYQnZibVZ1ZEhNcExtMWhjQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjFkR2xzY3k1MFlYVlNZVzVrS0hSb2FYTXVjbUZ1Wkc5dEtTQXFJREl3SUNzZ0xURXdPeUF2THlCU1lXNWtiMjBnWm5KdmJTQXRNVEFnZEc4Z01UQmNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdMeThnUjJWMElHZHlZWEJvSUdSaGRHRWdhVzRnYjNKa1pYSmxaQ0IzWVhrdUxpNWNiaUFnSUNCamIyNXpkQ0IzWldsbmFIUnpPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVJQ0FnSUdOdmJuTjBJR2hsWVdRNklHNTFiV0psY2x0ZElEMGdXMTA3WEc0Z0lDQWdZMjl1YzNRZ2RHRnBiRG9nYm5WdFltVnlXMTBnUFNCYlhUdGNiaUFnSUNCamIyNXpkQ0J5YjNkRGIyeFdZV3gxWlhNZ1BTQm5jbUZ3YUM1blpYUkJiR3dvS1R0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhKdmQwTnZiRlpoYkhWbGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaVzUwY25rZ1BTQnliM2REYjJ4V1lXeDFaWE5iYVYwN1hHNGdJQ0FnSUNCcFppQW9aVzUwY25rdWRtRnNkV1VwSUh0Y2JpQWdJQ0FnSUNBZ2QyVnBaMmgwY3k1d2RYTm9LR1Z1ZEhKNUxuWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ2RHRnBiQzV3ZFhOb0tHVnVkSEo1TG5KdmR5azdYRzRnSUNBZ0lDQWdJR2hsWVdRdWNIVnphQ2hsYm5SeWVTNWpiMndwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQmpiMjV6ZENCbGNHOWphSE5RWlhKVFlXMXdiR1VnUFNCMGFHbHpMbTFoYTJWRmNHOWphSE5RWlhKVFlXMXdiR1VvZDJWcFoyaDBjeXdnYmtWd2IyTm9jeWs3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMmhsWVdRc0lIUmhhV3dzSUdWd2IyTm9jMUJsY2xOaGJYQnNaWDA3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IybDJaVzRnWVNCelpYUWdiMllnZDJWcFoyaDBjeUJoYm1RZ2JuVnRZbVZ5SUc5bUlHVndiMk5vY3lCblpXNWxjbUYwWlNCMGFHVWdiblZ0WW1WeUlHOW1YRzRnSUNBcUlHVndiMk5vY3lCd1pYSWdjMkZ0Y0d4bElHWnZjaUJsWVdOb0lIZGxhV2RvZEM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2JXRnJaVVZ3YjJOb2MxQmxjbE5oYlhCc1pTaDNaV2xuYUhSek9pQnVkVzFpWlhKYlhTd2dia1Z3YjJOb2N6b2diblZ0WW1WeUtTQjdYRzRnSUNBZ1kyOXVjM1FnY21WemRXeDBJRDBnZFhScGJITXVabWxzYkdWa0tIZGxhV2RvZEhNdWJHVnVaM1JvTENBdE1TNHdLVHRjYmlBZ0lDQmpiMjV6ZENCdFlYZ2dQU0IxZEdsc2N5NXRZWGdvZDJWcFoyaDBjeWs3WEc0Z0lDQWdZMjl1YzNRZ2JsTmhiWEJzWlhNZ1BTQjNaV2xuYUhSekxtMWhjQ2dvZHlrZ1BUNGdLSGNnTHlCdFlYZ3BJQ29nYmtWd2IyTm9jeWs3WEc0Z0lDQWdibE5oYlhCc1pYTXVabTl5UldGamFDZ29iaXdnYVNrZ1BUNGdlMXh1SUNBZ0lDQWdhV1lnS0c0Z1BpQXdLU0J5WlhOMWJIUmJhVjBnUFNCdVJYQnZZMmh6SUM4Z2JsTmhiWEJzWlhOYmFWMDdYRzRnSUNBZ2ZTazdYRzRnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQmMzTnBaMjV6SUc5d2RHbHRhWHBoZEdsdmJpQnpkR0YwWlNCd1lYSmhiV1YwWlhKeklHWnliMjBnWVNCd1lYSjBhV0ZzSUc5d2RHbHRhWHBoZEdsdmJpQnpkR0YwWlM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1lYTnphV2R1VDNCMGFXMXBlbUYwYVc5dVUzUmhkR1ZRWVhKaGJXVjBaWEp6S0hOMFlYUmxPaUJRWVhKMGFXRnNQRTl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxQaWtnZTF4dUlDQWdJRTlpYW1WamRDNWhjM05wWjI0b2RHaHBjeTV2Y0hScGJXbDZZWFJwYjI1VGRHRjBaU3dnYzNSaGRHVXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZObGRITWdZU0JtWlhjZ2IzQjBhVzFwZW1GMGFXOXVJSE4wWVhSbElIQmhjbUZ0WlhSbGNuTWdkR2hoZENCaGNtVWdibVZqWlhOellYSjVJR0psWm05eVpTQmxiblJsY21sdVoxeHVJQ0FnS2lCMGFHVWdiM0IwYVcxcGVtRjBhVzl1SUhOMFpYQWdiRzl2Y0M1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2NISmxjR0Z5WlVadmNrOXdkR2x0YVhwaGRHbHZia3h2YjNBb0tTQjdYRzRnSUNBZ0x5OGdTSGx3WlhKd1lYSmhiV1YwWlhKelhHNGdJQ0FnWTI5dWMzUWdlM0psY0hWc2MybHZibE4wY21WdVozUm9MQ0JzWldGeWJtbHVaMUpoZEdVc0lHNWxaMkYwYVhabFUyRnRjR3hsVW1GMFpYMGdQU0IwYUdsek8xeHVYRzRnSUNBZ1kyOXVjM1FnZTF4dUlDQWdJQ0FnWlhCdlkyaHpVR1Z5VTJGdGNHeGxMRnh1SUNBZ0lDQWdhR1ZoWkVWdFltVmtaR2x1Wnl4Y2JpQWdJQ0FnSUhSaGFXeEZiV0psWkdScGJtY3NYRzRnSUNBZ2ZTQTlJSFJvYVhNdWIzQjBhVzFwZW1GMGFXOXVVM1JoZEdVN1hHNWNiaUFnSUNCamIyNXpkQ0JrYVcwZ1BTQm9aV0ZrUlcxaVpXUmthVzVuV3pCZExteGxibWQwYUR0Y2JpQWdJQ0JqYjI1emRDQnRiM1psVDNSb1pYSWdQU0JvWldGa1JXMWlaV1JrYVc1bkxteGxibWQwYUNBOVBUMGdkR0ZwYkVWdFltVmtaR2x1Wnk1c1pXNW5kR2c3WEc1Y2JpQWdJQ0JqYjI1emRDQmxjRzlqYUhOUVpYSk9aV2RoZEdsMlpWTmhiWEJzWlNBOUlHVndiMk5vYzFCbGNsTmhiWEJzWlM1dFlYQW9YRzRnSUNBZ0lDQW9aU2tnUFQ0Z1pTQXZJRzVsWjJGMGFYWmxVMkZ0Y0d4bFVtRjBaVnh1SUNBZ0lDazdYRzRnSUNBZ1kyOXVjM1FnWlhCdlkyaFBaazVsZUhST1pXZGhkR2wyWlZOaGJYQnNaU0E5SUZzdUxpNWxjRzlqYUhOUVpYSk9aV2RoZEdsMlpWTmhiWEJzWlYwN1hHNGdJQ0FnWTI5dWMzUWdaWEJ2WTJoUFprNWxlSFJUWVcxd2JHVWdQU0JiTGk0dVpYQnZZMmh6VUdWeVUyRnRjR3hsWFR0Y2JseHVJQ0FnSUhSb2FYTXVZWE56YVdkdVQzQjBhVzFwZW1GMGFXOXVVM1JoZEdWUVlYSmhiV1YwWlhKektIdGNiaUFnSUNBZ0lHVndiMk5vVDJaT1pYaDBVMkZ0Y0d4bExGeHVJQ0FnSUNBZ1pYQnZZMmhQWms1bGVIUk9aV2RoZEdsMlpWTmhiWEJzWlN4Y2JpQWdJQ0FnSUdWd2IyTm9jMUJsY2s1bFoyRjBhWFpsVTJGdGNHeGxMRnh1SUNBZ0lDQWdiVzkyWlU5MGFHVnlMRnh1SUNBZ0lDQWdhVzVwZEdsaGJFRnNjR2hoT2lCc1pXRnlibWx1WjFKaGRHVXNYRzRnSUNBZ0lDQmhiSEJvWVRvZ2JHVmhjbTVwYm1kU1lYUmxMRnh1SUNBZ0lDQWdaMkZ0YldFNklISmxjSFZzYzJsdmJsTjBjbVZ1WjNSb0xGeHVJQ0FnSUNBZ1pHbHRMRnh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdWFYUnBZV3hwZW1WeklHOXdkR2x0YVhwaGRHbHZiaUJ6ZEdGMFpTQm1iM0lnYzNSbGNIZHBjMlVnYjNCMGFXMXBlbUYwYVc5dUxseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQnBibWwwYVdGc2FYcGxUM0IwYVcxcGVtRjBhVzl1S0NrZ2UxeHVJQ0FnSUM4dklFRnNaMjl5YVhSb2JTQnpkR0YwWlZ4dUlDQWdJR052Ym5OMElHaGxZV1JGYldKbFpHUnBibWNnUFNCMGFHbHpMbVZ0WW1Wa1pHbHVaenRjYmlBZ0lDQmpiMjV6ZENCMFlXbHNSVzFpWldSa2FXNW5JRDBnZEdocGN5NWxiV0psWkdScGJtYzdYRzVjYmlBZ0lDQXZMeUJKYm1sMGFXRnNhWHBsWkNCcGJpQnBibWwwYVdGc2FYcGxVMmx0Y0d4cFkybGhiRk5sZEVWdFltVmtaR2x1WnlncFhHNGdJQ0FnWTI5dWMzUWdlMmhsWVdRc0lIUmhhV3dzSUdWd2IyTm9jMUJsY2xOaGJYQnNaWDBnUFNCMGFHbHpMbTl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JrVndiMk5vY3lBOUlIUm9hWE11WjJWMFRrVndiMk5vY3lncE8xeHVJQ0FnSUdOdmJuTjBJRzVXWlhKMGFXTmxjeUE5SUhSb2FYTXVaM0poY0dndWJrTnZiSE03WEc1Y2JpQWdJQ0JqYjI1emRDQjdZU3dnWW4wZ1BTQm1hVzVrUVVKUVlYSmhiWE1vZEdocGN5NXpjSEpsWVdRc0lIUm9hWE11YldsdVJHbHpkQ2s3WEc1Y2JpQWdJQ0IwYUdsekxtRnpjMmxuYms5d2RHbHRhWHBoZEdsdmJsTjBZWFJsVUdGeVlXMWxkR1Z5Y3loN1hHNGdJQ0FnSUNCb1pXRmtSVzFpWldSa2FXNW5MRnh1SUNBZ0lDQWdkR0ZwYkVWdFltVmtaR2x1Wnl4Y2JpQWdJQ0FnSUdobFlXUXNYRzRnSUNBZ0lDQjBZV2xzTEZ4dUlDQWdJQ0FnWlhCdlkyaHpVR1Z5VTJGdGNHeGxMRnh1SUNBZ0lDQWdZU3hjYmlBZ0lDQWdJR0lzWEc0Z0lDQWdJQ0J1UlhCdlkyaHpMRnh1SUNBZ0lDQWdibFpsY25ScFkyVnpMRnh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdGNISnZkbVVnWVc0Z1pXMWlaV1JrYVc1bklIVnphVzVuSUhOMGIyTm9ZWE4wYVdNZ1ozSmhaR2xsYm5RZ1pHVnpZMlZ1ZENCMGJ5QnRhVzVwYldsNlpTQjBhR1ZjYmlBZ0lDb2dablY2ZW5rZ2MyVjBJR055YjNOeklHVnVkSEp2Y0hrZ1ltVjBkMlZsYmlCMGFHVWdNUzF6YTJWc1pYUnZibk1nYjJZZ2RHaGxJR2hwWjJnZ1pHbHRaVzV6YVc5dVlXeGNiaUFnSUNvZ1lXNWtJR3h2ZHlCa2FXMWxibk5wYjI1aGJDQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkSE11SUVsdUlIQnlZV04wYVdObElIUm9hWE1nYVhNZ1pHOXVaU0JpZVZ4dUlDQWdLaUJ6WVcxd2JHbHVaeUJsWkdkbGN5QmlZWE5sWkNCdmJpQjBhR1ZwY2lCdFpXMWlaWEp6YUdsd0lITjBjbVZ1WjNSb0lDaDNhWFJvSUhSb1pTQW9NUzF3S1NCMFpYSnRjMXh1SUNBZ0tpQmpiMjFwYm1jZ1puSnZiU0J1WldkaGRHbDJaU0J6WVcxd2JHbHVaeUJ6YVcxcGJHRnlJSFJ2SUhkdmNtUXlkbVZqS1M1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2IzQjBhVzFwZW1WTVlYbHZkWFJUZEdWd0tHNDZJRzUxYldKbGNpa2dlMXh1SUNBZ0lHTnZibk4wSUh0dmNIUnBiV2w2WVhScGIyNVRkR0YwWlgwZ1BTQjBhR2x6TzF4dUlDQWdJR052Ym5OMElIdGNiaUFnSUNBZ0lHaGxZV1FzWEc0Z0lDQWdJQ0IwWVdsc0xGeHVJQ0FnSUNBZ2FHVmhaRVZ0WW1Wa1pHbHVaeXhjYmlBZ0lDQWdJSFJoYVd4RmJXSmxaR1JwYm1jc1hHNGdJQ0FnSUNCbGNHOWphSE5RWlhKVFlXMXdiR1VzWEc0Z0lDQWdJQ0JsY0c5amFFOW1UbVY0ZEZOaGJYQnNaU3hjYmlBZ0lDQWdJR1Z3YjJOb1QyWk9aWGgwVG1WbllYUnBkbVZUWVcxd2JHVXNYRzRnSUNBZ0lDQmxjRzlqYUhOUVpYSk9aV2RoZEdsMlpWTmhiWEJzWlN4Y2JpQWdJQ0FnSUcxdmRtVlBkR2hsY2l4Y2JpQWdJQ0FnSUdsdWFYUnBZV3hCYkhCb1lTeGNiaUFnSUNBZ0lHRnNjR2hoTEZ4dUlDQWdJQ0FnWjJGdGJXRXNYRzRnSUNBZ0lDQmhMRnh1SUNBZ0lDQWdZaXhjYmlBZ0lDQWdJR1JwYlN4Y2JpQWdJQ0FnSUc1RmNHOWphSE1zWEc0Z0lDQWdJQ0J1Vm1WeWRHbGpaWE1zWEc0Z0lDQWdmU0E5SUc5d2RHbHRhWHBoZEdsdmJsTjBZWFJsTzF4dVhHNGdJQ0FnWTI5dWMzUWdZMnhwY0ZaaGJIVmxJRDBnTkM0d08xeHVYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQmxjRzlqYUhOUVpYSlRZVzF3YkdVdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR2xtSUNobGNHOWphRTltVG1WNGRGTmhiWEJzWlZ0cFhTQStJRzRwWEc0Z0lDQWdJQ0FnSUdOdmJuUnBiblZsTzF4dVhHNWNiaUFnSUNBZ0lHTnZibk4wSUdvZ1BTQm9aV0ZrVzJsZE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYXlBOUlIUmhhV3hiYVYwN1hHNWNiaUFnSUNBZ0lHTnZibk4wSUdOMWNuSmxiblFnUFNCb1pXRmtSVzFpWldSa2FXNW5XMnBkTzF4dUlDQWdJQ0FnWTI5dWMzUWdiM1JvWlhJZ1BTQjBZV2xzUlcxaVpXUmthVzVuVzJ0ZE8xeHVYRzRnSUNBZ0lDQmpiMjV6ZENCa2FYTjBVM0YxWVhKbFpDQTlJSEpFYVhOMEtHTjFjbkpsYm5Rc0lHOTBhR1Z5S1R0Y2JseHVJQ0FnSUNBZ2JHVjBJR2R5WVdSRGIyVm1aaUE5SURBN1hHNGdJQ0FnSUNCcFppQW9aR2x6ZEZOeGRXRnlaV1FnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJR2R5WVdSRGIyVm1aaUE5SUMweUxqQWdLaUJoSUNvZ1lpQXFJRTFoZEdndWNHOTNLR1JwYzNSVGNYVmhjbVZrTENCaUlDMGdNUzR3S1R0Y2JpQWdJQ0FnSUNBZ1ozSmhaRU52WldabUlDODlJR0VnS2lCTllYUm9MbkJ2ZHloa2FYTjBVM0YxWVhKbFpDd2dZaWtnS3lBeExqQTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR1FnUFNBd095QmtJRHdnWkdsdE95QmtLeXNwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWjNKaFpFUWdQU0JqYkdsd0tHZHlZV1JEYjJWbVppQXFJQ2hqZFhKeVpXNTBXMlJkSUMwZ2IzUm9aWEpiWkYwcExDQmpiR2x3Vm1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBXMlJkSUNzOUlHZHlZV1JFSUNvZ1lXeHdhR0U3WEc0Z0lDQWdJQ0FnSUdsbUlDaHRiM1psVDNSb1pYSXBYRzRnSUNBZ0lDQWdJQ0FnYjNSb1pYSmJaRjBnS3owZ0xXZHlZV1JFSUNvZ1lXeHdhR0U3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdWd2IyTm9UMlpPWlhoMFUyRnRjR3hsVzJsZElDczlJR1Z3YjJOb2MxQmxjbE5oYlhCc1pWdHBYVHRjYmx4dUlDQWdJQ0FnWTI5dWMzUWdiazVsWjFOaGJYQnNaWE1nUFNCTllYUm9MbVpzYjI5eUtGeHVJQ0FnSUNBZ0lDQW9iaUF0SUdWd2IyTm9UMlpPWlhoMFRtVm5ZWFJwZG1WVFlXMXdiR1ZiYVYwcElDOGdaWEJ2WTJoelVHVnlUbVZuWVhScGRtVlRZVzF3YkdWYmFWMWNiaUFnSUNBZ0lDazdYRzVjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJSEFnUFNBd095QndJRHdnYms1bFoxTmhiWEJzWlhNN0lIQXJLeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JySUQwZ2RYUnBiSE11ZEdGMVVtRnVaRWx1ZENodVZtVnlkR2xqWlhNc0lIUm9hWE11Y21GdVpHOXRLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdiM1JvWlhJZ1BTQjBZV2xzUlcxaVpXUmthVzVuVzJ0ZE8xeHVYRzRnSUNBZ0lDQWdJR052Ym5OMElHUnBjM1JUY1hWaGNtVmtJRDBnY2tScGMzUW9ZM1Z5Y21WdWRDd2diM1JvWlhJcE8xeHVYRzRnSUNBZ0lDQWdJR3hsZENCbmNtRmtRMjlsWm1ZZ1BTQXdMakE3WEc0Z0lDQWdJQ0FnSUdsbUlDaGthWE4wVTNGMVlYSmxaQ0ErSURBdU1Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdkeVlXUkRiMlZtWmlBOUlESXVNQ0FxSUdkaGJXMWhJQ29nWWp0Y2JpQWdJQ0FnSUNBZ0lDQm5jbUZrUTI5bFptWWdMejFjYmlBZ0lDQWdJQ0FnSUNBZ0lDZ3dMakF3TVNBcklHUnBjM1JUY1hWaGNtVmtLU0FxSUNoaElDb2dUV0YwYUM1d2IzY29aR2x6ZEZOeGRXRnlaV1FzSUdJcElDc2dNU2s3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2FpQTlQVDBnYXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5ScGJuVmxPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ1pDQTlJREE3SUdRZ1BDQmthVzA3SUdRckt5a2dlMXh1SUNBZ0lDQWdJQ0FnSUd4bGRDQm5jbUZrUkNBOUlEUXVNRHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9aM0poWkVOdlpXWm1JRDRnTUM0d0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnWjNKaFpFUWdQU0JqYkdsd0tHZHlZV1JEYjJWbVppQXFJQ2hqZFhKeVpXNTBXMlJkSUMwZ2IzUm9aWEpiWkYwcExDQmpiR2x3Vm1Gc2RXVXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ1kzVnljbVZ1ZEZ0a1hTQXJQU0JuY21Ga1JDQXFJR0ZzY0doaE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmxjRzlqYUU5bVRtVjRkRTVsWjJGMGFYWmxVMkZ0Y0d4bFcybGRJQ3M5SUc1T1pXZFRZVzF3YkdWeklDb2daWEJ2WTJoelVHVnlUbVZuWVhScGRtVlRZVzF3YkdWYmFWMDdYRzRnSUNBZ2ZWeHVJQ0FnSUc5d2RHbHRhWHBoZEdsdmJsTjBZWFJsTG1Gc2NHaGhJRDBnYVc1cGRHbGhiRUZzY0doaElDb2dLREV1TUNBdElHNGdMeUJ1UlhCdlkyaHpLVHRjYmx4dUlDQWdJRzl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxMbU4xY25KbGJuUkZjRzlqYUNBclBTQXhPMXh1SUNBZ0lISmxkSFZ5YmlCb1pXRmtSVzFpWldSa2FXNW5PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdGNISnZkbVVnWVc0Z1pXMWlaV1JrYVc1bklIVnphVzVuSUhOMGIyTm9ZWE4wYVdNZ1ozSmhaR2xsYm5RZ1pHVnpZMlZ1ZENCMGJ5QnRhVzVwYldsNlpTQjBhR1ZjYmlBZ0lDb2dablY2ZW5rZ2MyVjBJR055YjNOeklHVnVkSEp2Y0hrZ1ltVjBkMlZsYmlCMGFHVWdNUzF6YTJWc1pYUnZibk1nYjJZZ2RHaGxJR2hwWjJnZ1pHbHRaVzV6YVc5dVlXeGNiaUFnSUNvZ1lXNWtJR3h2ZHlCa2FXMWxibk5wYjI1aGJDQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkSE11SUVsdUlIQnlZV04wYVdObElIUm9hWE1nYVhNZ1pHOXVaU0JpZVZ4dUlDQWdLaUJ6WVcxd2JHbHVaeUJsWkdkbGN5QmlZWE5sWkNCdmJpQjBhR1ZwY2lCdFpXMWlaWEp6YUdsd0lITjBjbVZ1WjNSb0lDaDNhWFJvSUhSb1pTQW9NUzF3S1NCMFpYSnRjMXh1SUNBZ0tpQmpiMjFwYm1jZ1puSnZiU0J1WldkaGRHbDJaU0J6WVcxd2JHbHVaeUJ6YVcxcGJHRnlJSFJ2SUhkdmNtUXlkbVZqS1M1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2IzQjBhVzFwZW1WTVlYbHZkWFJCYzNsdVl5aGNiaUFnSUNCbGNHOWphRU5oYkd4aVlXTnJPaUFvWlhCdlkyaE9kVzFpWlhJNklHNTFiV0psY2lrZ1BUNGdkbTlwWkNCOElHSnZiMnhsWVc0Z1BTQW9LU0E5UGlCMGNuVmxYRzRnSUNrNklGQnliMjFwYzJVOFltOXZiR1ZoYmo0Z2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VISnZiV2x6WlNnb2NtVnpiMngyWlN3Z2NtVnFaV04wS1NBOVBpQjdYRzRnSUNBZ0lDQmpiMjV6ZENCemRHVndJRDBnWVhONWJtTWdLQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUh0dVJYQnZZMmh6TENCamRYSnlaVzUwUlhCdlkyaDlJRDBnZEdocGN5NXZjSFJwYldsNllYUnBiMjVUZEdGMFpUdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxtVnRZbVZrWkdsdVp5QTlJSFJvYVhNdWIzQjBhVzFwZW1WTVlYbHZkWFJUZEdWd0tHTjFjbkpsYm5SRmNHOWphQ2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWlhCdlkyaERiMjF3YkdWMFpXUWdQU0IwYUdsekxtOXdkR2x0YVhwaGRHbHZibE4wWVhSbExtTjFjbkpsYm5SRmNHOWphRHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J6YUc5MWJHUlRkRzl3SUQwZ1pYQnZZMmhEWVd4c1ltRmpheWhsY0c5amFFTnZiWEJzWlhSbFpDa2dQVDA5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR2x6Um1sdWFYTm9aV1FnUFNCbGNHOWphRU52YlhCc1pYUmxaQ0E5UFQwZ2JrVndiMk5vY3p0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSVhOb2IzVnNaRk4wYjNBZ0ppWWdJV2x6Um1sdWFYTm9aV1FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaWFJVYVcxbGIzVjBLQ2dwSUQwK0lITjBaWEFvS1N3Z01DazdYRzRnSUNBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsYzI5c2RtVW9hWE5HYVc1cGMyaGxaQ2s3WEc0Z0lDQWdJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGFtVmpkQ2hsY25JcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdjMlYwVkdsdFpXOTFkQ2dvS1NBOVBpQnpkR1Z3S0Nrc0lEQXBPMXh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdGNISnZkbVVnWVc0Z1pXMWlaV1JrYVc1bklIVnphVzVuSUhOMGIyTm9ZWE4wYVdNZ1ozSmhaR2xsYm5RZ1pHVnpZMlZ1ZENCMGJ5QnRhVzVwYldsNlpTQjBhR1ZjYmlBZ0lDb2dablY2ZW5rZ2MyVjBJR055YjNOeklHVnVkSEp2Y0hrZ1ltVjBkMlZsYmlCMGFHVWdNUzF6YTJWc1pYUnZibk1nYjJZZ2RHaGxJR2hwWjJnZ1pHbHRaVzV6YVc5dVlXeGNiaUFnSUNvZ1lXNWtJR3h2ZHlCa2FXMWxibk5wYjI1aGJDQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkSE11SUVsdUlIQnlZV04wYVdObElIUm9hWE1nYVhNZ1pHOXVaU0JpZVZ4dUlDQWdLaUJ6WVcxd2JHbHVaeUJsWkdkbGN5QmlZWE5sWkNCdmJpQjBhR1ZwY2lCdFpXMWlaWEp6YUdsd0lITjBjbVZ1WjNSb0lDaDNhWFJvSUhSb1pTQW9NUzF3S1NCMFpYSnRjMXh1SUNBZ0tpQmpiMjFwYm1jZ1puSnZiU0J1WldkaGRHbDJaU0J6WVcxd2JHbHVaeUJ6YVcxcGJHRnlJSFJ2SUhkdmNtUXlkbVZqS1M1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2IzQjBhVzFwZW1WTVlYbHZkWFFvWEc0Z0lDQWdaWEJ2WTJoRFlXeHNZbUZqYXpvZ0tHVndiMk5vVG5WdFltVnlPaUJ1ZFcxaVpYSXBJRDArSUhadmFXUWdmQ0JpYjI5c1pXRnVJRDBnS0NrZ1BUNGdkSEoxWlZ4dUlDQXBPaUJXWldOMGIzSnpJSHRjYmlBZ0lDQnNaWFFnYVhOR2FXNXBjMmhsWkNBOUlHWmhiSE5sTzF4dUlDQWdJR3hsZENCbGJXSmxaR1JwYm1jNklGWmxZM1J2Y25NZ1BTQmJYVHRjYmlBZ0lDQjNhR2xzWlNBb0lXbHpSbWx1YVhOb1pXUXBJSHRjYmlBZ0lDQWdJR052Ym5OMElIdHVSWEJ2WTJoekxDQmpkWEp5Wlc1MFJYQnZZMmg5SUQwZ2RHaHBjeTV2Y0hScGJXbDZZWFJwYjI1VGRHRjBaVHRjYmlBZ0lDQWdJR1Z0WW1Wa1pHbHVaeUE5SUhSb2FYTXViM0IwYVcxcGVtVk1ZWGx2ZFhSVGRHVndLR04xY25KbGJuUkZjRzlqYUNrN1hHNGdJQ0FnSUNCamIyNXpkQ0JsY0c5amFFTnZiWEJzWlhSbFpDQTlJSFJvYVhNdWIzQjBhVzFwZW1GMGFXOXVVM1JoZEdVdVkzVnljbVZ1ZEVWd2IyTm9PMXh1SUNBZ0lDQWdZMjl1YzNRZ2MyaHZkV3hrVTNSdmNDQTlJR1Z3YjJOb1EyRnNiR0poWTJzb1pYQnZZMmhEYjIxd2JHVjBaV1FwSUQwOVBTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUdselJtbHVhWE5vWldRZ1BTQmxjRzlqYUVOdmJYQnNaWFJsWkNBOVBUMGdia1Z3YjJOb2N5QjhmQ0J6YUc5MWJHUlRkRzl3TzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1pXMWlaV1JrYVc1bk8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZEhNZ2RHaGxJRzUxYldKbGNpQnZaaUJsY0c5amFITWdabTl5SUc5d2RHbHRhWHBwYm1jZ2RHaGxJSEJ5YjJwbFkzUnBiMjR1WEc0Z0lDQXFJRTVQVkVVNklGUm9hWE1nYUdWMWNtbHpkR2xqSUdScFptWmxjbk1nWm5KdmJTQjBhR1VnY0hsMGFHOXVJSFpsY25OcGIyNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFJPUlhCdlkyaHpLQ2tnZTF4dUlDQWdJR052Ym5OMElHZHlZWEJvSUQwZ2RHaHBjeTVuY21Gd2FEdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtNUZjRzlqYUhNZ1BpQXdLVnh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YmtWd2IyTm9jenRjYmx4dVhHNGdJQ0FnYVdZZ0tDRm5jbUZ3YUNsY2JpQWdJQ0FnSUhKbGRIVnliaUF5TURBN1hHNWNibHh1SUNBZ0lHTnZibk4wSUd4bGJtZDBhQ0E5SUdkeVlYQm9MbTVTYjNkek8xeHVJQ0FnSUdsbUlDaHNaVzVuZEdnZ1BEMGdNalV3TUNsY2JpQWdJQ0FnSUhKbGRIVnliaUExTURBN1hHNGdJQ0FnWld4elpTQnBaaUFvYkdWdVozUm9JRHc5SURVd01EQXBYRzRnSUNBZ0lDQnlaWFIxY200Z05EQXdPMXh1SUNBZ0lHVnNjMlVnYVdZZ0tHeGxibWQwYUNBOFBTQTNOVEF3S1Z4dUlDQWdJQ0FnY21WMGRYSnVJRE13TUR0Y2JpQWdJQ0JsYkhObFhHNGdJQ0FnSUNCeVpYUjFjbTRnTWpBd08xeHVJQ0I5WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmxkV05zYVdSbFlXNG9lRG9nVm1WamRHOXlMQ0I1T2lCV1pXTjBiM0lwSUh0Y2JpQWdiR1YwSUhKbGMzVnNkQ0E5SURBN1hHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnZUM1c1pXNW5kR2c3SUdrckt5bGNiaUFnSUNCeVpYTjFiSFFnS3owZ0tIaGJhVjBnTFNCNVcybGRLU0FxS2lBeU8xeHVYRzRnSUhKbGRIVnliaUJOWVhSb0xuTnhjblFvY21WemRXeDBLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHNTFiV1Z5YVdNb2VEb2diblZ0WW1WeUxDQjVPaUJ1ZFcxaVpYSXBJSHRjYmlBZ1kyOXVjM1FnY21WemRXeDBJRDBnVFdGMGFDNWhZbk1vZUNBdElIa3BPMXh1SUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1kyOXphVzVsS0hnNklGWmxZM1J2Y2l3Z2VUb2dWbVZqZEc5eUtTQjdYRzRnSUd4bGRDQnlaWE4xYkhRZ1BTQXdMakE3WEc0Z0lHeGxkQ0J1YjNKdFdDQTlJREF1TUR0Y2JpQWdiR1YwSUc1dmNtMVpJRDBnTUM0d08xeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2VDNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJSEpsYzNWc2RDQXJQU0I0VzJsZElDb2dlVnRwWFR0Y2JpQWdJQ0J1YjNKdFdDQXJQU0I0VzJsZElDb3FJREk3WEc0Z0lDQWdibTl5YlZrZ0t6MGdlVnRwWFNBcUtpQXlPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHNXZjbTFZSUQwOVBTQXdJQ1ltSUc1dmNtMVpJRDA5UFNBd0tWeHVJQ0FnSUhKbGRIVnliaUF3TzF4dUlDQmxiSE5sSUdsbUlDaHViM0p0V0NBOVBUMGdNQ0I4ZkNCdWIzSnRXU0E5UFQwZ01DbGNiaUFnSUNCeVpYUjFjbTRnTVM0d08xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJREV1TUNBdElISmxjM1ZzZENBdklFMWhkR2d1YzNGeWRDaHViM0p0V0NBcUlHNXZjbTFaS1R0Y2JuMWNibHh1THlvcVhHNGdLaUJCYmlCcGJuUmxjbVpoWTJVZ2NtVndjbVZ6Wlc1MGFXNW5JSFJvWlNCdmNIUnBiV2w2WVhScGIyNGdjM1JoZEdVZ2RISmhZMnRsWkNCaVpYUjNaV1Z1SUhOMFpYQnpJRzltWEc0Z0tpQjBhR1VnVTBkRUlHOXdkR2x0YVhwaGRHbHZibHh1SUNvdlhHNWpiR0Z6Y3lCUGNIUnBiV2w2WVhScGIyNVRkR0YwWlNCN1hHNGdJR04xY25KbGJuUkZjRzlqYUNBOUlEQTdYRzVjYmlBZ0x5OGdSR0YwWVNCMGNtRmphMlZrSUdSMWNtbHVaeUJ2Y0hScGJXbDZZWFJwYjI0Z2MzUmxjSE11WEc0Z0lHaGxZV1JGYldKbFpHUnBibWM2SUc1MWJXSmxjbHRkVzEwZ1BTQmJYVHRjYmlBZ2RHRnBiRVZ0WW1Wa1pHbHVaem9nYm5WdFltVnlXMTFiWFNBOUlGdGRPMXh1SUNCb1pXRmtPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVJQ0IwWVdsc09pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQmxjRzlqYUhOUVpYSlRZVzF3YkdVNklHNTFiV0psY2x0ZElEMGdXMTA3WEc0Z0lHVndiMk5vVDJaT1pYaDBVMkZ0Y0d4bE9pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQmxjRzlqYUU5bVRtVjRkRTVsWjJGMGFYWmxVMkZ0Y0d4bE9pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQmxjRzlqYUhOUVpYSk9aV2RoZEdsMlpWTmhiWEJzWlRvZ2JuVnRZbVZ5VzEwZ1BTQmJYVHRjYmlBZ2JXOTJaVTkwYUdWeUlEMGdkSEoxWlR0Y2JpQWdhVzVwZEdsaGJFRnNjR2hoSUQwZ01TNHdPMXh1SUNCaGJIQm9ZU0E5SURFdU1EdGNiaUFnWjJGdGJXRWdQU0F4TGpBN1hHNGdJR0VnUFNBeExqVTNOamswTXpRMk1ETXhNVE13TnpjN1hHNGdJR0lnUFNBd0xqZzVOVEEyTURnM056a3hNRGszTXpNN1hHNGdJR1JwYlNBOUlESTdYRzRnSUc1RmNHOWphSE1nUFNBMU1EQTdYRzRnSUc1V1pYSjBhV05sY3lBOUlEQTdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1UzUmhibVJoY21RZ1kyeGhiWEJwYm1jZ2IyWWdZU0IyWVd4MVpTQnBiblJ2SUdFZ1ptbDRaV1FnY21GdVoyVmNiaUFxTDF4dVpuVnVZM1JwYjI0Z1kyeHBjQ2g0T2lCdWRXMWlaWElzSUdOc2FYQldZV3gxWlRvZ2JuVnRZbVZ5S1NCN1hHNGdJR2xtSUNoNElENGdZMnhwY0ZaaGJIVmxLU0J5WlhSMWNtNGdZMnhwY0ZaaGJIVmxPMXh1SUNCbGJITmxJR2xtSUNoNElEd2dMV05zYVhCV1lXeDFaU2tnY21WMGRYSnVJQzFqYkdsd1ZtRnNkV1U3WEc0Z0lHVnNjMlVnY21WMGRYSnVJSGc3WEc1OVhHNWNiaThxS2x4dUlDb2dVbVZrZFdObFpDQkZkV05zYVdSbFlXNGdaR2x6ZEdGdVkyVXVYRzRnS2k5Y2JtWjFibU4wYVc5dUlISkVhWE4wS0hnNklHNTFiV0psY2x0ZExDQjVPaUJ1ZFcxaVpYSmJYU2tnZTF4dUlDQnNaWFFnY21WemRXeDBJRDBnTUM0d08xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhndWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ2NtVnpkV3gwSUNzOUlFMWhkR2d1Y0c5M0tIaGJhVjBnTFNCNVcybGRMQ0F5S1R0Y2JseHVJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVmVnh1WEc0dktpcGNiaUFxSUVacGRDQmhMQ0JpSUhCaGNtRnRjeUJtYjNJZ2RHaGxJR1JwWm1abGNtVnVkR2xoWW14bElHTjFjblpsSUhWelpXUWdhVzRnYkc5M1pYSmNiaUFxSUdScGJXVnVjMmx2Ym1Gc0lHWjFlbnA1SUhOcGJYQnNhV05wWVd3Z1kyOXRjR3hsZUNCamIyNXpkSEoxWTNScGIyNHVJRmRsSUhkaGJuUWdkR2hsWEc0Z0tpQnpiVzl2ZEdnZ1kzVnlkbVVnS0daeWIyMGdZU0J3Y21VdFpHVm1hVzVsWkNCbVlXMXBiSGtnZDJsMGFDQnphVzF3YkdVZ1ozSmhaR2xsYm5RcElIUm9ZWFJjYmlBcUlHSmxjM1FnYldGMFkyaGxjeUJoYmlCdlptWnpaWFFnWlhod2IyNWxiblJwWVd3Z1pHVmpZWGt1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm1hVzVrUVVKUVlYSmhiWE1vYzNCeVpXRmtPaUJ1ZFcxaVpYSXNJRzFwYmtScGMzUTZJRzUxYldKbGNpa2dlMXh1SUNCamIyNXpkQ0JqZFhKMlpTQTlJQ2hiWVN3Z1lsMDZJRzUxYldKbGNsdGRLU0E5UGlBb2VEb2diblZ0WW1WeUtTQTlQaUI3WEc0Z0lDQWdjbVYwZFhKdUlERXVNQ0F2SUNneExqQWdLeUJoSUNvZ2VDQXFLaUFvTWlBcUlHSXBLVHRjYmlBZ2ZUdGNibHh1SUNCamIyNXpkQ0I0ZGlBOUlIVjBhV3h6WEc0Z0lDQWdMbXhwYm1WaGNpZ3dMQ0J6Y0hKbFlXUWdLaUF6TENBek1EQXBYRzRnSUNBZ0xtMWhjQ2dvZG1Gc0tTQTlQaUFvZG1Gc0lEd2diV2x1UkdsemRDQS9JREV1TUNBNklIWmhiQ2twTzF4dVhHNGdJR052Ym5OMElIbDJJRDBnZFhScGJITXVlbVZ5YjNNb2VIWXViR1Z1WjNSb0tTNXRZWEFvS0haaGJDd2dhVzVrWlhncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCbmRHVWdQU0I0ZGx0cGJtUmxlRjBnUGowZ2JXbHVSR2x6ZER0Y2JpQWdJQ0J5WlhSMWNtNGdaM1JsSUQ4Z1RXRjBhQzVsZUhBb0xTaDRkbHRwYm1SbGVGMGdMU0J0YVc1RWFYTjBLU0F2SUhOd2NtVmhaQ2tnT2lCMllXdzdYRzRnSUgwcE8xeHVYRzRnSUdOdmJuTjBJR2x1YVhScFlXeFdZV3gxWlhNZ1BTQmJNQzQxTENBd0xqVmRPMXh1SUNCamIyNXpkQ0JrWVhSaElEMGdlM2c2SUhoMkxDQjVPaUI1ZG4wN1hHNWNiaUFnTHk4Z1JHVm1ZWFZzZENCdmNIUnBiMjV6SUdadmNpQjBhR1VnWVd4bmIzSnBkR2h0SUNobWNtOXRJR2RwZEdoMVlpQmxlR0Z0Y0d4bEtWeHVJQ0JqYjI1emRDQnZjSFJwYjI1eklEMGdlMXh1SUNBZ0lHUmhiWEJwYm1jNklERXVOU3hjYmlBZ0lDQnBibWwwYVdGc1ZtRnNkV1Z6TEZ4dUlDQWdJR2R5WVdScFpXNTBSR2xtWm1WeVpXNWpaVG9nTVRCbExUSXNYRzRnSUNBZ2JXRjRTWFJsY21GMGFXOXVjem9nTVRBd0xGeHVJQ0FnSUdWeWNtOXlWRzlzWlhKaGJtTmxPaUF4TUdVdE15eGNiaUFnZlR0Y2JseHVJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnYm1WM0xXTmhjRnh1SUNCamIyNXpkQ0I3Y0dGeVlXMWxkR1Z5Vm1Gc2RXVnpmU0E5SUV4TktHUmhkR0VzSUdOMWNuWmxMQ0J2Y0hScGIyNXpLVHRjYmlBZ1kyOXVjM1FnVzJFc0lHSmRJRDBnY0dGeVlXMWxkR1Z5Vm1Gc2RXVnpJR0Z6SUc1MWJXSmxjbHRkTzF4dUlDQnlaWFIxY200Z2UyRXNJR0o5TzF4dWZWeHVYRzR2S2lwY2JpQXFJRlZ1WkdWeUlIUm9aU0JoYzNOMWJYQjBhVzl1SUc5bUlHTmhkR1ZuYjNKcFkyRnNJR1JwYzNSaGJtTmxJR1p2Y2lCMGFHVWdhVzUwWlhKelpXTjBhVzVuWEc0Z0tpQnphVzF3YkdsamFXRnNJSE5sZENCd1pYSm1iM0p0SUdFZ1ptRnpkQ0JwYm5SbGNuTmxZM1JwYjI0dVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJtWVhOMFNXNTBaWEp6WldOMGFXOXVLRnh1SUNCbmNtRndhRG9nYldGMGNtbDRMbE53WVhKelpVMWhkSEpwZUN4Y2JpQWdkR0Z5WjJWME9pQnVkVzFpWlhKYlhTeGNiaUFnZFc1cmJtOTNia1JwYzNRZ1BTQXhMakFzWEc0Z0lHWmhja1JwYzNRZ1BTQTFMakJjYmlrZ2UxeHVJQ0J5WlhSMWNtNGdaM0poY0dndWJXRndLQ2gyWVd4MVpTd2djbTkzTENCamIyd3BJRDArSUh0Y2JpQWdJQ0JwWmlBb2RHRnlaMlYwVzNKdmQxMGdQVDA5SUMweElIeDhJSFJoY21kbGRGdGpiMnhkSUQwOVBTQXRNU2xjYmlBZ0lDQWdJSEpsZEhWeWJpQjJZV3gxWlNBcUlFMWhkR2d1Wlhod0tDMTFibXR1YjNkdVJHbHpkQ2s3WEc0Z0lDQWdaV3h6WlNCcFppQW9kR0Z5WjJWMFczSnZkMTBnSVQwOUlIUmhjbWRsZEZ0amIyeGRLVnh1SUNBZ0lDQWdjbVYwZFhKdUlIWmhiSFZsSUNvZ1RXRjBhQzVsZUhBb0xXWmhja1JwYzNRcE8xeHVJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lISmxkSFZ5YmlCMllXeDFaVHRjYmlBZ2ZTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVnpaWFFnZEdobElHeHZZMkZzSUdOdmJtNWxZM1JwZG1sMGVTQnlaWEYxYVhKbGJXVnVkQ0F0TFNCbFlXTm9JR1JoZEdFZ2MyRnRjR3hsSUhOb2IzVnNaRnh1SUNvZ2FHRjJaU0JqYjIxd2JHVjBaU0JqYjI1bWFXUmxibU5sSUdsdUlHRjBJR3hsWVhOMElHOXVaU0F4TFhOcGJYQnNaWGdnYVc0Z2RHaGxJSE5wYlhCc2FXTnBZV3dnYzJWMExseHVJQ29nVjJVZ1kyRnVJR1Z1Wm05eVkyVWdkR2hwY3lCaWVTQnNiMk5oYkd4NUlISmxjMk5oYkdsdVp5QmpiMjVtYVdSbGJtTmxjeXdnWVc1a0lIUm9aVzRnY21WdFpYSm5hVzVuSUhSb1pWeHVJQ29nWkdsbVptVnlaVzUwSUd4dlkyRnNJSE5wYlhCc2FXTnBZV3dnYzJWMGN5QjBiMmRsZEdobGNpNWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKbGMyVjBURzlqWVd4RGIyNXVaV04wYVhacGRIa29jMmx0Y0d4cFkybGhiRk5sZERvZ2JXRjBjbWw0TGxOd1lYSnpaVTFoZEhKcGVDa2dlMXh1SUNCemFXMXdiR2xqYVdGc1UyVjBJRDBnYldGMGNtbDRMbTV2Y20xaGJHbDZaU2h6YVcxd2JHbGphV0ZzVTJWMExDQnRZWFJ5YVhndVRtOXliVlI1Y0dVdWJXRjRLVHRjYmlBZ1kyOXVjM1FnZEhKaGJuTndiM05sSUQwZ2JXRjBjbWw0TG5SeVlXNXpjRzl6WlNoemFXMXdiR2xqYVdGc1UyVjBLVHRjYmlBZ1kyOXVjM1FnY0hKdlpFMWhkSEpwZUNBOUlHMWhkSEpwZUM1d1lXbHlkMmx6WlUxMWJIUnBjR3g1S0hSeVlXNXpjRzl6WlN3Z2MybHRjR3hwWTJsaGJGTmxkQ2s3WEc0Z0lITnBiWEJzYVdOcFlXeFRaWFFnUFNCdFlYUnlhWGd1WVdSa0tGeHVJQ0FnSUhOcGJYQnNhV05wWVd4VFpYUXNYRzRnSUNBZ2JXRjBjbWw0TG5OMVluUnlZV04wS0hSeVlXNXpjRzl6WlN3Z2NISnZaRTFoZEhKcGVDbGNiaUFnS1R0Y2JpQWdjbVYwZFhKdUlHMWhkSEpwZUM1bGJHbHRhVzVoZEdWYVpYSnZjeWh6YVcxd2JHbGphV0ZzVTJWMEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCSGFYWmxiaUJwYm1ScFkyVnpJR0Z1WkNCM1pXbG5hSFJ6SUdGdVpDQmhiaUJ2Y21sbmFXNWhiQ0JsYldKbFpHUnBibWR6WEc0Z0tpQnBibWwwYVdGc2FYcGxJSFJvWlNCd2IzTnBkR2x2Ym5NZ2IyWWdibVYzSUhCdmFXNTBjeUJ5Wld4aGRHbDJaU0IwYnlCMGFHVmNiaUFxSUdsdVpHbGpaWE1nWVc1a0lIZGxhV2RvZEhNZ0tHOW1JSFJvWldseUlHNWxhV2RvWW05eWN5QnBiaUIwYUdVZ2MyOTFjbU5sSUdSaGRHRXBMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FXNXBkRlJ5WVc1elptOXliU2hjYmlBZ2FXNWthV05sY3pvZ2JuVnRZbVZ5VzExYlhTeGNiaUFnZDJWcFoyaDBjem9nYm5WdFltVnlXMTFiWFN4Y2JpQWdaVzFpWldSa2FXNW5PaUJXWldOMGIzSnpYRzRwSUh0Y2JpQWdZMjl1YzNRZ2NtVnpkV3gwSUQwZ2RYUnBiSE5jYmlBZ0lDQXVlbVZ5YjNNb2FXNWthV05sY3k1c1pXNW5kR2dwWEc0Z0lDQWdMbTFoY0Nnb1gzb3BJRDArSUhWMGFXeHpMbnBsY205ektHVnRZbVZrWkdsdVoxc3dYUzVzWlc1bmRHZ3BLVHRjYmx4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR2x1WkdsalpYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JxSUQwZ01Ec2dhaUE4SUdsdVpHbGpaWE5iTUYwdWJHVnVaM1JvT3lCcUt5c3BJSHRjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR1FnUFNBd095QmtJRHdnWlcxaVpXUmthVzVuV3pCZExteGxibWQwYURzZ1pDc3JLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR0VnUFNCcGJtUnBZMlZ6VzJsZFcycGRPMXh1SUNBZ0lDQWdJQ0J5WlhOMWJIUmJhVjFiWkYwZ0t6MGdkMlZwWjJoMGMxdHBYVnRxWFNBcUlHVnRZbVZrWkdsdVoxdGhYVnRrWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNiaUFnY21WMGRYSnVJSEpsYzNWc2REdGNibjFjYmlKZGZRPT0iLCIvKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuLyoqXG4gKiBUaGlzIGlzIGEgSmF2YVNjcmlwdCByZWltcGxlbWVudGF0aW9uIG9mIFVNQVAgKG9yaWdpbmFsIGxpY2Vuc2UgYmVsb3cpLCBmcm9tXG4gKiB0aGUgcHl0aG9uIGltcGxlbWVudGF0aW9uIGZvdW5kIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9sbWNpbm5lcy91bWFwLlxuICpcbiAqIEBhdXRob3IgYW5keWNvZW5lbkBnb29nbGUuY29tIChBbmR5IENvZW5lbilcbiAqL1xuLyoqXG4gKiBAbGljZW5zZVxuICogQlNEIDMtQ2xhdXNlIExpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcsIExlbGFuZCBNY0lubmVzXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6XG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXNcbiAqICAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsXG4gKiAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb25cbiAqICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gKlxuICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzXG4gKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tXG4gKiAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCJcbiAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEVcbiAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRVxuICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUxcbiAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SXG4gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUlxuICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSxcbiAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXG4gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICovXG5pbXBvcnQgKiBhcyBoZWFwIGZyb20gJy4vaGVhcCc7XG5pbXBvcnQgKiBhcyBtYXRyaXggZnJvbSAnLi9tYXRyaXgnO1xuaW1wb3J0ICogYXMgdHJlZSBmcm9tICcuL3RyZWUnO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG4vKipcbiAqIENyZWF0ZSBhIHZlcnNpb24gb2YgbmVhcmVzdCBuZWlnaGJvciBkZXNjZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZU5ORGVzY2VudChkaXN0YW5jZUZuLCByYW5kb20pIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gbk5EZXNjZW50KGRhdGEsIGxlYWZBcnJheSwgbk5laWdoYm9ycywgbkl0ZXJzID0gMTAsIG1heENhbmRpZGF0ZXMgPSA1MCwgZGVsdGEgPSAwLjAwMSwgcmhvID0gMC41LCBycFRyZWVJbml0ID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCBuVmVydGljZXMgPSBkYXRhLmxlbmd0aDtcbiAgICAgICAgY29uc3QgY3VycmVudEdyYXBoID0gaGVhcC5tYWtlSGVhcChkYXRhLmxlbmd0aCwgbk5laWdoYm9ycyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaW5kaWNlcyA9IGhlYXAucmVqZWN0aW9uU2FtcGxlKG5OZWlnaGJvcnMsIGRhdGEubGVuZ3RoLCByYW5kb20pO1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpbmRpY2VzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtpXSwgZGF0YVtpbmRpY2VzW2pdXSk7XG4gICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIGksIGQsIGluZGljZXNbal0sIDEpO1xuICAgICAgICAgICAgICAgIGhlYXAuaGVhcFB1c2goY3VycmVudEdyYXBoLCBpbmRpY2VzW2pdLCBkLCBpLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocnBUcmVlSW5pdCkge1xuICAgICAgICAgICAgZm9yIChsZXQgbiA9IDA7IG4gPCBsZWFmQXJyYXkubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlYWZBcnJheVtuXS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAobGVhZkFycmF5W25dW2ldIDwgMClcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBsZWFmQXJyYXlbbl0ubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsZWFmQXJyYXlbbl1bal0gPCAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtsZWFmQXJyYXlbbl1baV1dLCBkYXRhW2xlYWZBcnJheVtuXVtqXV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIGxlYWZBcnJheVtuXVtpXSwgZCwgbGVhZkFycmF5W25dW2pdLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYXAuaGVhcFB1c2goY3VycmVudEdyYXBoLCBsZWFmQXJyYXlbbl1bal0sIGQsIGxlYWZBcnJheVtuXVtpXSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgbiA9IDA7IG4gPCBuSXRlcnM7IG4rKykge1xuICAgICAgICAgICAgY29uc3QgY2FuZGlkYXRlTmVpZ2hib3JzID0gaGVhcC5idWlsZENhbmRpZGF0ZXMoY3VycmVudEdyYXBoLCBuVmVydGljZXMsIG5OZWlnaGJvcnMsIG1heENhbmRpZGF0ZXMsIHJhbmRvbSk7XG4gICAgICAgICAgICBsZXQgYyA9IDA7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5WZXJ0aWNlczsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBtYXhDYW5kaWRhdGVzOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcCA9IE1hdGguZmxvb3IoY2FuZGlkYXRlTmVpZ2hib3JzWzBdW2ldW2pdKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHAgPCAwIHx8IHV0aWxzLnRhdVJhbmQocmFuZG9tKSA8IHJobylcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBrID0gMDsgayA8IG1heENhbmRpZGF0ZXM7IGsrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcSA9IE1hdGguZmxvb3IoY2FuZGlkYXRlTmVpZ2hib3JzWzBdW2ldW2tdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNqID0gY2FuZGlkYXRlTmVpZ2hib3JzWzJdW2ldW2pdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2sgPSBjYW5kaWRhdGVOZWlnaGJvcnNbMl1baV1ba107XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocSA8IDAgfHwgKCFjaiAmJiAhY2spKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtwXSwgZGF0YVtxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjICs9IGhlYXAuaGVhcFB1c2goY3VycmVudEdyYXBoLCBwLCBkLCBxLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGMgKz0gaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIHEsIGQsIHAsIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGMgPD0gZGVsdGEgKiBuTmVpZ2hib3JzICogZGF0YS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc29ydGVkID0gaGVhcC5kZWhlYXBTb3J0KGN1cnJlbnRHcmFwaCk7XG4gICAgICAgIHJldHVybiBzb3J0ZWQ7XG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtYWtlSW5pdGlhbGl6YXRpb25zKGRpc3RhbmNlRm4pIHtcbiAgICBmdW5jdGlvbiBpbml0RnJvbVJhbmRvbShuTmVpZ2hib3JzLCBkYXRhLCBxdWVyeVBvaW50cywgX2hlYXAsIHJhbmRvbSkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHF1ZXJ5UG9pbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRpY2VzID0gdXRpbHMucmVqZWN0aW9uU2FtcGxlKG5OZWlnaGJvcnMsIGRhdGEubGVuZ3RoLCByYW5kb20pO1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpbmRpY2VzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluZGljZXNbal0gPCAwKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gZGlzdGFuY2VGbihkYXRhW2luZGljZXNbal1dLCBxdWVyeVBvaW50c1tpXSk7XG4gICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChfaGVhcCwgaSwgZCwgaW5kaWNlc1tqXSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gaW5pdEZyb21UcmVlKF90cmVlLCBkYXRhLCBxdWVyeVBvaW50cywgX2hlYXAsIHJhbmRvbSkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHF1ZXJ5UG9pbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRpY2VzID0gdHJlZS5zZWFyY2hGbGF0VHJlZShxdWVyeVBvaW50c1tpXSwgX3RyZWUsIHJhbmRvbSk7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGluZGljZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5kaWNlc1tqXSA8IDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gZGlzdGFuY2VGbihkYXRhW2luZGljZXNbal1dLCBxdWVyeVBvaW50c1tpXSk7XG4gICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChfaGVhcCwgaSwgZCwgaW5kaWNlc1tqXSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4geyBpbml0RnJvbVJhbmRvbSwgaW5pdEZyb21UcmVlIH07XG59XG5leHBvcnQgZnVuY3Rpb24gbWFrZUluaXRpYWxpemVkTk5TZWFyY2goZGlzdGFuY2VGbikge1xuICAgIHJldHVybiBmdW5jdGlvbiBublNlYXJjaEZuKGRhdGEsIGdyYXBoLCBpbml0aWFsaXphdGlvbiwgcXVlcnlQb2ludHMpIHtcbiAgICAgICAgY29uc3QgeyBpbmRpY2VzLCBpbmRwdHIgfSA9IG1hdHJpeC5nZXRDU1IoZ3JhcGgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHF1ZXJ5UG9pbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0cmllZCA9IG5ldyBTZXQoaW5pdGlhbGl6YXRpb25bMF1baV0pO1xuICAgICAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgICAgICAvLyBGaW5kIHNtYWxsZXN0IGZsYWdnZWQgdmVydGV4XG4gICAgICAgICAgICAgICAgY29uc3QgdmVydGV4ID0gaGVhcC5zbWFsbGVzdEZsYWdnZWQoaW5pdGlhbGl6YXRpb24sIGkpO1xuICAgICAgICAgICAgICAgIGlmICh2ZXJ0ZXggPT09IC0xKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVzID0gaW5kaWNlcy5zbGljZShpbmRwdHJbdmVydGV4XSwgaW5kcHRyW3ZlcnRleCArIDFdKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBjYW5kaWRhdGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjYW5kaWRhdGUgPT09IHZlcnRleCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlID09PSAtMSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJpZWQuaGFzKGNhbmRpZGF0ZSkpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtjYW5kaWRhdGVdLCBxdWVyeVBvaW50c1tpXSk7XG4gICAgICAgICAgICAgICAgICAgIGhlYXAudW5jaGVja2VkSGVhcFB1c2goaW5pdGlhbGl6YXRpb24sIGksIGQsIGNhbmRpZGF0ZSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIHRyaWVkLmFkZChjYW5kaWRhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5pdGlhbGl6YXRpb247XG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplU2VhcmNoKGZvcmVzdCwgZGF0YSwgcXVlcnlQb2ludHMsIG5OZWlnaGJvcnMsIGluaXRGcm9tUmFuZG9tLCBpbml0RnJvbVRyZWUsIHJhbmRvbSkge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBoZWFwLm1ha2VIZWFwKHF1ZXJ5UG9pbnRzLmxlbmd0aCwgbk5laWdoYm9ycyk7XG4gICAgaW5pdEZyb21SYW5kb20obk5laWdoYm9ycywgZGF0YSwgcXVlcnlQb2ludHMsIHJlc3VsdHMsIHJhbmRvbSk7XG4gICAgaWYgKGZvcmVzdCkge1xuICAgICAgICBmb3IgKGNvbnN0IHRyZWUgb2YgZm9yZXN0KVxuICAgICAgICAgICAgaW5pdEZyb21UcmVlKHRyZWUsIGRhdGEsIHF1ZXJ5UG9pbnRzLCByZXN1bHRzLCByYW5kb20pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0cztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJtNWZaR1Z6WTJWdWRDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW01dVgyUmxjMk5sYm5RdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN096czdPenM3T3pzN096czdPMGRCYVVKSE8wRkJSVWc3T3pzN08wZEJTMGM3UVVGRlNEczdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenRIUVN0Q1J6dEJRVVZJTEU5QlFVOHNTMEZCU3l4SlFVRkpMRTFCUVUwc1VVRkJVU3hEUVVGRE8wRkJReTlDTEU5QlFVOHNTMEZCU3l4TlFVRk5MRTFCUVUwc1ZVRkJWU3hEUVVGRE8wRkJRMjVETEU5QlFVOHNTMEZCU3l4SlFVRkpMRTFCUVUwc1VVRkJVU3hEUVVGRE8wRkJReTlDTEU5QlFVOHNTMEZCU3l4TFFVRkxMRTFCUVUwc1UwRkJVeXhEUVVGRE8wRkJSMnBET3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHRkJRV0VzUTBGQlF5eFZRVUZ6UWl4RlFVRkZMRTFCUVdkQ08wbEJRM0JGTEU5QlFVOHNVMEZCVXl4VFFVRlRMRU5CUTNaQ0xFbEJRVmtzUlVGRFdpeFRRVUZyUWl4RlFVTnNRaXhWUVVGclFpeEZRVU5zUWl4TlFVRk5MRWRCUVVjc1JVRkJSU3hGUVVOWUxHRkJRV0VzUjBGQlJ5eEZRVUZGTEVWQlEyeENMRXRCUVVzc1IwRkJSeXhMUVVGTExFVkJRMklzUjBGQlJ5eEhRVUZITEVkQlFVY3NSVUZEVkN4VlFVRlZMRWRCUVVjc1NVRkJTVHRSUVVWcVFpeE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJRemxDTEUxQlFVMHNXVUZCV1N4SFFVRkhMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4VlFVRlZMRU5CUVVNc1EwRkJRenRSUVVVMVJDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOd1F5eE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVGRExGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRM1JGTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8yZENRVU4yUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVWb1JDeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZEYWtRc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFpRVUZaTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1lVRkRiRVE3VTBGRFJqdFJRVU5FTEVsQlFVa3NWVUZCVlN4RlFVRkZPMWxCUTJRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUTNwRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8yOUNRVU0xUXl4SlFVRkpMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRPM2RDUVVOeVFpeE5RVUZOTzI5Q1FVVlNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHQzUWtGRGFFUXNTVUZCU1N4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXpzMFFrRkRja0lzVFVGQlRUdDNRa0ZGVWl4TlFVRk5MRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPM2RDUVVOdVJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmxCUVZrc1JVRkJSU3hUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dDNRa0ZEY0VVc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFpRVUZaTEVWQlFVVXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN2NVSkJRM0pGTzJsQ1FVTkdPMkZCUTBZN1UwRkRSanRSUVVWRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETDBJc1RVRkJUU3hyUWtGQmEwSXNSMEZCUnl4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVNM1F5eFpRVUZaTEVWQlExb3NVMEZCVXl4RlFVTlVMRlZCUVZVc1JVRkRWaXhoUVVGaExFVkJRMklzVFVGQlRTeERRVU5RTEVOQlFVTTdXVUZGUml4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRFZpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVTBGQlV5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMmRDUVVOc1F5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzWVVGQllTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMjlDUVVOMFF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN2IwSkJRMnhFTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRWRCUVVjN2QwSkJRM1JETEZOQlFWTTdiMEpCUlZnc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMR0ZCUVdFc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdDNRa0ZEZEVNc1RVRkJUU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzNkQ1FVTnNSQ3hOUVVGTkxFVkJRVVVzUjBGQlJ5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenQzUWtGRGRrTXNUVUZCVFN4RlFVRkZMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdkMEpCUTNaRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUlVGQlJTeERRVUZET3pSQ1FVTjJRaXhUUVVGVE8zZENRVWRZTEUxQlFVMHNRMEZCUXl4SFFVRkhMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03ZDBKQlEzWkRMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0M1FrRkROME1zUTBGQlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8zRkNRVU01UXp0cFFrRkRSanRoUVVOR08xbEJRMFFzU1VGQlNTeERRVUZETEVsQlFVa3NTMEZCU3l4SFFVRkhMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRUdG5Ra0ZEZGtNc1RVRkJUVHRUUVVOVU8xRkJRMFFzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dFJRVU0zUXl4UFFVRlBMRTFCUVUwc1EwRkJRenRKUVVOb1FpeERRVUZETEVOQlFVTTdRVUZEU2l4RFFVRkRPMEZCYTBKRUxFMUJRVTBzVlVGQlZTeHRRa0ZCYlVJc1EwRkJReXhWUVVGelFqdEpRVU40UkN4VFFVRlRMR05CUVdNc1EwRkRja0lzVlVGQmEwSXNSVUZEYkVJc1NVRkJXU3hGUVVOYUxGZEJRVzFDTEVWQlEyNUNMRXRCUVdkQ0xFVkJRMmhDTEUxQlFXZENPMUZCUldoQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhYUVVGWExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXpORExFMUJRVTBzVDBGQlR5eEhRVUZITEV0QlFVc3NRMEZCUXl4bFFVRmxMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRka1VzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFOUJRVThzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1owSkJRM1pETEVsQlFVa3NUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU03YjBKQlEyaENMRk5CUVZNN1owSkJSVmdzVFVGQlRTeERRVUZETEVkQlFVY3NWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4WFFVRlhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZEZGtRc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1lVRkRNME03VTBGRFJqdEpRVU5JTEVOQlFVTTdTVUZGUkN4VFFVRlRMRmxCUVZrc1EwRkRia0lzUzBGQmIwSXNSVUZEY0VJc1NVRkJXU3hGUVVOYUxGZEJRVzFDTEVWQlEyNUNMRXRCUVdkQ0xFVkJRMmhDTEUxQlFXZENPMUZCUldoQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhYUVVGWExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXpORExFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVWdVJTeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRuUWtGRGRrTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dHZRa0ZEYUVJc1QwRkJUenRuUWtGRlZDeE5RVUZOTEVOQlFVTXNSMEZCUnl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTjJSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRoUVVNelF6dFRRVU5HTzFGQlEwUXNUMEZCVHp0SlFVTlVMRU5CUVVNN1NVRkZSQ3hQUVVGUExFVkJRVU1zWTBGQll5eEZRVUZGTEZsQlFWa3NSVUZCUXl4RFFVRkRPMEZCUTNoRExFTkJRVU03UVVGVFJDeE5RVUZOTEZWQlFWVXNkVUpCUVhWQ0xFTkJRVU1zVlVGQmMwSTdTVUZETlVRc1QwRkJUeXhUUVVGVExGVkJRVlVzUTBGRGVFSXNTVUZCV1N4RlFVTmFMRXRCUVRCQ0xFVkJRekZDTEdOQlFYbENMRVZCUTNwQ0xGZEJRVzFDTzFGQlJXNUNMRTFCUVUwc1JVRkJReXhQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVVV2UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NWMEZCVnl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU16UXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFZEJRVWNzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU0xUXl4UFFVRlBMRWxCUVVrc1JVRkJSVHRuUWtGRFdDd3JRa0ZCSzBJN1owSkJReTlDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zWTBGQll5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVWMlJDeEpRVUZKTEUxQlFVMHNTMEZCU3l4RFFVRkRMRU5CUVVNN2IwSkJRMllzVFVGQlRUdG5Ra0ZGVWl4TlFVRk5MRlZCUVZVc1IwRkJSeXhQUVVGUExFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hOUVVGTkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM0pGTEV0QlFVc3NUVUZCVFN4VFFVRlRMRWxCUVVrc1ZVRkJWU3hGUVVGRk8yOUNRVU5zUXl4SlFVTkZMRk5CUVZNc1MwRkJTeXhOUVVGTk8zZENRVU53UWl4VFFVRlRMRXRCUVVzc1EwRkJReXhEUVVGRE8zZENRVU5vUWl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExGTkJRVk1zUTBGQlF6dDNRa0ZGY0VJc1UwRkJVenR2UWtGRldDeE5RVUZOTEVOQlFVTXNSMEZCUnl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEZRVUZGTEZkQlFWY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVU4wUkN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVTBGQlV5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVNelJDeExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8ybENRVU4wUWp0aFFVTkdPMU5CUTBZN1VVRkRSQ3hQUVVGUExHTkJRV01zUTBGQlF6dEpRVU40UWl4RFFVRkRMRU5CUVVNN1FVRkRTaXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdkQ1FVRm5RaXhEUVVNNVFpeE5RVUYxUWl4RlFVTjJRaXhKUVVGWkxFVkJRMW9zVjBGQmJVSXNSVUZEYmtJc1ZVRkJhMElzUlVGRGJFSXNZMEZCWjBNc1JVRkRhRU1zV1VGQk5FSXNSVUZETlVJc1RVRkJaMEk3U1VGRmFFSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFhRVUZYTEVOQlFVTXNUVUZCVFN4RlFVRkZMRlZCUVZVc1EwRkJReXhEUVVGRE8wbEJRemxFTEdOQlFXTXNRMEZCUXl4VlFVRlZMRVZCUVVVc1NVRkJTU3hGUVVGRkxGZEJRVmNzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRMMFFzU1VGQlNTeE5RVUZOTEVWQlFVVTdVVUZEVml4TFFVRkxMRTFCUVUwc1NVRkJTU3hKUVVGSkxFMUJRVTA3V1VGRGRrSXNXVUZCV1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFVkJRVVVzVjBGQlZ5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRMUVVNeFJEdEpRVU5FTEU5QlFVOHNUMEZCVHl4RFFVRkRPMEZCUTJwQ0xFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCc2FXTmxibk5sWEc0Z0tseHVJQ29nUTI5d2VYSnBaMmgwSURJd01Ua2dSMjl2WjJ4bElFeE1ReTRnUVd4c0lGSnBaMmgwY3lCU1pYTmxjblpsWkM1Y2JpQXFYRzRnS2lCTWFXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1FYQmhZMmhsSUV4cFkyVnVjMlVzSUZabGNuTnBiMjRnTWk0d0lDaDBhR1VnWENKTWFXTmxibk5sWENJcE8xeHVJQ29nZVc5MUlHMWhlU0J1YjNRZ2RYTmxJSFJvYVhNZ1ptbHNaU0JsZUdObGNIUWdhVzRnWTI5dGNHeHBZVzVqWlNCM2FYUm9JSFJvWlNCTWFXTmxibk5sTGx4dUlDb2dXVzkxSUcxaGVTQnZZblJoYVc0Z1lTQmpiM0I1SUc5bUlIUm9aU0JNYVdObGJuTmxJR0YwWEc0Z0tseHVJQ29nSUNBZ0lHaDBkSEE2THk5M2QzY3VZWEJoWTJobExtOXlaeTlzYVdObGJuTmxjeTlNU1VORlRsTkZMVEl1TUZ4dUlDcGNiaUFxSUZWdWJHVnpjeUJ5WlhGMWFYSmxaQ0JpZVNCaGNIQnNhV05oWW14bElHeGhkeUJ2Y2lCaFozSmxaV1FnZEc4Z2FXNGdkM0pwZEdsdVp5d2djMjltZEhkaGNtVmNiaUFxSUdScGMzUnlhV0oxZEdWa0lIVnVaR1Z5SUhSb1pTQk1hV05sYm5ObElHbHpJR1JwYzNSeWFXSjFkR1ZrSUc5dUlHRnVJRndpUVZNZ1NWTmNJaUJDUVZOSlV5eGNiaUFxSUZkSlZFaFBWVlFnVjBGU1VrRk9WRWxGVXlCUFVpQkRUMDVFU1ZSSlQwNVRJRTlHSUVGT1dTQkxTVTVFTENCbGFYUm9aWElnWlhod2NtVnpjeUJ2Y2lCcGJYQnNhV1ZrTGx4dUlDb2dVMlZsSUhSb1pTQk1hV05sYm5ObElHWnZjaUIwYUdVZ2MzQmxZMmxtYVdNZ2JHRnVaM1ZoWjJVZ1oyOTJaWEp1YVc1bklIQmxjbTFwYzNOcGIyNXpJR0Z1WkZ4dUlDb2diR2x0YVhSaGRHbHZibk1nZFc1a1pYSWdkR2hsSUV4cFkyVnVjMlV1WEc0Z0tpQTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JpQXFMMXh1WEc0dktpcGNiaUFxSUZSb2FYTWdhWE1nWVNCS1lYWmhVMk55YVhCMElISmxhVzF3YkdWdFpXNTBZWFJwYjI0Z2IyWWdWVTFCVUNBb2IzSnBaMmx1WVd3Z2JHbGpaVzV6WlNCaVpXeHZkeWtzSUdaeWIyMWNiaUFxSUhSb1pTQndlWFJvYjI0Z2FXMXdiR1Z0Wlc1MFlYUnBiMjRnWm05MWJtUWdZWFFnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJ4dFkybHVibVZ6TDNWdFlYQXVYRzRnS2x4dUlDb2dRR0YxZEdodmNpQmhibVI1WTI5bGJtVnVRR2R2YjJkc1pTNWpiMjBnS0VGdVpIa2dRMjlsYm1WdUtWeHVJQ292WEc1Y2JpOHFLbHh1SUNvZ1FHeHBZMlZ1YzJWY2JpQXFJRUpUUkNBekxVTnNZWFZ6WlNCTWFXTmxibk5sWEc0Z0tseHVJQ29nUTI5d2VYSnBaMmgwSUNoaktTQXlNREUzTENCTVpXeGhibVFnVFdOSmJtNWxjMXh1SUNvZ1FXeHNJSEpwWjJoMGN5QnlaWE5sY25abFpDNWNiaUFxWEc0Z0tpQlNaV1JwYzNSeWFXSjFkR2x2YmlCaGJtUWdkWE5sSUdsdUlITnZkWEpqWlNCaGJtUWdZbWx1WVhKNUlHWnZjbTF6TENCM2FYUm9JRzl5SUhkcGRHaHZkWFJjYmlBcUlHMXZaR2xtYVdOaGRHbHZiaXdnWVhKbElIQmxjbTFwZEhSbFpDQndjbTkyYVdSbFpDQjBhR0YwSUhSb1pTQm1iMnhzYjNkcGJtY2dZMjl1WkdsMGFXOXVjeUJoY21VZ2JXVjBPbHh1SUNwY2JpQXFJQ29nVW1Wa2FYTjBjbWxpZFhScGIyNXpJRzltSUhOdmRYSmpaU0JqYjJSbElHMTFjM1FnY21WMFlXbHVJSFJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxMQ0IwYUdselhHNGdLaUFnSUd4cGMzUWdiMllnWTI5dVpHbDBhVzl1Y3lCaGJtUWdkR2hsSUdadmJHeHZkMmx1WnlCa2FYTmpiR0ZwYldWeUxseHVJQ3BjYmlBcUlDb2dVbVZrYVhOMGNtbGlkWFJwYjI1eklHbHVJR0pwYm1GeWVTQm1iM0p0SUcxMWMzUWdjbVZ3Y205a2RXTmxJSFJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxMRnh1SUNvZ0lDQjBhR2x6SUd4cGMzUWdiMllnWTI5dVpHbDBhVzl1Y3lCaGJtUWdkR2hsSUdadmJHeHZkMmx1WnlCa2FYTmpiR0ZwYldWeUlHbHVJSFJvWlNCa2IyTjFiV1Z1ZEdGMGFXOXVYRzRnS2lBZ0lHRnVaQzl2Y2lCdmRHaGxjaUJ0WVhSbGNtbGhiSE1nY0hKdmRtbGtaV1FnZDJsMGFDQjBhR1VnWkdsemRISnBZblYwYVc5dUxseHVJQ3BjYmlBcUlDb2dUbVZwZEdobGNpQjBhR1VnYm1GdFpTQnZaaUIwYUdVZ1kyOXdlWEpwWjJoMElHaHZiR1JsY2lCdWIzSWdkR2hsSUc1aGJXVnpJRzltSUdsMGMxeHVJQ29nSUNCamIyNTBjbWxpZFhSdmNuTWdiV0Y1SUdKbElIVnpaV1FnZEc4Z1pXNWtiM0p6WlNCdmNpQndjbTl0YjNSbElIQnliMlIxWTNSeklHUmxjbWwyWldRZ1puSnZiVnh1SUNvZ0lDQjBhR2x6SUhOdlpuUjNZWEpsSUhkcGRHaHZkWFFnYzNCbFkybG1hV01nY0hKcGIzSWdkM0pwZEhSbGJpQndaWEp0YVhOemFXOXVMbHh1SUNwY2JpQXFJRlJJU1ZNZ1UwOUdWRmRCVWtVZ1NWTWdVRkpQVmtsRVJVUWdRbGtnVkVoRklFTlBVRmxTU1VkSVZDQklUMHhFUlZKVElFRk9SQ0JEVDA1VVVrbENWVlJQVWxNZ1hDSkJVeUJKVTF3aVhHNGdLaUJCVGtRZ1FVNVpJRVZZVUZKRlUxTWdUMUlnU1UxUVRFbEZSQ0JYUVZKU1FVNVVTVVZUTENCSlRrTk1WVVJKVGtjc0lFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5d2dWRWhGWEc0Z0tpQkpUVkJNU1VWRUlGZEJVbEpCVGxSSlJWTWdUMFlnVFVWU1EwaEJUbFJCUWtsTVNWUlpJRUZPUkNCR1NWUk9SVk5USUVaUFVpQkJJRkJCVWxSSlExVk1RVklnVUZWU1VFOVRSU0JCVWtWY2JpQXFJRVJKVTBOTVFVbE5SVVF1SUVsT0lFNVBJRVZXUlU1VUlGTklRVXhNSUZSSVJTQkRUMUJaVWtsSFNGUWdTRTlNUkVWU0lFOVNJRU5QVGxSU1NVSlZWRTlTVXlCQ1JTQk1TVUZDVEVWY2JpQXFJRVpQVWlCQlRsa2dSRWxTUlVOVUxDQkpUa1JKVWtWRFZDd2dTVTVEU1VSRlRsUkJUQ3dnVTFCRlEwbEJUQ3dnUlZoRlRWQk1RVkpaTENCUFVpQkRUMDVUUlZGVlJVNVVTVUZNWEc0Z0tpQkVRVTFCUjBWVElDaEpUa05NVlVSSlRrY3NJRUpWVkNCT1QxUWdURWxOU1ZSRlJDQlVUeXdnVUZKUFExVlNSVTFGVGxRZ1QwWWdVMVZDVTFSSlZGVlVSU0JIVDA5RVV5QlBVbHh1SUNvZ1UwVlNWa2xEUlZNN0lFeFBVMU1nVDBZZ1ZWTkZMQ0JFUVZSQkxDQlBVaUJRVWs5R1NWUlRPeUJQVWlCQ1ZWTkpUa1ZUVXlCSlRsUkZVbEpWVUZSSlQwNHBJRWhQVjBWV1JWSmNiaUFxSUVOQlZWTkZSQ0JCVGtRZ1QwNGdRVTVaSUZSSVJVOVNXU0JQUmlCTVNVRkNTVXhKVkZrc0lGZElSVlJJUlZJZ1NVNGdRMDlPVkZKQlExUXNJRk5VVWtsRFZDQk1TVUZDU1V4SlZGa3NYRzRnS2lCUFVpQlVUMUpVSUNoSlRrTk1WVVJKVGtjZ1RrVkhURWxIUlU1RFJTQlBVaUJQVkVoRlVsZEpVMFVwSUVGU1NWTkpUa2NnU1U0Z1FVNVpJRmRCV1NCUFZWUWdUMFlnVkVoRklGVlRSVnh1SUNvZ1QwWWdWRWhKVXlCVFQwWlVWMEZTUlN3Z1JWWkZUaUJKUmlCQlJGWkpVMFZFSUU5R0lGUklSU0JRVDFOVFNVSkpURWxVV1NCUFJpQlRWVU5JSUVSQlRVRkhSUzVjYmlBcUwxeHVYRzVwYlhCdmNuUWdLaUJoY3lCb1pXRndJR1p5YjIwZ0p5NHZhR1ZoY0NjN1hHNXBiWEJ2Y25RZ0tpQmhjeUJ0WVhSeWFYZ2dabkp2YlNBbkxpOXRZWFJ5YVhnbk8xeHVhVzF3YjNKMElDb2dZWE1nZEhKbFpTQm1jbTl0SUNjdUwzUnlaV1VuTzF4dWFXMXdiM0owSUNvZ1lYTWdkWFJwYkhNZ1puSnZiU0FuTGk5MWRHbHNjeWM3WEc1cGJYQnZjblFnZTFKaGJtUnZiVVp1TENCV1pXTjBiM0p6TENCRWFYTjBZVzVqWlVadUxDQldaV04wYjNKOUlHWnliMjBnSnk0dmRXMWhjQ2M3WEc1Y2JpOHFLbHh1SUNvZ1EzSmxZWFJsSUdFZ2RtVnljMmx2YmlCdlppQnVaV0Z5WlhOMElHNWxhV2RvWW05eUlHUmxjMk5sYm5RdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVd0bFRrNUVaWE5qWlc1MEtHUnBjM1JoYm1ObFJtNDZJRVJwYzNSaGJtTmxSbTRzSUhKaGJtUnZiVG9nVW1GdVpHOXRSbTRwSUh0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlHNU9SR1Z6WTJWdWRDaGNiaUFnSUNCa1lYUmhPaUJXWldOMGIzSXNYRzRnSUNBZ2JHVmhaa0Z5Y21GNU9pQldaV04wYjNKekxGeHVJQ0FnSUc1T1pXbG5hR0p2Y25NNklHNTFiV0psY2l4Y2JpQWdJQ0J1U1hSbGNuTWdQU0F4TUN4Y2JpQWdJQ0J0WVhoRFlXNWthV1JoZEdWeklEMGdOVEFzWEc0Z0lDQWdaR1ZzZEdFZ1BTQXdMakF3TVN4Y2JpQWdJQ0J5YUc4Z1BTQXdMalVzWEc0Z0lDQWdjbkJVY21WbFNXNXBkQ0E5SUhSeWRXVmNiaUFnS1NCN1hHNGdJQ0FnWTI5dWMzUWdibFpsY25ScFkyVnpJRDBnWkdGMFlTNXNaVzVuZEdnN1hHNGdJQ0FnWTI5dWMzUWdZM1Z5Y21WdWRFZHlZWEJvSUQwZ2FHVmhjQzV0WVd0bFNHVmhjQ2hrWVhSaExteGxibWQwYUN3Z2JrNWxhV2RvWW05eWN5azdYRzVjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR1JoZEdFdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR052Ym5OMElHbHVaR2xqWlhNZ1BTQm9aV0Z3TG5KbGFtVmpkR2x2YmxOaGJYQnNaU2h1VG1WcFoyaGliM0p6TENCa1lYUmhMbXhsYm1kMGFDd2djbUZ1Wkc5dEtUdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2dhVzVrYVdObGN5NXNaVzVuZEdnN0lHb3JLeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JrSUQwZ1pHbHpkR0Z1WTJWR2JpaGtZWFJoVzJsZExDQmtZWFJoVzJsdVpHbGpaWE5iYWwxZEtUdGNibHh1SUNBZ0lDQWdJQ0JvWldGd0xtaGxZWEJRZFhOb0tHTjFjbkpsYm5SSGNtRndhQ3dnYVN3Z1pDd2dhVzVrYVdObGMxdHFYU3dnTVNrN1hHNGdJQ0FnSUNBZ0lHaGxZWEF1YUdWaGNGQjFjMmdvWTNWeWNtVnVkRWR5WVhCb0xDQnBibVJwWTJWelcycGRMQ0JrTENCcExDQXhLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSEp3VkhKbFpVbHVhWFFwSUh0Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUc0Z1BTQXdPeUJ1SUR3Z2JHVmhaa0Z5Y21GNUxteGxibWQwYURzZ2Jpc3JLU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JHVmhaa0Z5Y21GNVcyNWRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0d4bFlXWkJjbkpoZVZ0dVhWdHBYU0E4SURBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdvZ1BTQnBJQ3NnTVRzZ2FpQThJR3hsWVdaQmNuSmhlVnR1WFM1c1pXNW5kR2c3SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3hsWVdaQmNuSmhlVnR1WFZ0cVhTQThJREFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JrSUQwZ1pHbHpkR0Z1WTJWR2JpaGtZWFJoVzJ4bFlXWkJjbkpoZVZ0dVhWdHBYVjBzSUdSaGRHRmJiR1ZoWmtGeWNtRjVXMjVkVzJwZFhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCb1pXRndMbWhsWVhCUWRYTm9LR04xY25KbGJuUkhjbUZ3YUN3Z2JHVmhaa0Z5Y21GNVcyNWRXMmxkTENCa0xDQnNaV0ZtUVhKeVlYbGJibDFiYWwwc0lERXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FHVmhjQzVvWldGd1VIVnphQ2hqZFhKeVpXNTBSM0poY0dnc0lHeGxZV1pCY25KaGVWdHVYVnRxWFN3Z1pDd2diR1ZoWmtGeWNtRjVXMjVkVzJsZExDQXhLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCbWIzSWdLR3hsZENCdUlEMGdNRHNnYmlBOElHNUpkR1Z5Y3pzZ2Jpc3JLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmpZVzVrYVdSaGRHVk9aV2xuYUdKdmNuTWdQU0JvWldGd0xtSjFhV3hrUTJGdVpHbGtZWFJsY3loY2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZEVkeVlYQm9MRnh1SUNBZ0lDQWdJQ0J1Vm1WeWRHbGpaWE1zWEc0Z0lDQWdJQ0FnSUc1T1pXbG5hR0p2Y25Nc1hHNGdJQ0FnSUNBZ0lHMWhlRU5oYm1ScFpHRjBaWE1zWEc0Z0lDQWdJQ0FnSUhKaGJtUnZiVnh1SUNBZ0lDQWdLVHRjYmx4dUlDQWdJQ0FnYkdWMElHTWdQU0F3TzF4dUlDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCdVZtVnlkR2xqWlhNN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCbWIzSWdLR3hsZENCcUlEMGdNRHNnYWlBOElHMWhlRU5oYm1ScFpHRjBaWE03SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEFnUFNCTllYUm9MbVpzYjI5eUtHTmhibVJwWkdGMFpVNWxhV2RvWW05eWMxc3dYVnRwWFZ0cVhTazdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIQWdQQ0F3SUh4OElIVjBhV3h6TG5SaGRWSmhibVFvY21GdVpHOXRLU0E4SUhKb2J5bGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdabTl5SUNoc1pYUWdheUE5SURBN0lHc2dQQ0J0WVhoRFlXNWthV1JoZEdWek95QnJLeXNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIRWdQU0JOWVhSb0xtWnNiMjl5S0dOaGJtUnBaR0YwWlU1bGFXZG9ZbTl5YzFzd1hWdHBYVnRyWFNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmphaUE5SUdOaGJtUnBaR0YwWlU1bGFXZG9ZbTl5YzFzeVhWdHBYVnRxWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTnJJRDBnWTJGdVpHbGtZWFJsVG1WcFoyaGliM0p6V3pKZFcybGRXMnRkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hFZ1BDQXdJSHg4SUNnaFkyb2dKaVlnSVdOcktTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWkNBOUlHUnBjM1JoYm1ObFJtNG9aR0YwWVZ0d1hTd2daR0YwWVZ0eFhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCaklDczlJR2hsWVhBdWFHVmhjRkIxYzJnb1kzVnljbVZ1ZEVkeVlYQm9MQ0J3TENCa0xDQnhMQ0F4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR01nS3owZ2FHVmhjQzVvWldGd1VIVnphQ2hqZFhKeVpXNTBSM0poY0dnc0lIRXNJR1FzSUhBc0lERXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLR01nUEQwZ1pHVnNkR0VnS2lCdVRtVnBaMmhpYjNKeklDb2daR0YwWVM1c1pXNW5kR2dwWEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNiaUFnSUNCamIyNXpkQ0J6YjNKMFpXUWdQU0JvWldGd0xtUmxhR1ZoY0ZOdmNuUW9ZM1Z5Y21WdWRFZHlZWEJvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdjMjl5ZEdWa08xeHVJQ0I5TzF4dWZWeHVYRzVsZUhCdmNuUWdkSGx3WlNCSmJtbDBSbkp2YlZKaGJtUnZiVVp1SUQwZ0tGeHVJQ0J1VG1WcFoyaGliM0p6T2lCdWRXMWlaWElzWEc0Z0lHUmhkR0U2SUZabFkzUnZjaXhjYmlBZ2NYVmxjbmxRYjJsdWRITTZJRlpsWTNSdmNpeGNiaUFnWDJobFlYQTZJR2hsWVhBdVNHVmhjQ3hjYmlBZ2NtRnVaRzl0T2lCU1lXNWtiMjFHYmx4dUtTQTlQaUIyYjJsa08xeHVYRzVsZUhCdmNuUWdkSGx3WlNCSmJtbDBSbkp2YlZSeVpXVkdiaUE5SUNoY2JpQWdYM1J5WldVNklIUnlaV1V1Um14aGRGUnlaV1VzWEc0Z0lHUmhkR0U2SUZabFkzUnZjaXhjYmlBZ2NYVmxjbmxRYjJsdWRITTZJRlpsWTNSdmNpeGNiaUFnWDJobFlYQTZJR2hsWVhBdVNHVmhjQ3hjYmlBZ2NtRnVaRzl0T2lCU1lXNWtiMjFHYmx4dUtTQTlQaUIyYjJsa08xeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiV0ZyWlVsdWFYUnBZV3hwZW1GMGFXOXVjeWhrYVhOMFlXNWpaVVp1T2lCRWFYTjBZVzVqWlVadUtTQjdYRzRnSUdaMWJtTjBhVzl1SUdsdWFYUkdjbTl0VW1GdVpHOXRLRnh1SUNBZ0lHNU9aV2xuYUdKdmNuTTZJRzUxYldKbGNpeGNiaUFnSUNCa1lYUmhPaUJXWldOMGIzSXNYRzRnSUNBZ2NYVmxjbmxRYjJsdWRITTZJRlpsWTNSdmNpeGNiaUFnSUNCZmFHVmhjRG9nYUdWaGNDNUlaV0Z3TEZ4dUlDQWdJSEpoYm1SdmJUb2dVbUZ1Wkc5dFJtNWNiaUFnS1NCN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCeGRXVnllVkJ2YVc1MGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhVzVrYVdObGN5QTlJSFYwYVd4ekxuSmxhbVZqZEdsdmJsTmhiWEJzWlNodVRtVnBaMmhpYjNKekxDQmtZWFJoTG14bGJtZDBhQ3dnY21GdVpHOXRLVHRjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR29nUFNBd095QnFJRHdnYVc1a2FXTmxjeTVzWlc1bmRHZzdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVc1a2FXTmxjMXRxWFNBOElEQXBYRzRnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWkNBOUlHUnBjM1JoYm1ObFJtNG9aR0YwWVZ0cGJtUnBZMlZ6VzJwZFhTd2djWFZsY25sUWIybHVkSE5iYVYwcE8xeHVJQ0FnSUNBZ0lDQm9aV0Z3TG1obFlYQlFkWE5vS0Y5b1pXRndMQ0JwTENCa0xDQnBibVJwWTJWelcycGRMQ0F4S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCcGJtbDBSbkp2YlZSeVpXVW9YRzRnSUNBZ1gzUnlaV1U2SUhSeVpXVXVSbXhoZEZSeVpXVXNYRzRnSUNBZ1pHRjBZVG9nVm1WamRHOXlMRnh1SUNBZ0lIRjFaWEo1VUc5cGJuUnpPaUJXWldOMGIzSXNYRzRnSUNBZ1gyaGxZWEE2SUdobFlYQXVTR1ZoY0N4Y2JpQWdJQ0J5WVc1a2IyMDZJRkpoYm1SdmJVWnVYRzRnSUNrZ2UxeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2NYVmxjbmxRYjJsdWRITXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR2x1WkdsalpYTWdQU0IwY21WbExuTmxZWEpqYUVac1lYUlVjbVZsS0hGMVpYSjVVRzlwYm5SelcybGRMQ0JmZEhKbFpTd2djbUZ1Wkc5dEtUdGNibHh1SUNBZ0lDQWdabTl5SUNoc1pYUWdhaUE5SURBN0lHb2dQQ0JwYm1ScFkyVnpMbXhsYm1kMGFEc2dhaXNyS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYm1ScFkyVnpXMnBkSUR3Z01DbGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzVjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaQ0E5SUdScGMzUmhibU5sUm00b1pHRjBZVnRwYm1ScFkyVnpXMnBkWFN3Z2NYVmxjbmxRYjJsdWRITmJhVjBwTzF4dUlDQWdJQ0FnSUNCb1pXRndMbWhsWVhCUWRYTm9LRjlvWldGd0xDQnBMQ0JrTENCcGJtUnBZMlZ6VzJwZExDQXhLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUh0cGJtbDBSbkp2YlZKaGJtUnZiU3dnYVc1cGRFWnliMjFVY21WbGZUdGNibjFjYmx4dVpYaHdiM0owSUhSNWNHVWdVMlZoY21Ob1JtNGdQU0FvWEc0Z0lHUmhkR0U2SUZabFkzUnZjaXhjYmlBZ1ozSmhjR2c2SUcxaGRISnBlQzVUY0dGeWMyVk5ZWFJ5YVhnc1hHNGdJR2x1YVhScFlXeHBlbUYwYVc5dU9pQm9aV0Z3TGtobFlYQXNYRzRnSUhGMVpYSjVVRzlwYm5Sek9pQldaV04wYjNKY2Jpa2dQVDRnYUdWaGNDNUlaV0Z3TzF4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXRnJaVWx1YVhScFlXeHBlbVZrVGs1VFpXRnlZMmdvWkdsemRHRnVZMlZHYmpvZ1JHbHpkR0Z1WTJWR2Jpa2dlMXh1SUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnYm01VFpXRnlZMmhHYmloY2JpQWdJQ0JrWVhSaE9pQldaV04wYjNJc1hHNGdJQ0FnWjNKaGNHZzZJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGdzWEc0Z0lDQWdhVzVwZEdsaGJHbDZZWFJwYjI0NklHaGxZWEF1U0dWaGNDeGNiaUFnSUNCeGRXVnllVkJ2YVc1MGN6b2dWbVZqZEc5eVhHNGdJQ2tnZTF4dUlDQWdJR052Ym5OMElIdHBibVJwWTJWekxDQnBibVJ3ZEhKOUlEMGdiV0YwY21sNExtZGxkRU5UVWlobmNtRndhQ2s3WEc1Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhGMVpYSjVVRzlwYm5SekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQjBjbWxsWkNBOUlHNWxkeUJUWlhRb2FXNXBkR2xoYkdsNllYUnBiMjViTUYxYmFWMHBPMXh1SUNBZ0lDQWdkMmhwYkdVZ0tIUnlkV1VwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdSbWx1WkNCemJXRnNiR1Z6ZENCbWJHRm5aMlZrSUhabGNuUmxlRnh1SUNBZ0lDQWdJQ0JqYjI1emRDQjJaWEowWlhnZ1BTQm9aV0Z3TG5OdFlXeHNaWE4wUm14aFoyZGxaQ2hwYm1sMGFXRnNhWHBoZEdsdmJpd2dhU2s3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSFpsY25SbGVDQTlQVDBnTFRFcFhHNGdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1kyRnVaR2xrWVhSbGN5QTlJR2x1WkdsalpYTXVjMnhwWTJVb2FXNWtjSFJ5VzNabGNuUmxlRjBzSUdsdVpIQjBjbHQyWlhKMFpYZ2dLeUF4WFNrN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdZMkZ1Wkdsa1lYUmxJRzltSUdOaGJtUnBaR0YwWlhNcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVc1a2FXUmhkR1VnUFQwOUlIWmxjblJsZUNCOGZGeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGdVpHbGtZWFJsSUQwOVBTQXRNU0I4ZkZ4dUlDQWdJQ0FnSUNBZ0lDQWdkSEpwWldRdWFHRnpLR05oYm1ScFpHRjBaU2xjYmlBZ0lDQWdJQ0FnSUNBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdRZ1BTQmthWE4wWVc1alpVWnVLR1JoZEdGYlkyRnVaR2xrWVhSbFhTd2djWFZsY25sUWIybHVkSE5iYVYwcE8xeHVJQ0FnSUNBZ0lDQWdJR2hsWVhBdWRXNWphR1ZqYTJWa1NHVmhjRkIxYzJnb2FXNXBkR2xoYkdsNllYUnBiMjRzSUdrc0lHUXNJR05oYm1ScFpHRjBaU3dnTVNrN1hHNGdJQ0FnSUNBZ0lDQWdkSEpwWldRdVlXUmtLR05oYm1ScFpHRjBaU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHbHVhWFJwWVd4cGVtRjBhVzl1TzF4dUlDQjlPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FXNXBkR2xoYkdsNlpWTmxZWEpqYUNoY2JpQWdabTl5WlhOME9pQjBjbVZsTGtac1lYUlVjbVZsVzEwc1hHNGdJR1JoZEdFNklGWmxZM1J2Y2l4Y2JpQWdjWFZsY25sUWIybHVkSE02SUZabFkzUnZjaXhjYmlBZ2JrNWxhV2RvWW05eWN6b2diblZ0WW1WeUxGeHVJQ0JwYm1sMFJuSnZiVkpoYm1SdmJUb2dTVzVwZEVaeWIyMVNZVzVrYjIxR2JpeGNiaUFnYVc1cGRFWnliMjFVY21WbE9pQkpibWwwUm5KdmJWUnlaV1ZHYml4Y2JpQWdjbUZ1Wkc5dE9pQlNZVzVrYjIxR2JseHVLU0I3WEc0Z0lHTnZibk4wSUhKbGMzVnNkSE1nUFNCb1pXRndMbTFoYTJWSVpXRndLSEYxWlhKNVVHOXBiblJ6TG14bGJtZDBhQ3dnYms1bGFXZG9ZbTl5Y3lrN1hHNGdJR2x1YVhSR2NtOXRVbUZ1Wkc5dEtHNU9aV2xuYUdKdmNuTXNJR1JoZEdFc0lIRjFaWEo1VUc5cGJuUnpMQ0J5WlhOMWJIUnpMQ0J5WVc1a2IyMHBPMXh1SUNCcFppQW9abTl5WlhOMEtTQjdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQjBjbVZsSUc5bUlHWnZjbVZ6ZENsY2JpQWdJQ0FnSUdsdWFYUkdjbTl0VkhKbFpTaDBjbVZsTENCa1lYUmhMQ0J4ZFdWeWVWQnZhVzUwY3l3Z2NtVnpkV3gwY3l3Z2NtRnVaRzl0S1R0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnY21WemRXeDBjenRjYm4xY2JpSmRmUT09IiwiaW1wb3J0IGlzQXJyYXkgZnJvbSAnaXMtYW55LWFycmF5JztcblxuaW1wb3J0IGVycm9yQ2FsY3VsYXRpb24gZnJvbSAnLi9lcnJvckNhbGN1bGF0aW9uJztcbmltcG9ydCBzdGVwIGZyb20gJy4vc3RlcCc7XG5cbi8qKlxuICogQ3VydmUgZml0dGluZyBhbGdvcml0aG1cbiAqIEBwYXJhbSB7e3g6QXJyYXk8bnVtYmVyPiwgeTpBcnJheTxudW1iZXI+fX0gZGF0YSAtIEFycmF5IG9mIHBvaW50cyB0byBmaXQgaW4gdGhlIGZvcm1hdCBbeDEsIHgyLCAuLi4gXSwgW3kxLCB5MiwgLi4uIF1cbiAqIEBwYXJhbSB7ZnVuY3Rpb259IHBhcmFtZXRlcml6ZWRGdW5jdGlvbiAtIFRoZSBwYXJhbWV0ZXJzIGFuZCByZXR1cm5zIGEgZnVuY3Rpb24gd2l0aCB0aGUgaW5kZXBlbmRlbnQgdmFyaWFibGUgYXMgYSBwYXJhbWV0ZXJcbiAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc10gLSBPcHRpb25zIG9iamVjdFxuICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLmRhbXBpbmddIC0gTGV2ZW5iZXJnLU1hcnF1YXJkdCBwYXJhbWV0ZXJcbiAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5ncmFkaWVudERpZmZlcmVuY2UgPSAxMGUtMl0gLSBBZGp1c3RtZW50IGZvciBkZWNyZWFzZSB0aGUgZGFtcGluZyBwYXJhbWV0ZXJcbiAqIEBwYXJhbSB7QXJyYXk8bnVtYmVyPn0gW29wdGlvbnMubWluVmFsdWVzXSAtIE1pbmltdW0gYWxsb3dlZCB2YWx1ZXMgZm9yIHBhcmFtZXRlcnNcbiAqIEBwYXJhbSB7QXJyYXk8bnVtYmVyPn0gW29wdGlvbnMubWF4VmFsdWVzXSAtIE1heGltdW0gYWxsb3dlZCB2YWx1ZXMgZm9yIHBhcmFtZXRlcnNcbiAqIEBwYXJhbSB7QXJyYXk8bnVtYmVyPn0gW29wdGlvbnMuaW5pdGlhbFZhbHVlc10gLSBBcnJheSBvZiBpbml0aWFsIHBhcmFtZXRlciB2YWx1ZXNcbiAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5tYXhJdGVyYXRpb25zID0gMTAwXSAtIE1heGltdW0gb2YgYWxsb3dlZCBpdGVyYXRpb25zXG4gKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMuZXJyb3JUb2xlcmFuY2UgPSAxMGUtM10gLSBNaW5pbXVtIHVuY2VydGFpbnR5IGFsbG93ZWQgZm9yIGVhY2ggcG9pbnRcbiAqIEByZXR1cm4ge3twYXJhbWV0ZXJWYWx1ZXM6IEFycmF5PG51bWJlcj4sIHBhcmFtZXRlckVycm9yOiBudW1iZXIsIGl0ZXJhdGlvbnM6IG51bWJlcn19XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGxldmVuYmVyZ01hcnF1YXJkdChcbiAgZGF0YSxcbiAgcGFyYW1ldGVyaXplZEZ1bmN0aW9uLFxuICBvcHRpb25zID0ge30sXG4pIHtcbiAgbGV0IHtcbiAgICBtYXhJdGVyYXRpb25zID0gMTAwLFxuICAgIGdyYWRpZW50RGlmZmVyZW5jZSA9IDEwZS0yLFxuICAgIGRhbXBpbmcgPSAwLFxuICAgIGVycm9yVG9sZXJhbmNlID0gMTBlLTMsXG4gICAgbWluVmFsdWVzLFxuICAgIG1heFZhbHVlcyxcbiAgICBpbml0aWFsVmFsdWVzLFxuICB9ID0gb3B0aW9ucztcblxuICBpZiAoZGFtcGluZyA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZGFtcGluZyBvcHRpb24gbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlcicpO1xuICB9IGVsc2UgaWYgKCFkYXRhLnggfHwgIWRhdGEueSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRhdGEgcGFyYW1ldGVyIG11c3QgaGF2ZSB4IGFuZCB5IGVsZW1lbnRzJyk7XG4gIH0gZWxzZSBpZiAoXG4gICAgIWlzQXJyYXkoZGF0YS54KSB8fFxuICAgIGRhdGEueC5sZW5ndGggPCAyIHx8XG4gICAgIWlzQXJyYXkoZGF0YS55KSB8fFxuICAgIGRhdGEueS5sZW5ndGggPCAyXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdUaGUgZGF0YSBwYXJhbWV0ZXIgZWxlbWVudHMgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG1vcmUgdGhhbiAyIHBvaW50cycsXG4gICAgKTtcbiAgfSBlbHNlIGlmIChkYXRhLngubGVuZ3RoICE9PSBkYXRhLnkubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZGF0YSBwYXJhbWV0ZXIgZWxlbWVudHMgbXVzdCBoYXZlIHRoZSBzYW1lIHNpemUnKTtcbiAgfVxuXG4gIGxldCBwYXJhbWV0ZXJzID1cbiAgICBpbml0aWFsVmFsdWVzIHx8IG5ldyBBcnJheShwYXJhbWV0ZXJpemVkRnVuY3Rpb24ubGVuZ3RoKS5maWxsKDEpO1xuICBsZXQgcGFyTGVuID0gcGFyYW1ldGVycy5sZW5ndGg7XG4gIG1heFZhbHVlcyA9IG1heFZhbHVlcyB8fCBuZXcgQXJyYXkocGFyTGVuKS5maWxsKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtcbiAgbWluVmFsdWVzID0gbWluVmFsdWVzIHx8IG5ldyBBcnJheShwYXJMZW4pLmZpbGwoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpO1xuXG4gIGlmIChtYXhWYWx1ZXMubGVuZ3RoICE9PSBtaW5WYWx1ZXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaW5WYWx1ZXMgYW5kIG1heFZhbHVlcyBtdXN0IGJlIHRoZSBzYW1lIHNpemUnKTtcbiAgfVxuXG4gIGlmICghaXNBcnJheShwYXJhbWV0ZXJzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW5pdGlhbFZhbHVlcyBtdXN0IGJlIGFuIGFycmF5Jyk7XG4gIH1cblxuICBsZXQgZXJyb3IgPSBlcnJvckNhbGN1bGF0aW9uKGRhdGEsIHBhcmFtZXRlcnMsIHBhcmFtZXRlcml6ZWRGdW5jdGlvbik7XG5cbiAgbGV0IGNvbnZlcmdlZCA9IGVycm9yIDw9IGVycm9yVG9sZXJhbmNlO1xuXG4gIGxldCBpdGVyYXRpb247XG4gIGZvciAoaXRlcmF0aW9uID0gMDsgaXRlcmF0aW9uIDwgbWF4SXRlcmF0aW9ucyAmJiAhY29udmVyZ2VkOyBpdGVyYXRpb24rKykge1xuICAgIHBhcmFtZXRlcnMgPSBzdGVwKFxuICAgICAgZGF0YSxcbiAgICAgIHBhcmFtZXRlcnMsXG4gICAgICBkYW1waW5nLFxuICAgICAgZ3JhZGllbnREaWZmZXJlbmNlLFxuICAgICAgcGFyYW1ldGVyaXplZEZ1bmN0aW9uLFxuICAgICk7XG5cbiAgICBmb3IgKGxldCBrID0gMDsgayA8IHBhckxlbjsgaysrKSB7XG4gICAgICBwYXJhbWV0ZXJzW2tdID0gTWF0aC5taW4oXG4gICAgICAgIE1hdGgubWF4KG1pblZhbHVlc1trXSwgcGFyYW1ldGVyc1trXSksXG4gICAgICAgIG1heFZhbHVlc1trXSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgZXJyb3IgPSBlcnJvckNhbGN1bGF0aW9uKGRhdGEsIHBhcmFtZXRlcnMsIHBhcmFtZXRlcml6ZWRGdW5jdGlvbik7XG4gICAgaWYgKGlzTmFOKGVycm9yKSkgYnJlYWs7XG4gICAgY29udmVyZ2VkID0gZXJyb3IgPD0gZXJyb3JUb2xlcmFuY2U7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBhcmFtZXRlclZhbHVlczogcGFyYW1ldGVycyxcbiAgICBwYXJhbWV0ZXJFcnJvcjogZXJyb3IsXG4gICAgaXRlcmF0aW9uczogaXRlcmF0aW9uLFxuICB9O1xufVxuIiwiaW1wb3J0IHsgZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZSB9IGZyb20gJy4uL2Rpc3RhbmNlLW1ldHJpY3MtbWV0aG9kcyc7XG5pbXBvcnQgeyBCaXRBcnJheU1ldHJpY3NOYW1lcyB9IGZyb20gJy4uL3R5cGVkLW1ldHJpY3MnO1xuaW1wb3J0IHsgRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGluc2VydFNtYWxsZXIsIGlzTmlsIH0gZnJvbSAnLi91dGlscyc7XG5leHBvcnQgY2xhc3MgU3BhcnNlTWF0cml4U2VydmljZSB7XG4gICAgX3dvcmtlckNvdW50O1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl93b3JrZXJDb3VudCA9IE1hdGgubWF4KG5hdmlnYXRvci5oYXJkd2FyZUNvbmN1cnJlbmN5IC0gMiwgMSk7XG4gICAgfVxuICAgIGFzeW5jIGNhbGModmFsdWVzLCBmbk5hbWUsIHRocmVzaG9sZCwgb3B0cyA9IHt9KSB7XG4gICAgICAgIC8vc2l6ZSBvZiBmdWxsIG1hdHJpeFxuICAgICAgICBjb25zdCBtYXRTaXplID0gdmFsdWVzLmxlbmd0aCAqICh2YWx1ZXMubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICBjb25zdCBjaHVua1NpemUgPSBNYXRoLmZsb29yKG1hdFNpemUgLyB0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgIGNvbnN0IG1pblRocmVzaG9sZCA9IHZhbHVlcy5sZW5ndGggPiAyMDAwMCA/IGF3YWl0IHRoaXMuZ2V0TWluaW1hbFRocmVzaG9sZCh2YWx1ZXMsIGZuTmFtZSwgb3B0cykgOiAwO1xuICAgICAgICBpZiAodGhyZXNob2xkIDwgbWluVGhyZXNob2xkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgdXNpbmcgdGhyZXNob2xkICR7bWluVGhyZXNob2xkfWApO1xuICAgICAgICAgICAgdGhyZXNob2xkID0gbWluVGhyZXNob2xkO1xuICAgICAgICB9XG4gICAgICAgIG9wdHNbJ3RocmVzaG9sZCddID0gdGhyZXNob2xkO1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgIGNvbnN0IHdvcmtlcnMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpXG4gICAgICAgICAgICAuZmlsbChudWxsKS5tYXAoKCkgPT4gbmV3IFdvcmtlcihuZXcgVVJMKCcuL3NwYXJzZS1tYXRyaXgtd29ya2VyJywgaW1wb3J0Lm1ldGEudXJsKSkpO1xuICAgICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCB0aGlzLl93b3JrZXJDb3VudDsgaWR4KyspIHtcbiAgICAgICAgICAgIHByb21pc2VzW2lkeF0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZVdvcmtlciwgcmVqZWN0V29ya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRJZHggPSBpZHggKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kSWR4ID0gaWR4ID09PSB0aGlzLl93b3JrZXJDb3VudCAtIDEgPyBtYXRTaXplIDogKGlkeCArIDEpICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgIGlmIChlbmRJZHggPD0gc3RhcnRJZHgpXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBpOiBuZXcgSW50MzJBcnJheSgwKSwgajogbmV3IEludDMyQXJyYXkoMCksIGRpc3RhbmNlOiBuZXcgRmxvYXQzMkFycmF5KDApLCBpZHggfSk7XG4gICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnBvc3RNZXNzYWdlKHsgdmFsdWVzLCBzdGFydElkeCwgZW5kSWR4LCB0aHJlc2hvbGQsIGZuTmFtZSwgb3B0cyB9KTtcbiAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0ub25tZXNzYWdlID0gKHsgZGF0YTogeyBlcnJvciwgaSwgaiwgZGlzdGFuY2UgfSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0V29ya2VyKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBpLCBqLCBkaXN0YW5jZSwgaWR4IH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgICAgIGNvbnN0IGZ1bGxTaXplID0gcmVzdWx0cy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBhY2MgKyB2YWwuaS5sZW5ndGgsIDApO1xuICAgICAgICBjb25zdCBpID0gbmV3IEludDMyQXJyYXkoZnVsbFNpemUpO1xuICAgICAgICBjb25zdCBqID0gbmV3IEludDMyQXJyYXkoZnVsbFNpemUpO1xuICAgICAgICBjb25zdCBkaXN0YW5jZSA9IG5ldyBGbG9hdDMyQXJyYXkoZnVsbFNpemUpO1xuICAgICAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICAgICAgLy8gc2V0dGluZyB0aGUgcmVzdWx0c1xuICAgICAgICBmb3IgKGNvbnN0IHJlcyBvZiByZXN1bHRzKSB7XG4gICAgICAgICAgICBpLnNldChyZXMuaSwgb2Zmc2V0KTtcbiAgICAgICAgICAgIGouc2V0KHJlcy5qLCBvZmZzZXQpO1xuICAgICAgICAgICAgZGlzdGFuY2Uuc2V0KHJlcy5kaXN0YW5jZSwgb2Zmc2V0KTtcbiAgICAgICAgICAgIG9mZnNldCArPSByZXMuaS5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgaSwgaiwgZGlzdGFuY2UgfTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0S05OKHZhbHVlcywgZm5OYW1lLCBuTmVpZ2hib3VycyA9IDE1LCBvcHRzID0ge30pIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMubXVsdGlDb2x1bW5LTk4oW3ZhbHVlc10sIFtmbk5hbWVdLCBuTmVpZ2hib3VycywgW29wdHNdLCBbMV0pO1xuICAgIH1cbiAgICBhc3luYyBtdWx0aUNvbHVtbktOTih2YWx1ZXMsIGZuTmFtZXMsIG5OZWlnaGJvdXJzID0gMTUsIG9wdHMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kID0gRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMuRVVDTElERUFOKSB7XG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoICE9PSBmbk5hbWVzLmxlbmd0aCB8fCB2YWx1ZXMubGVuZ3RoICE9PSBvcHRzLmxlbmd0aCB8fCB2YWx1ZXMubGVuZ3RoICE9PSB3ZWlnaHRzLmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndmFsdWVzLCBkaXN0YW5jZSBmdW5jdGlvbnMsIG9wdGlvbnMgYW5kIHdlaWdodHMgYXJyYXlzIHNob3VsZCBoYXZlIHRoZSBzYW1lIGxlbmd0aCcpO1xuICAgICAgICBpZiAodmFsdWVzLnNvbWUoKHYpID0+IHYubGVuZ3RoICE9PSB2YWx1ZXNbMF0ubGVuZ3RoKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYWxsIHZhbHVlcyBhcnJheXMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgbGVuZ3RoJyk7XG4gICAgICAgIGNvbnN0IG1hdFNpemUgPSB2YWx1ZXNbMF0ubGVuZ3RoICogKHZhbHVlc1swXS5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGguZmxvb3IobWF0U2l6ZSAvIHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICBjb25zdCB3b3JrZXJzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KVxuICAgICAgICAgICAgLmZpbGwobnVsbCkubWFwKCgpID0+IG5ldyBXb3JrZXIobmV3IFVSTCgnLi9rbm4td29ya2VyJywgaW1wb3J0Lm1ldGEudXJsKSkpO1xuICAgICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCB0aGlzLl93b3JrZXJDb3VudDsgaWR4KyspIHtcbiAgICAgICAgICAgIHByb21pc2VzW2lkeF0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZVdvcmtlciwgcmVqZWN0V29ya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRJZHggPSBpZHggKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kSWR4ID0gaWR4ID09PSB0aGlzLl93b3JrZXJDb3VudCAtIDEgPyBtYXRTaXplIDogKGlkeCArIDEpICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgIGlmIChlbmRJZHggPD0gc3RhcnRJZHgpXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBrbm5EaXN0YW5jZXM6IG5ldyBBcnJheSgwKSwga25uSW5kZXhlczogbmV3IEFycmF5KDApIH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5wb3N0TWVzc2FnZSh7IHZhbHVlcywgc3RhcnRJZHgsIGVuZElkeCwgZm5OYW1lcywgb3B0cywgbk5laWdoYm91cnMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kIH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5vbm1lc3NhZ2UgPSAoeyBkYXRhOiB7IGVycm9yLCBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0V29ya2VyKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICAgICAgY29uc3Qga25uUmVzID0ge1xuICAgICAgICAgICAga25uRGlzdGFuY2VzOiBuZXcgQXJyYXkodmFsdWVzWzBdLmxlbmd0aCkuZmlsbChudWxsKS5tYXAoKCkgPT4gbmV3IEFycmF5KG5OZWlnaGJvdXJzKS5maWxsKDk5OTk5KSksXG4gICAgICAgICAgICBrbm5JbmRleGVzOiBuZXcgQXJyYXkodmFsdWVzWzBdLmxlbmd0aCkuZmlsbChudWxsKS5tYXAoKCkgPT4gbmV3IEFycmF5KG5OZWlnaGJvdXJzKS5maWxsKC0xKSlcbiAgICAgICAgfTtcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNbMF0ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHJlcy5rbm5EaXN0YW5jZXNbaV0/Lmxlbmd0aCA/PyAwOyArK2opXG4gICAgICAgICAgICAgICAgICAgIGluc2VydFNtYWxsZXIoa25uUmVzLmtubkRpc3RhbmNlc1tpXSwga25uUmVzLmtubkluZGV4ZXNbaV0sIHJlcy5rbm5EaXN0YW5jZXNbaV1bal0sIHJlcy5rbm5JbmRleGVzW2ldW2pdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ga25uUmVzO1xuICAgIH1cbiAgICBhc3luYyBnZXRTYW1wbGVEaXN0YW5jZXModmFsdWVzLCBmbk5hbWUsIG9wdHMgPSB7fSkge1xuICAgICAgICBjb25zdCB0aHJlc2hvbGRXb3JrZXJzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KS5maWxsKG51bGwpXG4gICAgICAgICAgICAubWFwKCgpID0+IG5ldyBXb3JrZXIobmV3IFVSTCgnLi9zcGFyc2UtbWF0cml4LXRocmVzaG9sZC13b3JrZXInLCBpbXBvcnQubWV0YS51cmwpKSk7XG4gICAgICAgIC8vIGRhdGEgbWF5IGJlIHNvcnRlZCBieSBjbHVzdGVycywgd2hpY2ggd2lsbCBoaW5kZXIgdGhlIHJhbmRvbSBzYW1wbGluZ1xuICAgICAgICAvLyBzbyB3ZSBzaHVmZmxlIGl0IGZpcnN0XG4gICAgICAgIGNvbnN0IHNodWZmbGVkVmFsdWVzID0gdmFsdWVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGkgPSBzaHVmZmxlZFZhbHVlcy5sZW5ndGggLSAxOyBpID4gMDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCBqID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGkgKyAxKSk7XG4gICAgICAgICAgICBbc2h1ZmZsZWRWYWx1ZXNbaV0sIHNodWZmbGVkVmFsdWVzW2pdXSA9IFtzaHVmZmxlZFZhbHVlc1tqXSwgc2h1ZmZsZWRWYWx1ZXNbaV1dO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBtYXRTaXplID0gdmFsdWVzLmxlbmd0aCAqICh2YWx1ZXMubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICAgICAgY29uc3QgY2h1bmtTaXplID0gTWF0aC5mbG9vcihtYXRTaXplIC8gdGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICAgICAgY29uc3QgbWF4U2FtcGxlU2l6ZSA9IDEwMDAwMDA7XG4gICAgICAgICAgICBjb25zdCBzYW1wbGVTaXNlID0gTWF0aC5tYXgoTWF0aC5taW4obWF0U2l6ZSAvIDEwMDAsIG1heFNhbXBsZVNpemUpLCBNYXRoLm1pbihtYXRTaXplLCBtYXhTYW1wbGVTaXplKSk7XG4gICAgICAgICAgICBjb25zdCB0ZXN0U2V0U2l6ZVBlcldvcmtlciA9IE1hdGguZmxvb3Ioc2FtcGxlU2lzZSAvIHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgICAgIGNvbnN0IHRQcm9taXNlcyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCB0aGlzLl93b3JrZXJDb3VudDsgaWR4KyspIHtcbiAgICAgICAgICAgICAgICB0UHJvbWlzZXNbaWR4XSA9IG5ldyBQcm9taXNlKChyZXNvbHZlV29ya2VyLCByZWplY3RXb3JrZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRJZHggPSBpZHggKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZElkeCA9IGlkeCA9PT0gdGhpcy5fd29ya2VyQ291bnQgLSAxID8gbWF0U2l6ZSA6IChpZHggKyAxKSAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vyc1tpZHhdLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczogc2h1ZmZsZWRWYWx1ZXMsIHN0YXJ0SWR4LCBlbmRJZHgsIHNhbXBsZUxlbmd0aDogdGVzdFNldFNpemVQZXJXb3JrZXIsIGZuTmFtZSwgb3B0c1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vyc1tpZHhdLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGRpc3RhbmNlIH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdFdvcmtlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZVdvcmtlcih7IGRpc3RhbmNlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHRQcm9taXNlcyk7XG4gICAgICAgICAgICBjb25zdCBmdWxsU2l6ZSA9IHJlc3VsdHMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLmRpc3RhbmNlLmxlbmd0aCwgMCk7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IG5ldyBGbG9hdDMyQXJyYXkoZnVsbFNpemUpO1xuICAgICAgICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlcyBvZiByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgZGlzdGFuY2Uuc2V0KHJlcy5kaXN0YW5jZSwgb2Zmc2V0KTtcbiAgICAgICAgICAgICAgICBvZmZzZXQgKz0gcmVzLmRpc3RhbmNlLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpc3RhbmNlLnNvcnQoKTtcbiAgICAgICAgICAgIHJldHVybiBkaXN0YW5jZTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vycz8uZm9yRWFjaCgodykgPT4gdz8udGVybWluYXRlKCkpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmxvYXQzMkFycmF5KDEpLmZpbGwoMC41KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBnZXRNaW5pbWFsVGhyZXNob2xkKHZhbHVlcywgZm5OYW1lLCBvcHRzID0ge30pIHtcbiAgICAgICAgLy9XZSBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgbWluaW1hbCB0aHJlc2hvbGQgZmlyc3QsXG4gICAgICAgIC8vaW4gb3JkZXIgdG8gZ2V0IG1hdHJpeCBzdWNoIHRoYXQgaXQgZG9lcyBub3QgZXhjZWVkIHRoZSBtYXhpbXVtIHNpemUgb2YgMUdCXG4gICAgICAgIC8vd2UgaGF2ZSAzIHJldHVybiBhcnJheXMsIGVhY2ggNCBiaXRlcyBwZXIgZWxlbWVudCwgc28gaWYgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgbWF0cml4IGlzIDFHQixcbiAgICAgICAgY29uc3QgbWF4U3BhcnNlTWF0cml4U2l6ZSA9IDcwMDAwMDAwO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbWF0U2l6ZSA9IHZhbHVlcy5sZW5ndGggKiAodmFsdWVzLmxlbmd0aCAtIDEpIC8gMjtcbiAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gYXdhaXQgdGhpcy5nZXRTYW1wbGVEaXN0YW5jZXModmFsdWVzLCBmbk5hbWUsIG9wdHMpO1xuICAgICAgICAgICAgY29uc3QgZnJhY3Rpb25JbmRleCA9IE1hdGguZmxvb3IobWF4U3BhcnNlTWF0cml4U2l6ZSAvIG1hdFNpemUgKiBkaXN0YW5jZS5sZW5ndGgpO1xuICAgICAgICAgICAgY29uc3QgdGhyZXNob2xkID0gMSAtIGRpc3RhbmNlW2ZyYWN0aW9uSW5kZXhdO1xuICAgICAgICAgICAgLy8gdGhyZXNob2xkID0gTWF0aC5tYXgodGhyZXNob2xkLCAwLjMpO1xuICAgICAgICAgICAgcmV0dXJuIHRocmVzaG9sZDtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIHJldHVybiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RhdGljIGNhbGNTeW5jKHZhbHVlcywgZm5OYW1lLCBkaXN0YW5jZUZuLCB0aHJlc2hvbGQpIHtcbiAgICAgICAgY29uc3QgaSA9IFtdO1xuICAgICAgICBjb25zdCBqID0gW107XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlcyA9IFtdO1xuICAgICAgICBsZXQgY250ID0gMDtcbiAgICAgICAgbGV0IG1pID0gMDtcbiAgICAgICAgbGV0IG1qID0gMDtcbiAgICAgICAgY29uc3QgZnVsbFNpemUgPSB2YWx1ZXMubGVuZ3RoICogKHZhbHVlcy5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgIHdoaWxlIChjbnQgPCBmdWxsU2l6ZSkge1xuICAgICAgICAgICAgLy9jb25zdCB2YWx1ZSA9IHNlcTFMaXN0W21pXSAmJiBzZXExTGlzdFttal0gPyBoYW1taW5nKHNlcTFMaXN0W21pXSwgc2VxMUxpc3RbbWpdKSA6IDA7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICFpc05pbCh2YWx1ZXNbbWldKSAmJiAhaXNOaWwodmFsdWVzW21qXSkgP1xuICAgICAgICAgICAgICAgIGRpc3RhbmNlRm4odmFsdWVzW21pXSwgdmFsdWVzW21qXSkgOiAxO1xuICAgICAgICAgICAgY29uc3Qgc2ltaWxhcml0eSA9IE9iamVjdC52YWx1ZXMoQml0QXJyYXlNZXRyaWNzTmFtZXMpLnNvbWUoKGEpID0+IGEgPT09IGZuTmFtZSkgPyBnZXRTaW1pbGFyaXR5RnJvbURpc3RhbmNlKHZhbHVlKSA6IDEgLSB2YWx1ZTtcbiAgICAgICAgICAgIGlmIChzaW1pbGFyaXR5ID49IHRocmVzaG9sZCkge1xuICAgICAgICAgICAgICAgIGkucHVzaChtaSk7XG4gICAgICAgICAgICAgICAgai5wdXNoKG1qKTtcbiAgICAgICAgICAgICAgICBkaXN0YW5jZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbnQrKztcbiAgICAgICAgICAgIG1qKys7XG4gICAgICAgICAgICBpZiAobWogPT09IHZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBtaSsrO1xuICAgICAgICAgICAgICAgIG1qID0gbWkgKyAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlBcnJheSA9IG5ldyBJbnQzMkFycmF5KGkpO1xuICAgICAgICBjb25zdCBqQXJyYXkgPSBuZXcgSW50MzJBcnJheShqKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2VBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoZGlzdGFuY2VzKTtcbiAgICAgICAgcmV0dXJuIHsgaTogaUFycmF5LCBqOiBqQXJyYXksIGRpc3RhbmNlOiBkaXN0YW5jZUFycmF5IH07XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYzNCaGNuTmxMVzFoZEhKcGVDMXpaWEoyYVdObExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpYzNCaGNuTmxMVzFoZEhKcGVDMXpaWEoyYVdObExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNSVUZCUXl4NVFrRkJlVUlzUlVGQlF5eE5RVUZOTERaQ1FVRTJRaXhEUVVGRE8wRkJRM1JGTEU5QlFVOHNSVUZCUXl4dlFrRkJiMElzUlVGQlpTeE5RVUZOTEd0Q1FVRnJRaXhEUVVGRE8wRkJRM0JGTEU5QlFVOHNSVUZCTkVJc01FSkJRVEJDTEVWQlFVTXNUVUZCVFN4VFFVRlRMRU5CUVVNN1FVRkRPVVVzVDBGQlR5eEZRVUZETEdGQlFXRXNSVUZCUlN4TFFVRkxMRVZCUVVNc1RVRkJUU3hUUVVGVExFTkJRVU03UVVGaE4wTXNUVUZCVFN4UFFVRlBMRzFDUVVGdFFqdEpRVU53UWl4WlFVRlpMRU5CUVZNN1NVRkROMEk3VVVGRFJTeEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zVTBGQlV5eERRVUZETEcxQ1FVRnRRaXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTnlSU3hEUVVGRE8wbEJSVTBzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCU1N4TlFVRm5RaXhGUVVGRkxFMUJRVzlDTEVWQlFVVXNVMEZCYVVJc1JVRkJSU3hQUVVFeVFpeEZRVUZGTzFGQlF6TkhMSEZDUVVGeFFqdFJRVU55UWl4TlFVRk5MRTlCUVU4c1IwRkJSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEZUVRc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlJURkVMRTFCUVUwc1dVRkJXU3hIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVkQlFVY3NTMEZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGRrY3NTVUZCU1N4VFFVRlRMRWRCUVVjc1dVRkJXU3hGUVVGRk8xbEJRelZDTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc2JVSkJRVzFDTEZsQlFWa3NSVUZCUlN4RFFVRkRMRU5CUVVNN1dVRkRMME1zVTBGQlV5eEhRVUZITEZsQlFWa3NRMEZCUXp0VFFVTXhRanRSUVVORUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNN1VVRkRPVUlzVFVGQlRTeFJRVUZSTEVkQlExb3NTVUZCU1N4TFFVRkxMRU5CUVRoQ0xFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVVTFSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRE8yRkJRM3BETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNTVUZCU1N4TlFVRk5MRU5CUVVNc1NVRkJTU3hIUVVGSExFTkJRVU1zZDBKQlFYZENMRVZCUVVVc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRlRVlzUzBGQlN5eEpRVUZKTEVkQlFVY3NSMEZCUnl4RFFVRkRMRVZCUVVVc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlFVVXNSMEZCUnl4RlFVRkZMRVZCUVVVN1dVRkRhRVFzVVVGQlVTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zWVVGQllTeEZRVUZGTEZsQlFWa3NSVUZCUlN4RlFVRkZPMmRDUVVNeFJDeE5RVUZOTEZGQlFWRXNSMEZCUnl4SFFVRkhMRWRCUVVjc1UwRkJVeXhEUVVGRE8yZENRVU5xUXl4TlFVRk5MRTFCUVUwc1IwRkJSeXhIUVVGSExFdEJRVXNzU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETzJkQ1FVTXZSU3hKUVVGSkxFMUJRVTBzU1VGQlNTeFJRVUZSTzI5Q1FVTndRaXhoUVVGaExFTkJRVU1zUlVGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVsQlFVa3NWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxGRkJRVkVzUlVGQlJTeEpRVUZKTEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hIUVVGSExFVkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTnNSeXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUlVGQlJTeE5RVUZOTEVWQlFVVXNVMEZCVXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hKUVVGSkxFVkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTTVSU3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4SFFVRkhMRU5CUVVNc1JVRkJReXhKUVVGSkxFVkJRVVVzUlVGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hSUVVGUkxFVkJRVU1zUlVGQlF5eEZRVUZSTEVWQlFVVTdiMEpCUTJwRkxFbEJRVWtzUzBGQlN5eEZRVUZGTzNkQ1FVTlVMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0M1FrRkRla0lzV1VGQldTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPM0ZDUVVOeVFqdDVRa0ZCVFR0M1FrRkRUQ3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN2QwSkJRM3BDTEdGQlFXRXNRMEZCUXl4RlFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVVVGQlVTeEZRVUZGTEVkQlFVY3NSVUZCUXl4RFFVRkRMRU5CUVVNN2NVSkJRM1JETzJkQ1FVTklMRU5CUVVNc1EwRkJRenRaUVVOS0xFTkJRVU1zUTBGQlF5eERRVUZETzFOQlEwbzdVVUZGUkN4TlFVRk5MRTlCUVU4c1IwRkJSeXhOUVVGTkxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1VVRkROVU1zVFVGQlRTeFJRVUZSTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOeVJTeE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRlZCUVZVc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dFJRVU51UXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhKUVVGSkxGVkJRVlVzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVTnVReXhOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVNMVF5eEpRVUZKTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRaaXh6UWtGQmMwSTdVVUZEZEVJc1MwRkJTeXhOUVVGTkxFZEJRVWNzU1VGQlNTeFBRVUZQTEVWQlFVVTdXVUZEZWtJc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRM0pDTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXp0WlFVTnlRaXhSUVVGUkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4UlFVRlJMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGJrTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzFOQlEzaENPMUZCUTBRc1QwRkJUeXhGUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNVVUZCVVN4RlFVRkRMRU5CUVVNN1NVRkRNVUlzUTBGQlF6dEpRVVZOTEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUTJwQ0xFMUJRV3RDTEVWQlFVVXNUVUZCYjBJc1JVRkJSU3hqUVVGelFpeEZRVUZGTEVWQlFVVXNUMEZCTWtJc1JVRkJSVHRSUVVWcVJ5eFBRVUZQTEUxQlFVMHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1YwRkJWeXhGUVVGRkxFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMnBHTEVOQlFVTTdTVUZGVFN4TFFVRkxMRU5CUVVNc1kwRkJZeXhEUVVGRExFMUJRWGxDTEVWQlFVVXNUMEZCZFVJc1JVRkJSU3hqUVVGelFpeEZRVUZGTEVWQlEzUkhMRWxCUVRCQ0xFVkJRVVVzVDBGQmFVSXNSVUZETjBNc2IwSkJRU3RETERCQ1FVRXdRaXhEUVVGRExGTkJRVk03VVVGRmJrWXNTVUZCU1N4TlFVRk5MRU5CUVVNc1RVRkJUU3hMUVVGTExFOUJRVThzUTBGQlF5eE5RVUZOTEVsQlFVa3NUVUZCVFN4RFFVRkRMRTFCUVUwc1MwRkJTeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEpRVUZKTEUxQlFVMHNRMEZCUXl4TlFVRk5MRXRCUVVzc1QwRkJUeXhEUVVGRExFMUJRVTA3V1VGRGRrY3NUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXh2UmtGQmIwWXNRMEZCUXl4RFFVRkRPMUZCUlhoSExFbEJRVWtzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNTMEZCU3l4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzFsQlEyNUVMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zSzBOQlFTdERMRU5CUVVNc1EwRkJRenRSUVVWdVJTeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRPVVFzVFVGQlRTeFRRVUZUTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMUZCUXpGRUxFMUJRVTBzVVVGQlVTeEhRVU5hTEVsQlFVa3NTMEZCU3l4RFFVRnhRaXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdVVUZEYmtRc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJRenRoUVVONlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExHTkJRV01zUlVGQlJTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU01UlN4TFFVRkxMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU1zUlVGQlJTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRmxCUVZrc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJUdFpRVU5vUkN4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzU1VGQlNTeFBRVUZQTEVOQlFVTXNRMEZCUXl4aFFVRmhMRVZCUVVVc1dVRkJXU3hGUVVGRkxFVkJRVVU3WjBKQlF6RkVMRTFCUVUwc1VVRkJVU3hIUVVGSExFZEJRVWNzUjBGQlJ5eFRRVUZUTEVOQlFVTTdaMEpCUTJwRExFMUJRVTBzVFVGQlRTeEhRVUZITEVkQlFVY3NTMEZCU3l4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNN1owSkJReTlGTEVsQlFVa3NUVUZCVFN4SlFVRkpMRkZCUVZFN2IwSkJRM0JDTEdGQlFXRXNRMEZCUXl4RlFVRkRMRmxCUVZrc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4VlFVRlZMRVZCUVVVc1NVRkJTU3hMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVONFJTeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1YwRkJWeXhEUVVGRExFVkJRVU1zVFVGQlRTeEZRVUZGTEZGQlFWRXNSVUZCUlN4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFbEJRVWtzUlVGQlJTeFhRVUZYTEVWQlFVVXNUMEZCVHl4RlFVRkZMR2xDUVVGcFFpeEZRVUZETEVOQlFVTXNRMEZCUXp0blFrRkROMGNzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1IwRkJSeXhEUVVGRExFVkJRVU1zU1VGQlNTeEZRVUZGTEVWQlFVTXNTMEZCU3l4RlFVRkZMRmxCUVZrc1JVRkJSU3hWUVVGVkxFVkJRVU1zUlVGQlF5eEZRVUZSTEVWQlFVVTdiMEpCUXpORkxFbEJRVWtzUzBGQlN5eEZRVUZGTzNkQ1FVTlVMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0M1FrRkRla0lzV1VGQldTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPM0ZDUVVOeVFqdDVRa0ZCVFR0M1FrRkRUQ3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN2QwSkJRM3BDTEdGQlFXRXNRMEZCUXl4RlFVRkRMRmxCUVZrc1JVRkJSU3hWUVVGVkxFVkJRVU1zUTBGQlF5eERRVUZETzNGQ1FVTXpRenRuUWtGRFNDeERRVUZETEVOQlFVTTdXVUZEU2l4RFFVRkRMRU5CUVVNc1EwRkJRenRUUVVOS08xRkJSVVFzVFVGQlRTeFBRVUZQTEVkQlFVY3NUVUZCVFN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlF6VkRMRTFCUVUwc1RVRkJUU3hIUVVGak8xbEJRM2hDTEZsQlFWa3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhKUVVGSkxFdEJRVXNzUTBGQlV5eFhRVUZYTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03V1VGRE1VY3NWVUZCVlN4RlFVRkZMRWxCUVVrc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZUTEZkQlFWY3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFOQlFVTXNRMEZCUXp0UlFVTjZSeXhMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEU5QlFVOHNSVUZCUlR0WlFVTjZRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHRuUWtGRGVrTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzVFVGQlRTeEpRVUZKTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNN2IwSkJRM1pFTEdGQlFXRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEUxQlFVMHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdZVUZETjBjN1UwRkRSanRSUVVORUxFOUJRVThzVFVGQlRTeERRVUZETzBsQlEyaENMRU5CUVVNN1NVRkZUU3hMUVVGTExFTkJRVU1zYTBKQlFXdENMRU5CUVVrc1RVRkJaMElzUlVGQlJTeE5RVUZ2UWl4RlFVTjJSU3hQUVVFeVFpeEZRVUZGTzFGQlF6ZENMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNN1lVRkROMFFzUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFbEJRVWtzUjBGQlJ5eERRVUZETEd0RFFVRnJReXhGUVVGRkxFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM1pHTEhkRlFVRjNSVHRSUVVONFJTeDVRa0ZCZVVJN1VVRkRla0lzVFVGQlRTeGpRVUZqTEVkQlFVY3NUVUZCVFN4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRE8xRkJRM1JETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1kwRkJZeXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU5zUkN4TlFVRk5MRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUXpsRExFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMR05CUVdNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxHTkJRV01zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMU5CUTJwR08xRkJSVVFzU1VGQlNUdFpRVU5HTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU40UkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03V1VGRE1VUXNUVUZCVFN4aFFVRmhMRWRCUVVjc1QwRkJVeXhEUVVGRE8xbEJRMmhETEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hGUVVGRkxHRkJRV0VzUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhGUVVGRkxHRkJRV0VzUTBGQlF5eERRVUZETEVOQlFVTTdXVUZEZGtjc1RVRkJUU3h2UWtGQmIwSXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1dVRkRlRVVzVFVGQlRTeFRRVUZUTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVc5RExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0WlFVVnNSaXhMUVVGTExFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTXNSVUZCUlN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUlVGQlJTeEhRVUZITEVWQlFVVXNSVUZCUlR0blFrRkRhRVFzVTBGQlV5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zWVVGQllTeEZRVUZGTEZsQlFWa3NSVUZCUlN4RlFVRkZPMjlDUVVNelJDeE5RVUZOTEZGQlFWRXNSMEZCUnl4SFFVRkhMRWRCUVVjc1UwRkJVeXhEUVVGRE8yOUNRVU5xUXl4TlFVRk5MRTFCUVUwc1IwRkJSeXhIUVVGSExFdEJRVXNzU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETzI5Q1FVTXZSU3huUWtGQlowSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU03ZDBKQlEyaERMRTFCUVUwc1JVRkJSU3hqUVVGakxFVkJRVVVzVVVGQlVTeEZRVUZGTEUxQlFVMHNSVUZCUlN4WlFVRlpMRVZCUVVVc2IwSkJRVzlDTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrN2NVSkJRek5HTEVOQlFVTXNRMEZCUXp0dlFrRkRTQ3huUWtGQlowSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFZEJRVWNzUTBGQlF5eEZRVUZETEVsQlFVa3NSVUZCUlN4RlFVRkRMRXRCUVVzc1JVRkJSU3hSUVVGUkxFVkJRVU1zUlVGQlF5eEZRVUZSTEVWQlFVVTdkMEpCUTNCRkxHZENRVUZuUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzNkQ1FVTnNReXhKUVVGSkxFdEJRVXM3TkVKQlFVVXNXVUZCV1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE96czBRa0ZETjBJc1lVRkJZU3hEUVVGRExFVkJRVU1zVVVGQlVTeEZRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkRPVUlzUTBGQlF5eERRVUZETzJkQ1FVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8yRkJRMG83V1VGRlJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdXVUZETjBNc1RVRkJUU3hSUVVGUkxFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNc1VVRkJVU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTTFSU3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRaUVVNMVF5eEpRVUZKTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRaaXhMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEU5QlFVOHNSVUZCUlR0blFrRkRla0lzVVVGQlVTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1VVRkJVU3hGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzJkQ1FVTnVReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNN1lVRkRMMEk3V1VGRFJDeFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1dVRkZhRUlzVDBGQlR5eFJRVUZSTEVOQlFVTTdVMEZEYWtJN1VVRkJReXhQUVVGUExFTkJRVU1zUlVGQlJUdFpRVU5XTEdkQ1FVRm5RaXhGUVVGRkxFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxGTkJRVk1zUlVGQlJTeERRVUZETEVOQlFVTTdXVUZEYWtRc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnFRaXhQUVVGUExFbEJRVWtzV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFRRVU4wUXp0SlFVTklMRU5CUVVNN1NVRkZUeXhMUVVGTExFTkJRVU1zYlVKQlFXMUNMRU5CUVVrc1RVRkJaMElzUlVGQlJTeE5RVUZ2UWl4RlFVRkZMRTlCUVRKQ0xFVkJRVVU3VVVGRGVFY3NiVVJCUVcxRU8xRkJRMjVFTERaRlFVRTJSVHRSUVVNM1JTeHBSMEZCYVVjN1VVRkRha2NzVFVGQlRTeHRRa0ZCYlVJc1IwRkJSeXhSUVVGVkxFTkJRVU03VVVGRGRrTXNTVUZCU1R0WlFVTkdMRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTjRSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJRM0pGTEUxQlFVMHNZVUZCWVN4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zYlVKQlFXMUNMRWRCUVVjc1QwRkJUeXhIUVVGSExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0WlFVTnNSaXhOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZETEVkQlFVY3NVVUZCVVN4RFFVRkRMR0ZCUVdFc1EwRkJReXhEUVVGRE8xbEJRemxETEhkRFFVRjNRenRaUVVONFF5eFBRVUZQTEZOQlFWTXNRMEZCUXp0VFFVTnNRanRSUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTzFsQlExWXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5xUWl4UFFVRlBMRWRCUVVjc1EwRkJRenRUUVVOYU8wbEJRMGdzUTBGQlF6dEpRVVZOTEUxQlFVMHNRMEZCUXl4UlFVRlJMRU5CUTNCQ0xFMUJRU3RDTEVWQlFVVXNUVUZCYjBJc1JVRkJSU3hWUVVGdlFpeEZRVUZGTEZOQlFXbENPMUZCUlRsR0xFMUJRVTBzUTBGQlF5eEhRVUZoTEVWQlFVVXNRMEZCUXp0UlFVTjJRaXhOUVVGTkxFTkJRVU1zUjBGQllTeEZRVUZGTEVOQlFVTTdVVUZEZGtJc1RVRkJUU3hUUVVGVExFZEJRV0VzUlVGQlJTeERRVUZETzFGQlF5OUNMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5hTEVsQlFVa3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOWUxFbEJRVWtzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTllMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTjZSQ3hQUVVGUExFZEJRVWNzUjBGQlJ5eFJRVUZSTEVWQlFVVTdXVUZEY2tJc2RVWkJRWFZHTzFsQlEzWkdMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlEzUkVMRlZCUVZVc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTjZReXhOUVVGTkxGVkJRVlVzUjBGRFpDeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEV0QlFVc3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExIbENRVUY1UWl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRPMWxCUXk5SExFbEJRVWtzVlVGQlZTeEpRVUZKTEZOQlFWTXNSVUZCUlR0blFrRkRNMElzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJRenRuUWtGRFdDeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRE8yZENRVU5ZTEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03WVVGRGRrSTdXVUZEUkN4SFFVRkhMRVZCUVVVc1EwRkJRenRaUVVOT0xFVkJRVVVzUlVGQlJTeERRVUZETzFsQlEwd3NTVUZCU1N4RlFVRkZMRXRCUVVzc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJUdG5Ra0ZEZUVJc1JVRkJSU3hGUVVGRkxFTkJRVU03WjBKQlEwd3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03WVVGRFlqdFRRVU5HTzFGQlJVUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYWtNc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRha01zVFVGQlRTeGhRVUZoTEVkQlFVY3NTVUZCU1N4WlFVRlpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03VVVGRmJFUXNUMEZCVHl4RlFVRkRMRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UlFVRlJMRVZCUVVVc1lVRkJZU3hGUVVGRExFTkJRVU03U1VGRGVrUXNRMEZCUXp0RFFVTktJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHRuWlhSVGFXMXBiR0Z5YVhSNVJuSnZiVVJwYzNSaGJtTmxmU0JtY205dElDY3VMaTlrYVhOMFlXNWpaUzF0WlhSeWFXTnpMVzFsZEdodlpITW5PMXh1YVcxd2IzSjBJSHRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3l3Z1MyNXZkMjVOWlhSeWFXTnpmU0JtY205dElDY3VMaTkwZVhCbFpDMXRaWFJ5YVdOekp6dGNibWx0Y0c5eWRDQjdSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpDd2dSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpITjlJR1p5YjIwZ0p5NHZkSGx3WlhNbk8xeHVhVzF3YjNKMElIdHBibk5sY25SVGJXRnNiR1Z5TENCcGMwNXBiSDBnWm5KdmJTQW5MaTkxZEdsc2N5YzdYRzVjYm1WNGNHOXlkQ0IwZVhCbElGTndZWEp6WlUxaGRISnBlRkpsYzNWc2RDQTlJSHRjYmlBZ2FUb2dTVzUwTXpKQmNuSmhlU3hjYmlBZ2Fqb2dTVzUwTXpKQmNuSmhlU3hjYmlBZ1pHbHpkR0Z1WTJVNklFWnNiMkYwTXpKQmNuSmhlU3hjYmlBZ2FXUjRQem9nYm5WdFltVnlYRzU5TzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JMYm01U1pYTjFiSFFnUFNCN1hHNGdJR3R1YmtScGMzUmhibU5sY3pvZ2JuVnRZbVZ5VzExYlhTeGNiaUFnYTI1dVNXNWtaWGhsY3pvZ2JuVnRZbVZ5VzExYlhWeHVmVnh1Wlhod2IzSjBJR05zWVhOeklGTndZWEp6WlUxaGRISnBlRk5sY25acFkyVWdlMXh1SUNBZ0lIQnlhWFpoZEdVZ1gzZHZjbXRsY2tOdmRXNTBPaUJ1ZFcxaVpYSTdYRzRnSUNBZ1kyOXVjM1J5ZFdOMGIzSW9LU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ0E5SUUxaGRHZ3ViV0Y0S0c1aGRtbG5ZWFJ2Y2k1b1lYSmtkMkZ5WlVOdmJtTjFjbkpsYm1ONUlDMGdNaXdnTVNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJR0Z6ZVc1aklHTmhiR004VkQ0b2RtRnNkV1Z6T2lCQmNuSmhlVHhVUGl3Z1ptNU9ZVzFsT2lCTGJtOTNiazFsZEhKcFkzTXNJSFJvY21WemFHOXNaRG9nYm5WdFltVnlMQ0J2Y0hSek9pQjdXMTg2SUhOMGNtbHVaMTA2SUdGdWVYMGdQU0I3ZlNrZ2UxeHVJQ0FnSUNBZ0x5OXphWHBsSUc5bUlHWjFiR3dnYldGMGNtbDRYRzRnSUNBZ0lDQmpiMjV6ZENCdFlYUlRhWHBsSUQwZ2RtRnNkV1Z6TG14bGJtZDBhQ0FxSUNoMllXeDFaWE11YkdWdVozUm9JQzBnTVNrZ0x5QXlPMXh1SUNBZ0lDQWdZMjl1YzNRZ1kyaDFibXRUYVhwbElEMGdUV0YwYUM1bWJHOXZjaWh0WVhSVGFYcGxJQzhnZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0J0YVc1VWFISmxjMmh2YkdRZ1BTQjJZV3gxWlhNdWJHVnVaM1JvSUQ0Z01qQmZNREF3SUQ4Z1lYZGhhWFFnZEdocGN5NW5aWFJOYVc1cGJXRnNWR2h5WlhOb2IyeGtLSFpoYkhWbGN5d2dabTVPWVcxbExDQnZjSFJ6S1NBNklEQTdYRzRnSUNBZ0lDQnBaaUFvZEdoeVpYTm9iMnhrSUR3Z2JXbHVWR2h5WlhOb2IyeGtLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTnZiR1V1Ykc5bktHQjFjMmx1WnlCMGFISmxjMmh2YkdRZ0pIdHRhVzVVYUhKbGMyaHZiR1I5WUNrN1hHNGdJQ0FnSUNBZ0lIUm9jbVZ6YUc5c1pDQTlJRzFwYmxSb2NtVnphRzlzWkR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUc5d2RITmJKM1JvY21WemFHOXNaQ2RkSUQwZ2RHaHlaWE5vYjJ4a08xeHVJQ0FnSUNBZ1kyOXVjM1FnY0hKdmJXbHpaWE1nUFZ4dUlDQWdJQ0FnSUNCdVpYY2dRWEp5WVhrOFVISnZiV2x6WlR4VGNHRnljMlZOWVhSeWFYaFNaWE4xYkhRK1BpaDBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDazdYRzVjYmlBZ0lDQWdJR052Ym5OMElIZHZjbXRsY25NZ1BTQnVaWGNnUVhKeVlYa29kR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUXBYRzRnSUNBZ0lDQWdJQzVtYVd4c0tHNTFiR3dwTG0xaGNDZ29LU0E5UGlCdVpYY2dWMjl5YTJWeUtHNWxkeUJWVWt3b0p5NHZjM0JoY25ObExXMWhkSEpwZUMxM2IzSnJaWEluTENCcGJYQnZjblF1YldWMFlTNTFjbXdwS1NrN1hHNGdJQ0FnSUNCbWIzSWdLR3hsZENCcFpIZ2dQU0F3T3lCcFpIZ2dQQ0IwYUdsekxsOTNiM0pyWlhKRGIzVnVkRHNnYVdSNEt5c3BJSHRjYmlBZ0lDQWdJQ0FnY0hKdmJXbHpaWE5iYVdSNFhTQTlJRzVsZHlCUWNtOXRhWE5sS0NoeVpYTnZiSFpsVjI5eWEyVnlMQ0J5WldwbFkzUlhiM0pyWlhJcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J6ZEdGeWRFbGtlQ0E5SUdsa2VDQXFJR05vZFc1clUybDZaVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JsYm1SSlpIZ2dQU0JwWkhnZ1BUMDlJSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBJQzBnTVNBL0lHMWhkRk5wZW1VZ09pQW9hV1I0SUNzZ01Ta2dLaUJqYUhWdWExTnBlbVU3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR1Z1WkVsa2VDQThQU0J6ZEdGeWRFbGtlQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjMjlzZG1WWGIzSnJaWElvZTJrNklHNWxkeUJKYm5Rek1rRnljbUY1S0RBcExDQnFPaUJ1WlhjZ1NXNTBNekpCY25KaGVTZ3dLU3dnWkdsemRHRnVZMlU2SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvTUNrc0lHbGtlSDBwTzF4dUlDQWdJQ0FnSUNBZ0lIZHZjbXRsY25OYmFXUjRYUzV3YjNOMFRXVnpjMkZuWlNoN2RtRnNkV1Z6TENCemRHRnlkRWxrZUN3Z1pXNWtTV1I0TENCMGFISmxjMmh2YkdRc0lHWnVUbUZ0WlN3Z2IzQjBjMzBwTzF4dUlDQWdJQ0FnSUNBZ0lIZHZjbXRsY25OYmFXUjRYUzV2Ym0xbGMzTmhaMlVnUFNBb2UyUmhkR0U2SUh0bGNuSnZjaXdnYVN3Z2Fpd2daR2x6ZEdGdVkyVjlmU2s2SUhadmFXUWdQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1MFpYSnRhVzVoZEdVb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnFaV04wVjI5eWEyVnlLR1Z5Y205eUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1MFpYSnRhVzVoZEdVb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnpiMngyWlZkdmNtdGxjaWg3YVN3Z2Fpd2daR2x6ZEdGdVkyVXNJR2xrZUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCamIyNXpkQ0J5WlhOMWJIUnpJRDBnWVhkaGFYUWdVSEp2YldselpTNWhiR3dvY0hKdmJXbHpaWE1wTzF4dUlDQWdJQ0FnWTI5dWMzUWdablZzYkZOcGVtVWdQU0J5WlhOMWJIUnpMbkpsWkhWalpTZ29ZV05qTENCMllXd3BJRDArSUdGall5QXJJSFpoYkM1cExteGxibWQwYUN3Z01DazdYRzRnSUNBZ0lDQmpiMjV6ZENCcElEMGdibVYzSUVsdWRETXlRWEp5WVhrb1puVnNiRk5wZW1VcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYWlBOUlHNWxkeUJKYm5Rek1rRnljbUY1S0daMWJHeFRhWHBsS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJR1JwYzNSaGJtTmxJRDBnYm1WM0lFWnNiMkYwTXpKQmNuSmhlU2htZFd4c1UybDZaU2s3WEc0Z0lDQWdJQ0JzWlhRZ2IyWm1jMlYwSUQwZ01EdGNiaUFnSUNBZ0lDOHZJSE5sZEhScGJtY2dkR2hsSUhKbGMzVnNkSE5jYmlBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnY21WeklHOW1JSEpsYzNWc2RITXBJSHRjYmlBZ0lDQWdJQ0FnYVM1elpYUW9jbVZ6TG1rc0lHOW1abk5sZENrN1hHNGdJQ0FnSUNBZ0lHb3VjMlYwS0hKbGN5NXFMQ0J2Wm1aelpYUXBPMXh1SUNBZ0lDQWdJQ0JrYVhOMFlXNWpaUzV6WlhRb2NtVnpMbVJwYzNSaGJtTmxMQ0J2Wm1aelpYUXBPMXh1SUNBZ0lDQWdJQ0J2Wm1aelpYUWdLejBnY21Wekxta3ViR1Z1WjNSb08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUh0cExDQnFMQ0JrYVhOMFlXNWpaWDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHRnplVzVqSUdkbGRFdE9UaWhjYmlBZ0lDQWdJSFpoYkhWbGN6b2dRWEp5WVhrOFlXNTVQaXdnWm01T1lXMWxPaUJMYm05M2JrMWxkSEpwWTNNc0lHNU9aV2xuYUdKdmRYSnpPaUJ1ZFcxaVpYSWdQU0F4TlN3Z2IzQjBjem9nZTF0Zk9pQnpkSEpwYm1kZE9pQmhibmw5SUQwZ2UzMWNiaUFnSUNBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaGQyRnBkQ0IwYUdsekxtMTFiSFJwUTI5c2RXMXVTMDVPS0Z0MllXeDFaWE5kTENCYlptNU9ZVzFsWFN3Z2JrNWxhV2RvWW05MWNuTXNJRnR2Y0hSelhTd2dXekZkS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdZWE41Ym1NZ2JYVnNkR2xEYjJ4MWJXNUxUazRvZG1Gc2RXVnpPaUJCY25KaGVUeEJjbkpoZVR4aGJuaytQaXdnWm01T1lXMWxjem9nUzI1dmQyNU5aWFJ5YVdOelcxMHNJRzVPWldsbmFHSnZkWEp6T2lCdWRXMWlaWElnUFNBeE5TeGNiaUFnSUNBZ0lHOXdkSE02SUh0Ylh6b2djM1J5YVc1blhUb2dZVzU1ZlZ0ZExDQjNaV2xuYUhSek9pQnVkVzFpWlhKYlhTeGNiaUFnSUNBZ0lHRm5aM0psWjJGMGFXOXVUV1YwYUc5a09pQkVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a0lEMGdSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpITXVSVlZEVEVsRVJVRk9YRzRnSUNBZ0tTQjdYRzRnSUNBZ0lDQnBaaUFvZG1Gc2RXVnpMbXhsYm1kMGFDQWhQVDBnWm01T1lXMWxjeTVzWlc1bmRHZ2dmSHdnZG1Gc2RXVnpMbXhsYm1kMGFDQWhQVDBnYjNCMGN5NXNaVzVuZEdnZ2ZId2dkbUZzZFdWekxteGxibWQwYUNBaFBUMGdkMlZwWjJoMGN5NXNaVzVuZEdncFhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnbmRtRnNkV1Z6TENCa2FYTjBZVzVqWlNCbWRXNWpkR2x2Ym5Nc0lHOXdkR2x2Ym5NZ1lXNWtJSGRsYVdkb2RITWdZWEp5WVhseklITm9iM1ZzWkNCb1lYWmxJSFJvWlNCellXMWxJR3hsYm1kMGFDY3BPMXh1WEc0Z0lDQWdJQ0JwWmlBb2RtRnNkV1Z6TG5OdmJXVW9LSFlwSUQwK0lIWXViR1Z1WjNSb0lDRTlQU0IyWVd4MVpYTmJNRjB1YkdWdVozUm9LU2xjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RoYkd3Z2RtRnNkV1Z6SUdGeWNtRjVjeUJ6YUc5MWJHUWdhR0YyWlNCMGFHVWdjMkZ0WlNCc1pXNW5kR2duS1R0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnYldGMFUybDZaU0E5SUhaaGJIVmxjMXN3WFM1c1pXNW5kR2dnS2lBb2RtRnNkV1Z6V3pCZExteGxibWQwYUNBdElERXBJQzhnTWp0Y2JpQWdJQ0FnSUdOdmJuTjBJR05vZFc1clUybDZaU0E5SUUxaGRHZ3VabXh2YjNJb2JXRjBVMmw2WlNBdklIUm9hWE11WDNkdmNtdGxja052ZFc1MEtUdGNiaUFnSUNBZ0lHTnZibk4wSUhCeWIyMXBjMlZ6SUQxY2JpQWdJQ0FnSUNBZ2JtVjNJRUZ5Y21GNVBGQnliMjFwYzJVOFMyNXVVbVZ6ZFd4MFBqNG9kR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUXBPMXh1SUNBZ0lDQWdZMjl1YzNRZ2QyOXlhMlZ5Y3lBOUlHNWxkeUJCY25KaGVTaDBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDbGNiaUFnSUNBZ0lDQWdMbVpwYkd3b2JuVnNiQ2t1YldGd0tDZ3BJRDArSUc1bGR5QlhiM0pyWlhJb2JtVjNJRlZTVENnbkxpOXJibTR0ZDI5eWEyVnlKeXdnYVcxd2IzSjBMbTFsZEdFdWRYSnNLU2twTzF4dUlDQWdJQ0FnWm05eUlDaHNaWFFnYVdSNElEMGdNRHNnYVdSNElEd2dkR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUTdJR2xrZUNzcktTQjdYRzRnSUNBZ0lDQWdJSEJ5YjIxcGMyVnpXMmxrZUYwZ1BTQnVaWGNnVUhKdmJXbHpaU2dvY21WemIyeDJaVmR2Y210bGNpd2djbVZxWldOMFYyOXlhMlZ5S1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjM1JoY25SSlpIZ2dQU0JwWkhnZ0tpQmphSFZ1YTFOcGVtVTdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdaVzVrU1dSNElEMGdhV1I0SUQwOVBTQjBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDQXRJREVnUHlCdFlYUlRhWHBsSURvZ0tHbGtlQ0FySURFcElDb2dZMmgxYm10VGFYcGxPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGxibVJKWkhnZ1BEMGdjM1JoY25SSlpIZ3BYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYTnZiSFpsVjI5eWEyVnlLSHRyYm01RWFYTjBZVzVqWlhNNklHNWxkeUJCY25KaGVTZ3dLU3dnYTI1dVNXNWtaWGhsY3pvZ2JtVjNJRUZ5Y21GNUtEQXBmU2s3WEc0Z0lDQWdJQ0FnSUNBZ2QyOXlhMlZ5YzF0cFpIaGRMbkJ2YzNSTlpYTnpZV2RsS0h0MllXeDFaWE1zSUhOMFlYSjBTV1I0TENCbGJtUkpaSGdzSUdadVRtRnRaWE1zSUc5d2RITXNJRzVPWldsbmFHSnZkWEp6TENCM1pXbG5hSFJ6TENCaFoyZHlaV2RoZEdsdmJrMWxkR2h2WkgwcE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1dmJtMWxjM05oWjJVZ1BTQW9lMlJoZEdFNklIdGxjbkp2Y2l3Z2EyNXVSR2x6ZEdGdVkyVnpMQ0JyYm01SmJtUmxlR1Z6ZlgwcE9pQjJiMmxrSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCM2IzSnJaWEp6VzJsa2VGMHVkR1Z5YldsdVlYUmxLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYW1WamRGZHZjbXRsY2lobGNuSnZjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCM2IzSnJaWEp6VzJsa2VGMHVkR1Z5YldsdVlYUmxLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVlhiM0pyWlhJb2UydHVia1JwYzNSaGJtTmxjeXdnYTI1dVNXNWtaWGhsYzMwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCamIyNXpkQ0J5WlhOMWJIUnpJRDBnWVhkaGFYUWdVSEp2YldselpTNWhiR3dvY0hKdmJXbHpaWE1wTzF4dUlDQWdJQ0FnWTI5dWMzUWdhMjV1VW1Wek9pQkxibTVTWlhOMWJIUWdQU0I3WEc0Z0lDQWdJQ0FnSUd0dWJrUnBjM1JoYm1ObGN6b2dibVYzSUVGeWNtRjVLSFpoYkhWbGMxc3dYUzVzWlc1bmRHZ3BMbVpwYkd3b2JuVnNiQ2t1YldGd0tDZ3BJRDArSUc1bGR5QkJjbkpoZVR4dWRXMWlaWEkrS0c1T1pXbG5hR0p2ZFhKektTNW1hV3hzS0RrNU9UazVLU2tzWEc0Z0lDQWdJQ0FnSUd0dWJrbHVaR1Y0WlhNNklHNWxkeUJCY25KaGVTaDJZV3gxWlhOYk1GMHViR1Z1WjNSb0tTNW1hV3hzS0c1MWJHd3BMbTFoY0Nnb0tTQTlQaUJ1WlhjZ1FYSnlZWGs4Ym5WdFltVnlQaWh1VG1WcFoyaGliM1Z5Y3lrdVptbHNiQ2d0TVNrcGZUdGNiaUFnSUNBZ0lHWnZjaUFvWTI5dWMzUWdjbVZ6SUc5bUlISmxjM1ZzZEhNcElIdGNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IyWVd4MVpYTmJNRjB1YkdWdVozUm9PeUFySzJrcElIdGNiaUFnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JxSUQwZ01Ec2dhaUE4SUhKbGN5NXJibTVFYVhOMFlXNWpaWE5iYVYwL0xteGxibWQwYUNBL1B5QXdPeUFySzJvcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JwYm5ObGNuUlRiV0ZzYkdWeUtHdHVibEpsY3k1cmJtNUVhWE4wWVc1alpYTmJhVjBzSUd0dWJsSmxjeTVyYm01SmJtUmxlR1Z6VzJsZExDQnlaWE11YTI1dVJHbHpkR0Z1WTJWelcybGRXMnBkTENCeVpYTXVhMjV1U1c1a1pYaGxjMXRwWFZ0cVhTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQnJibTVTWlhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJR0Z6ZVc1aklHZGxkRk5oYlhCc1pVUnBjM1JoYm1ObGN6eFVQaWgyWVd4MVpYTTZJRUZ5Y21GNVBGUStMQ0JtYms1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3l4Y2JpQWdJQ0FnSUc5d2RITTZJSHRiWHpvZ2MzUnlhVzVuWFRvZ1lXNTVmU0E5SUh0OUtUb2dVSEp2YldselpUeEdiRzloZERNeVFYSnlZWGsrSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSFJvY21WemFHOXNaRmR2Y210bGNuTWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTG1acGJHd29iblZzYkNsY2JpQWdJQ0FnSUNBZ0xtMWhjQ2dvS1NBOVBpQnVaWGNnVjI5eWEyVnlLRzVsZHlCVlVrd29KeTR2YzNCaGNuTmxMVzFoZEhKcGVDMTBhSEpsYzJodmJHUXRkMjl5YTJWeUp5d2dhVzF3YjNKMExtMWxkR0V1ZFhKc0tTa3BPMXh1SUNBZ0lDQWdMeThnWkdGMFlTQnRZWGtnWW1VZ2MyOXlkR1ZrSUdKNUlHTnNkWE4wWlhKekxDQjNhR2xqYUNCM2FXeHNJR2hwYm1SbGNpQjBhR1VnY21GdVpHOXRJSE5oYlhCc2FXNW5YRzRnSUNBZ0lDQXZMeUJ6YnlCM1pTQnphSFZtWm14bElHbDBJR1pwY25OMFhHNGdJQ0FnSUNCamIyNXpkQ0J6YUhWbVpteGxaRlpoYkhWbGN5QTlJSFpoYkhWbGN5NXpiR2xqWlNncE8xeHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJSE5vZFdabWJHVmtWbUZzZFdWekxteGxibWQwYUNBdElERTdJR2tnUGlBd095QnBMUzBwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYWlBOUlFMWhkR2d1Wm14dmIzSW9UV0YwYUM1eVlXNWtiMjBvS1NBcUlDaHBJQ3NnTVNrcE8xeHVJQ0FnSUNBZ0lDQmJjMmgxWm1ac1pXUldZV3gxWlhOYmFWMHNJSE5vZFdabWJHVmtWbUZzZFdWelcycGRYU0E5SUZ0emFIVm1abXhsWkZaaGJIVmxjMXRxWFN3Z2MyaDFabVpzWldSV1lXeDFaWE5iYVYxZE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J0WVhSVGFYcGxJRDBnZG1Gc2RXVnpMbXhsYm1kMGFDQXFJQ2gyWVd4MVpYTXViR1Z1WjNSb0lDMGdNU2tnTHlBeU8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCamFIVnVhMU5wZW1VZ1BTQk5ZWFJvTG1ac2IyOXlLRzFoZEZOcGVtVWdMeUIwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ2s3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFoZUZOaGJYQnNaVk5wZW1VZ1BTQXhYekF3TUY4d01EQTdYRzRnSUNBZ0lDQWdJR052Ym5OMElITmhiWEJzWlZOcGMyVWdQU0JOWVhSb0xtMWhlQ2hOWVhSb0xtMXBiaWh0WVhSVGFYcGxJQzhnTVRBd01Dd2diV0Y0VTJGdGNHeGxVMmw2WlNrc0lFMWhkR2d1YldsdUtHMWhkRk5wZW1Vc0lHMWhlRk5oYlhCc1pWTnBlbVVwS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZEdWemRGTmxkRk5wZW1WUVpYSlhiM0pyWlhJZ1BTQk5ZWFJvTG1ac2IyOXlLSE5oYlhCc1pWTnBjMlVnTHlCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhSUWNtOXRhWE5sY3lBOUlHNWxkeUJCY25KaGVUeFFjbTl0YVhObFBIdGthWE4wWVc1alpUb2dSbXh2WVhRek1rRnljbUY1ZlQ0K0tIUm9hWE11WDNkdmNtdGxja052ZFc1MEtUdGNibHh1SUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwWkhnZ1BTQXdPeUJwWkhnZ1BDQjBhR2x6TGw5M2IzSnJaWEpEYjNWdWREc2dhV1I0S3lzcElIdGNiaUFnSUNBZ0lDQWdJQ0IwVUhKdmJXbHpaWE5iYVdSNFhTQTlJRzVsZHlCUWNtOXRhWE5sS0NoeVpYTnZiSFpsVjI5eWEyVnlMQ0J5WldwbFkzUlhiM0pyWlhJcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhOMFlYSjBTV1I0SUQwZ2FXUjRJQ29nWTJoMWJtdFRhWHBsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1pXNWtTV1I0SUQwZ2FXUjRJRDA5UFNCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENBdElERWdQeUJ0WVhSVGFYcGxJRG9nS0dsa2VDQXJJREVwSUNvZ1kyaDFibXRUYVhwbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeVpYTm9iMnhrVjI5eWEyVnljMXRwWkhoZExuQnZjM1JOWlhOellXZGxLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdWek9pQnphSFZtWm14bFpGWmhiSFZsY3l3Z2MzUmhjblJKWkhnc0lHVnVaRWxrZUN3Z2MyRnRjR3hsVEdWdVozUm9PaUIwWlhOMFUyVjBVMmw2WlZCbGNsZHZjbXRsY2l3Z1ptNU9ZVzFsTENCdmNIUnpYRzRnSUNBZ0lDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2NtVnphRzlzWkZkdmNtdGxjbk5iYVdSNFhTNXZibTFsYzNOaFoyVWdQU0FvZTJSaGRHRTZJSHRsY25KdmNpd2daR2x6ZEdGdVkyVjlmU2s2SUhadmFXUWdQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUhKbGMyaHZiR1JYYjNKclpYSnpXMmxrZUYwdWRHVnliV2x1WVhSbEtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsY25KdmNpa2djbVZxWldOMFYyOXlhMlZ5S0dWeWNtOXlLVHNnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjMjlzZG1WWGIzSnJaWElvZTJScGMzUmhibU5sZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnY21WemRXeDBjeUE5SUdGM1lXbDBJRkJ5YjIxcGMyVXVZV3hzS0hSUWNtOXRhWE5sY3lrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdaMWJHeFRhWHBsSUQwZ2NtVnpkV3gwY3k1eVpXUjFZMlVvS0dGall5d2dkbUZzS1NBOVBpQmhZMk1nS3lCMllXd3VaR2x6ZEdGdVkyVXViR1Z1WjNSb0xDQXdLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaR2x6ZEdGdVkyVWdQU0J1WlhjZ1JteHZZWFF6TWtGeWNtRjVLR1oxYkd4VGFYcGxLVHRjYmlBZ0lDQWdJQ0FnYkdWMElHOW1abk5sZENBOUlEQTdYRzRnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnY21WeklHOW1JSEpsYzNWc2RITXBJSHRjYmlBZ0lDQWdJQ0FnSUNCa2FYTjBZVzVqWlM1elpYUW9jbVZ6TG1ScGMzUmhibU5sTENCdlptWnpaWFFwTzF4dUlDQWdJQ0FnSUNBZ0lHOW1abk5sZENBclBTQnlaWE11WkdsemRHRnVZMlV1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdScGMzUmhibU5sTG5OdmNuUW9LVHRjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdsemRHRnVZMlU3WEc0Z0lDQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNBZ0lIUm9jbVZ6YUc5c1pGZHZjbXRsY25NL0xtWnZja1ZoWTJnb0tIY3BJRDArSUhjL0xuUmxjbTFwYm1GMFpTZ3BLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMyOXNaUzVsY25KdmNpaGxLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCR2JHOWhkRE15UVhKeVlYa29NU2t1Wm1sc2JDZ3dMalVwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEJ5YVhaaGRHVWdZWE41Ym1NZ1oyVjBUV2x1YVcxaGJGUm9jbVZ6YUc5c1pEeFVQaWgyWVd4MVpYTTZJRUZ5Y21GNVBGUStMQ0JtYms1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3l3Z2IzQjBjem9nZTF0Zk9pQnpkSEpwYm1kZE9pQmhibmw5SUQwZ2UzMHBJSHRjYmlBZ0lDQWdJQzh2VjJVZ2JtVmxaQ0IwYnlCallXeGpkV3hoZEdVZ2RHaGxJRzFwYm1sdFlXd2dkR2h5WlhOb2IyeGtJR1pwY25OMExGeHVJQ0FnSUNBZ0x5OXBiaUJ2Y21SbGNpQjBieUJuWlhRZ2JXRjBjbWw0SUhOMVkyZ2dkR2hoZENCcGRDQmtiMlZ6SUc1dmRDQmxlR05sWldRZ2RHaGxJRzFoZUdsdGRXMGdjMmw2WlNCdlppQXhSMEpjYmlBZ0lDQWdJQzh2ZDJVZ2FHRjJaU0F6SUhKbGRIVnliaUJoY25KaGVYTXNJR1ZoWTJnZ05DQmlhWFJsY3lCd1pYSWdaV3hsYldWdWRDd2djMjhnYVdZZ2RHaGxJRzFoZUdsdGRXMGdjMmw2WlNCdlppQjBhR1VnYldGMGNtbDRJR2x6SURGSFFpeGNiaUFnSUNBZ0lHTnZibk4wSUcxaGVGTndZWEp6WlUxaGRISnBlRk5wZW1VZ1BTQTNNRjh3TURCZk1EQXdPMXh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYldGMFUybDZaU0E5SUhaaGJIVmxjeTVzWlc1bmRHZ2dLaUFvZG1Gc2RXVnpMbXhsYm1kMGFDQXRJREVwSUM4Z01qdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pHbHpkR0Z1WTJVZ1BTQmhkMkZwZENCMGFHbHpMbWRsZEZOaGJYQnNaVVJwYzNSaGJtTmxjeWgyWVd4MVpYTXNJR1p1VG1GdFpTd2diM0IwY3lrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdaeVlXTjBhVzl1U1c1a1pYZ2dQU0JOWVhSb0xtWnNiMjl5S0cxaGVGTndZWEp6WlUxaGRISnBlRk5wZW1VZ0x5QnRZWFJUYVhwbElDb2daR2x6ZEdGdVkyVXViR1Z1WjNSb0tUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2RHaHlaWE5vYjJ4a0lEMGdNU0F0SUdScGMzUmhibU5sVzJaeVlXTjBhVzl1U1c1a1pYaGRPMXh1SUNBZ0lDQWdJQ0F2THlCMGFISmxjMmh2YkdRZ1BTQk5ZWFJvTG0xaGVDaDBhSEpsYzJodmJHUXNJREF1TXlrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFISmxjMmh2YkdRN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OdmJHVXVaWEp5YjNJb1pTazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQXdMalU3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjSFZpYkdsaklITjBZWFJwWXlCallXeGpVM2x1WXp4VVBpaGNiaUFnSUNBZ0lIWmhiSFZsY3pvZ1FYSnlZWGs4VkQ0Z2ZDQkJjbkpoZVV4cGEyVThWRDRzSUdadVRtRnRaVG9nUzI1dmQyNU5aWFJ5YVdOekxDQmthWE4wWVc1alpVWnVPaUJHZFc1amRHbHZiaXdnZEdoeVpYTm9iMnhrT2lCdWRXMWlaWEpjYmlBZ0lDQXBJSHRjYmlBZ0lDQWdJR052Ym5OMElHazZJRzUxYldKbGNsdGRJRDBnVzEwN1hHNGdJQ0FnSUNCamIyNXpkQ0JxT2lCdWRXMWlaWEpiWFNBOUlGdGRPMXh1SUNBZ0lDQWdZMjl1YzNRZ1pHbHpkR0Z1WTJWek9pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQWdJQ0FnYkdWMElHTnVkQ0E5SURBN1hHNGdJQ0FnSUNCc1pYUWdiV2tnUFNBd08xeHVJQ0FnSUNBZ2JHVjBJRzFxSUQwZ01EdGNiaUFnSUNBZ0lHTnZibk4wSUdaMWJHeFRhWHBsSUQwZ2RtRnNkV1Z6TG14bGJtZDBhQ0FxSUNoMllXeDFaWE11YkdWdVozUm9JQzBnTVNrZ0x5QXlPMXh1SUNBZ0lDQWdkMmhwYkdVZ0tHTnVkQ0E4SUdaMWJHeFRhWHBsS1NCN1hHNGdJQ0FnSUNBZ0lDOHZZMjl1YzNRZ2RtRnNkV1VnUFNCelpYRXhUR2x6ZEZ0dGFWMGdKaVlnYzJWeE1VeHBjM1JiYldwZElEOGdhR0Z0YldsdVp5aHpaWEV4VEdsemRGdHRhVjBzSUhObGNURk1hWE4wVzIxcVhTa2dPaUF3TzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0IyWVd4MVpTQTlJQ0ZwYzA1cGJDaDJZV3gxWlhOYmJXbGRLU0FtSmlBaGFYTk9hV3dvZG1Gc2RXVnpXMjFxWFNrZ1AxeHVJQ0FnSUNBZ0lDQWdJR1JwYzNSaGJtTmxSbTRvZG1Gc2RXVnpXMjFwWFN3Z2RtRnNkV1Z6VzIxcVhTa2dPaUF4TzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J6YVcxcGJHRnlhWFI1SUQxY2JpQWdJQ0FnSUNBZ0lDQlBZbXBsWTNRdWRtRnNkV1Z6S0VKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWektTNXpiMjFsS0NoaEtTQTlQaUJoSUQwOVBTQm1iazVoYldVcElEOGdaMlYwVTJsdGFXeGhjbWwwZVVaeWIyMUVhWE4wWVc1alpTaDJZV3gxWlNrZ09pQXhJQzBnZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJR2xtSUNoemFXMXBiR0Z5YVhSNUlENDlJSFJvY21WemFHOXNaQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHa3VjSFZ6YUNodGFTazdYRzRnSUNBZ0lDQWdJQ0FnYWk1d2RYTm9LRzFxS1R0Y2JpQWdJQ0FnSUNBZ0lDQmthWE4wWVc1alpYTXVjSFZ6YUNoMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1kyNTBLeXM3WEc0Z0lDQWdJQ0FnSUcxcUt5czdYRzRnSUNBZ0lDQWdJR2xtSUNodGFpQTlQVDBnZG1Gc2RXVnpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0FnSUcxcEt5czdYRzRnSUNBZ0lDQWdJQ0FnYldvZ1BTQnRhU0FySURFN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdZMjl1YzNRZ2FVRnljbUY1SUQwZ2JtVjNJRWx1ZERNeVFYSnlZWGtvYVNrN1hHNGdJQ0FnSUNCamIyNXpkQ0JxUVhKeVlYa2dQU0J1WlhjZ1NXNTBNekpCY25KaGVTaHFLVHRjYmlBZ0lDQWdJR052Ym5OMElHUnBjM1JoYm1ObFFYSnlZWGtnUFNCdVpYY2dSbXh2WVhRek1rRnljbUY1S0dScGMzUmhibU5sY3lrN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN2FUb2dhVUZ5Y21GNUxDQnFPaUJxUVhKeVlYa3NJR1JwYzNSaGJtTmxPaUJrYVhOMFlXNWpaVUZ5Y21GNWZUdGNiaUFnSUNCOVhHNTlYRzRpWFgwPSIsImltcG9ydCB7IFZlY3RvciB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3R5cGUtZGVjbGFyYXRpb25zJztcbmltcG9ydCB7IFRTTkUgfSBmcm9tICdAa2Vja2VsdC90c25lJztcbmltcG9ydCB7IEF2YWlsYWJsZU1ldHJpY3MsIE1lYXN1cmUsIGlzQml0QXJyYXlNZXRyaWMgfSBmcm9tICcuLi90eXBlZC1tZXRyaWNzJztcbmltcG9ydCB7IERpc3RhbmNlTWF0cml4U2VydmljZSwgZGlzdGFuY2VNYXRyaXhQcm94eSB9IGZyb20gJy4uL2Rpc3RhbmNlLW1hdHJpeCc7XG5pbXBvcnQgeyBnZXRBZ2dyZWdhdGlvbkZ1bmN0aW9uIH0gZnJvbSAnLi4vZGlzdGFuY2UtbWF0cml4L3V0aWxzJztcbmltcG9ydCB7IFVNQVAgfSBmcm9tICcuLi91bWFwJztcbmltcG9ydCB7IGFzc2VydCwgdHJhbnNwb3NlTWF0cml4IH0gZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvdmVjdG9yLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgU3BhcnNlTWF0cml4U2VydmljZSB9IGZyb20gJy4uL2Rpc3RhbmNlLW1hdHJpeC9zcGFyc2UtbWF0cml4LXNlcnZpY2UnO1xuaW1wb3J0IEJpdEFycmF5IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL2JpdC1hcnJheSc7XG5pbXBvcnQgc2VlZFJhbmRvbSBmcm9tICdzZWVkcmFuZG9tJztcbmNsYXNzIE11bHRpQ29sdW1uUmVkdWNlciB7XG4gICAgZGF0YTtcbiAgICB3ZWlnaHRzO1xuICAgIGFnZ3JlZ2F0aW9uTWV0aG9kO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgICB0aGlzLndlaWdodHMgPSBvcHRpb25zLndlaWdodHM7XG4gICAgICAgIHRoaXMuYWdncmVnYXRpb25NZXRob2QgPSBvcHRpb25zLmFnZ3JlZ2F0aW9uTWV0aG9kO1xuICAgIH1cbn1cbmNsYXNzIFRTTkVSZWR1Y2VyIGV4dGVuZHMgTXVsdGlDb2x1bW5SZWR1Y2VyIHtcbiAgICByZWR1Y2VyO1xuICAgIGl0ZXJhdGlvbnM7XG4gICAgZGlzdGFuY2VGbmFtZXM7XG4gICAgZGlzdGFuY2VGbnM7XG4gICAgZGlzdGFuY2VGbkFyZ3M7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBUU05FUmVkdWNlci5cbiAgICAgKiBAcGFyYW0ge09wdGlvbnN9IG9wdGlvbnMgT3B0aW9ucyB0byBwYXNzIHRvIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgKiBAbWVtYmVyb2YgVFNORVJlZHVjZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLnJlZHVjZXIgPSBuZXcgVFNORShvcHRpb25zKTtcbiAgICAgICAgdGhpcy5pdGVyYXRpb25zID0gb3B0aW9ucz8uaXRlcmF0aW9ucyA/PyAxMDA7XG4gICAgICAgIHRoaXMuZGlzdGFuY2VGbmFtZXMgPSBvcHRpb25zLmRpc3RhbmNlRm5hbWVzO1xuICAgICAgICB0aGlzLmRpc3RhbmNlRm5zID0gb3B0aW9ucy5kaXN0YW5jZUZucztcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZuQXJncyA9IG9wdGlvbnMuZGlzdGFuY2VGbkFyZ3M7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEVtYmVkcyB0aGUgZGF0YSBnaXZlbiBpbnRvIHRoZSB0d28tZGltZW5zaW9uYWwgc3BhY2UgdXNpbmcgdC1TTkUgbWV0aG9kLlxcXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbcGFyYWxsZWxEaXN0YW5jZVdvcmtlcnNdIFdoZXRoZXIgdG8gdXNlIHBhcmFsbGVsIGRpc3RhbmNlIHdvcmtlcnMuXG4gICAgICogQHJldHVybiB7YW55fSBDYXJ0ZXNpYW4gY29vcmRpbmF0ZSBvZiB0aGlzIGVtYmVkZGluZyBhbmQgZGlzdGFuY2UgbWF0cml4IHdoZXJlIGFwcGxpY2FibGUuXG4gICAgICovXG4gICAgYXN5bmMgdHJhbnNmb3JtKCkge1xuICAgICAgICBpZiAodGhpcy5kYXRhWzBdLmxlbmd0aCA+IDEwMDAwKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYXhpbXVtIG51bWJlciBvZiBzYW1wbGVzIGZvciBULVNORSBpcyAxMDAwMCcpO1xuICAgICAgICBjb25zdCBtYXRyaXhTZXJ2aWNlID0gbmV3IERpc3RhbmNlTWF0cml4U2VydmljZSh0cnVlLCBmYWxzZSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBhZ2dyZWdhdGUgPSBnZXRBZ2dyZWdhdGlvbkZ1bmN0aW9uKHRoaXMuYWdncmVnYXRpb25NZXRob2QsIHRoaXMud2VpZ2h0cyk7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZXMgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5kYXRhLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzdCA9IGF3YWl0IG1hdHJpeFNlcnZpY2UuY2FsYyh0aGlzLmRhdGFbaV0sIHRoaXMuZGlzdGFuY2VGbmFtZXNbaV0sIGZhbHNlLCB0aGlzLmRpc3RhbmNlRm5BcmdzW2ldKTtcbiAgICAgICAgICAgICAgICBkaXN0YW5jZXMucHVzaChkaXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gbmV3IEZsb2F0MzJBcnJheShkaXN0YW5jZXNbMF0ubGVuZ3RoKS5maWxsKDApO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaXN0YW5jZXNbMF0ubGVuZ3RoOyArK2kpXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VbaV0gPSBhZ2dyZWdhdGUoZGlzdGFuY2VzLm1hcCgoZCkgPT4gZFtpXSkpO1xuICAgICAgICAgICAgY29uc3QgbWF0cml4UHJveHkgPSBkaXN0YW5jZU1hdHJpeFByb3h5KGRpc3RhbmNlLCB0aGlzLmRhdGFbMF0ubGVuZ3RoKTtcbiAgICAgICAgICAgIHRoaXMucmVkdWNlci5pbml0RGF0YURpc3QobWF0cml4UHJveHkpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLml0ZXJhdGlvbnM7ICsraSlcbiAgICAgICAgICAgICAgICB0aGlzLnJlZHVjZXIuc3RlcCgpOyAvLyBldmVyeSB0aW1lIHlvdSBjYWxsIHRoaXMsIHNvbHV0aW9uIGdldHMgYmV0dGVyXG4gICAgICAgICAgICBtYXRyaXhTZXJ2aWNlLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVkdWNlci5nZXRTb2x1dGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBtYXRyaXhTZXJ2aWNlLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmNsYXNzIFVNQVBSZWR1Y2VyIGV4dGVuZHMgTXVsdGlDb2x1bW5SZWR1Y2VyIHtcbiAgICByZWR1Y2VyO1xuICAgIGRpc3RhbmNlRm5hbWVzO1xuICAgIGRpc3RhbmNlRm5zO1xuICAgIHZlY3RvcnM7XG4gICAgcHJvZ3Jlc3NGdW5jO1xuICAgIGRpc3RhbmNlRm5BcmdzO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgVU1BUFJlZHVjZXIuXG4gICAgICogQHBhcmFtIHtPcHRpb25zfSBvcHRpb25zIE9wdGlvbnMgdG8gcGFzcyB0byB0aGUgY29uc3RydWN0b3IuXG4gICAgICogQG1lbWJlcm9mIFVNQVBSZWR1Y2VyXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBjb25zdCByYW5kb21TZWVkID0gb3B0aW9ucy5yYW5kb21TZWVkID8/IERhdGUoKTtcbiAgICAgICAgY29uc3QgcmFuZG9tRm4gPSBzZWVkUmFuZG9tKHJhbmRvbVNlZWQpO1xuICAgICAgICBjb25zb2xlLmxvZyhyYW5kb21TZWVkKTtcbiAgICAgICAgY29uc29sZS5sb2cocmFuZG9tRm4oKSwgcmFuZG9tRm4oKSwgcmFuZG9tRm4oKSk7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgICAgICBhc3NlcnQoJ2Rpc3RhbmNlRm5hbWVzJyBpbiBvcHRpb25zKTtcbiAgICAgICAgYXNzZXJ0KCdkaXN0YW5jZUZucycgaW4gb3B0aW9ucyk7XG4gICAgICAgIHRoaXMuZGlzdGFuY2VGbkFyZ3MgPSBvcHRpb25zLmRpc3RhbmNlRm5BcmdzO1xuICAgICAgICB0aGlzLmRpc3RhbmNlRm5zID0gb3B0aW9ucy5kaXN0YW5jZUZucztcbiAgICAgICAgdGhpcy5wcm9ncmVzc0Z1bmMgPSBvcHRpb25zLnByb2dyZXNzRnVuYztcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZuYW1lcyA9IG9wdGlvbnMuZGlzdGFuY2VGbmFtZXM7XG4gICAgICAgIC8vVW1hcCB1c2VzIHZlY3RvciBpbmRleGluZywgc28gd2UgbmVlZCB0byBjcmVhdGUgYW4gYXJyYXkgb2YgdmVjdG9ycyBhcyBpbmRlY2VzLlxuICAgICAgICB0aGlzLnZlY3RvcnMgPSBuZXcgQXJyYXkodGhpcy5kYXRhWzBdLmxlbmd0aCkuZmlsbCgwKS5tYXAoKF8sIGkpID0+IGkpO1xuICAgICAgICBpZiAodGhpcy5kYXRhWzBdLmxlbmd0aCA8IDE1KVxuICAgICAgICAgICAgb3B0aW9ucy5uTmVpZ2hib3JzID0gdGhpcy5kYXRhWzBdLmxlbmd0aCAtIDE7XG4gICAgICAgIG9wdGlvbnMucmFuZG9tID0gcmFuZG9tRm47XG4gICAgICAgIHRoaXMucmVkdWNlciA9IG5ldyBVTUFQKG9wdGlvbnMpO1xuICAgICAgICAvLyB0aGlzLnJlZHVjZXIuZGlzdGFuY2VGbiA9IHRoaXMuX2VuY29kZWREaXN0YW5jZS5iaW5kKHRoaXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWJlZHMgdGhlIGRhdGEgZ2l2ZW4gaW50byB0aGUgdHdvLWRpbWVuc2lvbmFsIHNwYWNlIHVzaW5nIFVNQVAgbWV0aG9kLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW19wYXJhbGxlbERpc3RhbmNlV29ya2Vyc10gV2hldGhlciB0byB1c2UgcGFyYWxsZWwgZGlzdGFuY2UgbWF0cml4IHdvcmtlcnMuXG4gICAgICogQHJldHVybiB7YW55fSBDYXJ0ZXNpYW4gY29vcmRpbmF0ZSBvZiB0aGlzIGVtYmVkZGluZy5cbiAgICAgKi9cbiAgICBhc3luYyB0cmFuc2Zvcm0oX3BhcmFsbGVsRGlzdGFuY2VXb3JrZXJzKSB7XG4gICAgICAgIGNvbnNvbGUudGltZSgna25uIGdyYXBoJyk7XG4gICAgICAgIGNvbnN0IGtublJlcyA9IGF3YWl0IG5ldyBTcGFyc2VNYXRyaXhTZXJ2aWNlKClcbiAgICAgICAgICAgIC5tdWx0aUNvbHVtbktOTih0aGlzLmRhdGEsIHRoaXMuZGlzdGFuY2VGbmFtZXMsIHRoaXMucmVkdWNlci5uZWlnaGJvcnMsIHRoaXMuZGlzdGFuY2VGbkFyZ3MsIHRoaXMud2VpZ2h0cywgdGhpcy5hZ2dyZWdhdGlvbk1ldGhvZCk7XG4gICAgICAgIGNvbnNvbGUudGltZUVuZCgna25uIGdyYXBoJyk7XG4gICAgICAgIHRoaXMucmVkdWNlci5zZXRQcmVjb21wdXRlZEtOTihrbm5SZXMua25uSW5kZXhlcywga25uUmVzLmtubkRpc3RhbmNlcyk7XG4gICAgICAgIC8vIG5lZWRlZCBzbyB0aGF0IGdhcmJhZ2UgY29sbGVjdG9yIGNhbiBmcmVlIG1lbW9yeSBmcm9tIGRpc3RhbmNlIG1hdHJpeFxuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSwgMzAwKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGVtYmVkZGluZyA9IGF3YWl0IHRoaXMucmVkdWNlci5maXRBc3luYyh0aGlzLnZlY3RvcnMsIChlcG9jKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9ncmVzc0Z1bmMpXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzc0Z1bmMoZXBvYywgdGhpcy5yZWR1Y2VyLmdldE5FcG9jaHMoKSwgdGhpcy5yZWR1Y2VyLmdldEVtYmVkZGluZygpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGZ1bmN0aW9uIGFycmF5Q2FzdDJDb29yZGluYXRlcyhkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFycmF5KGRhdGEubGVuZ3RoKS5maWxsKDApLm1hcCgoXywgaSkgPT4gKFZlY3Rvci5mcm9tKGRhdGFbaV0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFycmF5Q2FzdDJDb29yZGluYXRlcyhlbWJlZGRpbmcpO1xuICAgIH1cbn1cbmNvbnN0IEF2YWlsYWJsZVJlZHVjZXJzID0ge1xuICAgICdVTUFQJzogVU1BUFJlZHVjZXIsXG4gICAgJ3QtU05FJzogVFNORVJlZHVjZXIsXG59O1xuZXhwb3J0IGNsYXNzIE11bHRpQ29sRGltUmVkdWNlciB7XG4gICAgcmVkdWNlcjtcbiAgICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBEaW1lbnNpb25hbGl0eVJlZHVjZXIuXG4gICAqIEBwYXJhbSB7YW55W119IGRhdGEgVmVjdG9ycyB0byBlbWJlZC5cbiAgICogQHBhcmFtIHtLbm93bk1ldGhvZHN9IG1ldGhvZCBFbWJlZGRpbmcgbWV0aG9kIHRvIGJlIGFwcGxpZWRcbiAgICogQHBhcmFtIHtLbm93bk1ldHJpY3N9IG1ldHJpYyBEaXN0YW5jZSBtZXRyaWMgdG8gYmUgY29tcHV0ZWQgYmV0d2VlbiBlYWNoIG9mIHRoZSB2ZWN0b3JzLlxuICAgKiBAcGFyYW0ge09wdGlvbnN9IFtvcHRpb25zXSBPcHRpb25zIHRvIHBhc3MgdG8gdGhlIGltcGxlbWVudGluZyBlbWJlZGRlcnMuXG4gICAqIEBtZW1iZXJvZiBEaW1lbnNpb25hbGl0eVJlZHVjZXJcbiAgICovXG4gICAgY29uc3RydWN0b3IoZGF0YSwgbWV0aG9kLCBtZXRyaWNzLCB3ZWlnaHRzLCBkaXN0YW5jZUFnZ3JlZ2F0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IG1lYXN1cmVzID0gW107XG4gICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IG1ldHJpY3MubGVuZ3RoOyArK2lkeCkge1xuICAgICAgICAgICAgY29uc3QgbWVhc3VyZSA9IG5ldyBNZWFzdXJlKG1ldHJpY3NbaWR4XSkuZ2V0TWVhc3VyZShvcHRpb25zLmRpc3RhbmNlRm5BcmdzW2lkeF0pO1xuICAgICAgICAgICAgbWVhc3VyZXMucHVzaChtZWFzdXJlKTtcbiAgICAgICAgICAgIGxldCBiaXRBcnJheUxlbmd0aCA9IDIwNDg7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFbaWR4XS5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhW2lkeF1baV0gJiYgZGF0YVtpZHhdW2ldLl9sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgYml0QXJyYXlMZW5ndGggPSBkYXRhW2lkeF1baV0uX2xlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzQml0QXJyYXlNZXRyaWMobWV0cmljc1tpZHhdKSkge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpZHhdLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhW2lkeF1baV0gJiYgZGF0YVtpZHhdW2ldLl9kYXRhKVxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtpZHhdW2ldID0gbmV3IEJpdEFycmF5KGRhdGFbaWR4XVtpXS5fZGF0YSwgZGF0YVtpZHhdW2ldLl9sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2lkeF1baV0gPSBuZXcgQml0QXJyYXkoYml0QXJyYXlMZW5ndGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0aG9kID09ICdVTUFQJykge1xuICAgICAgICAgICAgdGhpcy5yZWR1Y2VyID0gbmV3IFVNQVBSZWR1Y2VyKHtcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgICAgIGRpc3RhbmNlRm5hbWVzOiBtZXRyaWNzLFxuICAgICAgICAgICAgICAgIGRpc3RhbmNlRm5zOiBtZWFzdXJlcyxcbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuQXJnczogb3B0aW9ucy5kaXN0YW5jZUZuQXJncyxcbiAgICAgICAgICAgICAgICB3ZWlnaHRzOiB3ZWlnaHRzLFxuICAgICAgICAgICAgICAgIGFnZ3JlZ2F0aW9uTWV0aG9kOiBkaXN0YW5jZUFnZ3JlZ2F0aW9uLFxuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG1ldGhvZCA9PSAndC1TTkUnKSB7XG4gICAgICAgICAgICB0aGlzLnJlZHVjZXIgPSBuZXcgVFNORVJlZHVjZXIoe1xuICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VGbmFtZXM6IG1ldHJpY3MsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VGbnM6IG1lYXN1cmVzLFxuICAgICAgICAgICAgICAgIGRpc3RhbmNlRm5BcmdzOiBvcHRpb25zLmRpc3RhbmNlRm5BcmdzLFxuICAgICAgICAgICAgICAgIHdlaWdodHM6IHdlaWdodHMsXG4gICAgICAgICAgICAgICAgYWdncmVnYXRpb25NZXRob2Q6IGRpc3RhbmNlQWdncmVnYXRpb24sXG4gICAgICAgICAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAqIEVtYmVkcyB0aGUgZGF0YSBnaXZlbiBpbnRvIHRoZSB0d28tZGltZW5zaW9uYWwgc3BhY2UgdXNpbmcgdGhlIGNob3NlbiBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdHJhbnNwb3NlIFdoZXRoZXIgdG8gdHJhbnNmb3JtIGNvb3JkaW5hdGVzIHRvIGhhdmUgY29sdW1ucy1maXJzdCBvcmllbnRhdGlvbi5cbiAgICogQHBhcmFtIHtib29sZWFufSBwYXJhbGxlbERpc3RhbmNlV29ya2VycyBXaGV0aGVyIHRvIHVzZSBwYXJhbGxlbCBkaXN0YW5jZSBjb21wdXRhdGlvbi5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBlbWJlZGRpbmcgbWV0aG9kIHdhcyBub3QgZm91bmQuXG4gICAqIEByZXR1cm4ge2FueX0gQ2FydGVzaWFuIGNvb3JkaW5hdGUgb2YgdGhpcyBlbWJlZGRpbmcgYW5kIGRpc3RhbmNlIG1hdHJpeCB3aGVyZSBhcHBsaWNhYmxlLlxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIGFzeW5jIHRyYW5zZm9ybSh0cmFuc3Bvc2UgPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5yZWR1Y2VyID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlZHVjZXIgd2FzIG5vdCBkZWZpbmVkLicpO1xuICAgICAgICBsZXQgZW1iZWRkaW5nID0gYXdhaXQgdGhpcy5yZWR1Y2VyLnRyYW5zZm9ybSgpO1xuICAgICAgICBpZiAodHJhbnNwb3NlKVxuICAgICAgICAgICAgZW1iZWRkaW5nID0gdHJhbnNwb3NlTWF0cml4KGVtYmVkZGluZyk7XG4gICAgICAgIHJldHVybiBlbWJlZGRpbmc7XG4gICAgfVxuICAgIC8qKlxuICAgKiBSZXR1cm5zIG1ldHJpY3MgYXZhaWxhYmxlIGJ5IHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSB7QXZhaWxhYmxlRGF0YVR5cGVzfSB0eXBlTmFtZSB0eXBlIG5hbWVcbiAgICogQHJldHVybiB7c3RyaW5nW119IE1ldHJpYyBuYW1lcyB3aGljaCBleHBlY3RzIHRoZSBnaXZlbiBkYXRhIHR5cGVcbiAgICogQG1lbWJlcm9mIERpbWVuc2lvbmFsaXR5UmVkdWNlclxuICAgKi9cbiAgICBzdGF0aWMgYXZhaWxhYmxlTWV0cmljc0J5VHlwZSh0eXBlTmFtZSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljc1t0eXBlTmFtZV0pO1xuICAgIH1cbiAgICAvKipcbiAgICogUmV0dXJucyBkaW1lbnNpb25hbGl0eSByZWR1Y3Rpb24gbWV0aG9kcyBhdmFpbGFibGUuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIHN0YXRpYyBnZXQgYXZhaWxhYmxlTWV0aG9kcygpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZVJlZHVjZXJzKTtcbiAgICB9XG4gICAgLyoqXG4gICAqIFJldHVybnMgbWV0cmljcyBhdmFpbGFibGUuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIHN0YXRpYyBnZXQgYXZhaWxhYmxlTWV0cmljcygpIHtcbiAgICAgICAgbGV0IGFucyA9IFtdO1xuICAgICAgICBPYmplY3QudmFsdWVzKEF2YWlsYWJsZU1ldHJpY3MpLmZvckVhY2goKG9iaikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXJyYXkgPSBPYmplY3QudmFsdWVzKG9iaik7XG4gICAgICAgICAgICBhbnMgPSBbLi4uYW5zLCAuLi5hcnJheV07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYW5zO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJYVnNkR2t0WTI5c2RXMXVMV1JwYlMxeVpXUjFZMlZ5TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2liWFZzZEdrdFkyOXNkVzF1TFdScGJTMXlaV1IxWTJWeUxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNSVUZCSzBNc1RVRkJUU3hGUVVGVkxFMUJReTlFTEdsRVFVRnBSQ3hEUVVGRE8wRkJRM3BFTEU5QlFVOHNSVUZCUXl4SlFVRkpMRVZCUVVNc1RVRkJUU3hsUVVGbExFTkJRVU03UVVGRGJrTXNUMEZCVHl4RlFVRnhRaXhuUWtGQlowSXNSVUZCWjBJc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkRMRTFCUVUwc2EwSkJRV3RDTEVOQlFVTTdRVUZETDBjc1QwRkJUeXhGUVVGRExIRkNRVUZ4UWl4RlFVRkZMRzFDUVVGdFFpeEZRVUZETEUxQlFVMHNiMEpCUVc5Q0xFTkJRVU03UVVGRE9VVXNUMEZCVHl4RlFVRkRMSE5DUVVGelFpeEZRVUZETEUxQlFVMHNNRUpCUVRCQ0xFTkJRVU03UVVGRmFFVXNUMEZCVHl4RlFVRkRMRWxCUVVrc1JVRkJReXhOUVVGTkxGTkJRVk1zUTBGQlF6dEJRVU0zUWl4UFFVRlBMRVZCUVVNc1RVRkJUU3hGUVVGRkxHVkJRV1VzUlVGQlF5eE5RVUZOTEdsRVFVRnBSQ3hEUVVGRE8wRkJRM2hHTEU5QlFVOHNSVUZCUXl4dFFrRkJiVUlzUlVGQlF5eE5RVUZOTERCRFFVRXdReXhEUVVGRE8wRkJSVGRGTEU5QlFVOHNVVUZCVVN4TlFVRk5MSGxEUVVGNVF5eERRVUZETzBGQlF5OUVMRTlCUVU4c1ZVRkJWU3hOUVVGTkxGbEJRVmtzUTBGQlF6dEJRVGhDY0VNc1RVRkJaU3hyUWtGQmEwSTdTVUZEYmtJc1NVRkJTU3hEUVVGWk8wbEJRMmhDTEU5QlFVOHNRMEZCVnp0SlFVTnNRaXhwUWtGQmFVSXNRMEZCTkVJN1NVRkRka1FzV1VGQldTeFBRVUZuUWp0UlFVTXhRaXhKUVVGSkxFTkJRVU1zU1VGQlNTeEhRVUZITEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNN1VVRkRla0lzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4UFFVRlBMRU5CUVVNc1QwRkJUeXhEUVVGRE8xRkJReTlDTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUjBGQlJ5eFBRVUZQTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU03U1VGRGNrUXNRMEZCUXp0RFFVdEtPMEZCUlVRc1RVRkJUU3hYUVVGWkxGTkJRVkVzYTBKQlFXdENPMGxCUXpsQ0xFOUJRVThzUTBGQlR6dEpRVU5rTEZWQlFWVXNRMEZCVXp0SlFVTnVRaXhqUVVGakxFTkJRV2xDTzBsQlF5OUNMRmRCUVZjc1EwRkJhVU03U1VGRE5VTXNZMEZCWXl4RFFVRjFRanRKUVVVdlF6czdPenRQUVVsSE8wbEJRMGdzV1VGQldTeFBRVUZuUWp0UlFVTXhRaXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdVVUZEWml4SlFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTJwRExFbEJRVWtzUTBGQlF5eFZRVUZWTEVkQlFVY3NUMEZCVHl4RlFVRkZMRlZCUVZVc1NVRkJTU3hIUVVGSExFTkJRVU03VVVGRE4wTXNTVUZCU1N4RFFVRkRMR05CUVdNc1IwRkJSeXhQUVVGUExFTkJRVU1zWTBGQll5eERRVUZETzFGQlF6ZERMRWxCUVVrc1EwRkJReXhYUVVGWExFZEJRVWNzVDBGQlR5eERRVUZETEZkQlFWY3NRMEZCUXp0UlFVTjJReXhKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEU5QlFVOHNRMEZCUXl4alFVRmpMRU5CUVVNN1NVRkRMME1zUTBGQlF6dEpRVVZFT3pzN08wOUJTVWM3U1VGRFNTeExRVUZMTEVOQlFVTXNVMEZCVXp0UlFVTndRaXhKUVVGSkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hIUVVGSExFdEJRVXM3V1VGRE4wSXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXc0UTBGQk9FTXNRMEZCUXl4RFFVRkRPMUZCUTJ4RkxFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NjVUpCUVhGQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUXpkRUxFbEJRVWs3V1VGRFJpeE5RVUZOTEZOQlFWTXNSMEZCUnl4elFrRkJjMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFVkJRVVVzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMWxCUXk5RkxFMUJRVTBzVTBGQlV5eEhRVUYzUWl4RlFVRkZMRU5CUVVNN1dVRkRNVU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUVVVc1EwRkJReXhGUVVGRk8yZENRVU42UXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhOUVVGTkxHRkJRV0VzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlF6TkhMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdZVUZEZEVJN1dVRkRSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEZsQlFWa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJReTlFTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVVVzUTBGQlF6dG5Ra0ZETVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEzUkVMRTFCUVUwc1YwRkJWeXhIUVVGSExHMUNRVUZ0UWl4RFFVRkRMRkZCUVZFc1JVRkJSU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRM1pGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1dVRkJXU3hEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzFsQlJYWkRMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFVkJRVVVzUTBGQlF6dG5Ra0ZEZEVNc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRMR2xFUVVGcFJEdFpRVU40UlN4aFFVRmhMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03V1VGRE1VSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETzFOQlEyNURPMUZCUVVNc1QwRkJUeXhEUVVGRExFVkJRVVU3V1VGRFZpeGhRVUZoTEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN1dVRkRNVUlzVFVGQlRTeERRVUZETEVOQlFVTTdVMEZEVkR0SlFVTklMRU5CUVVNN1EwRkRTanRCUVVWRUxFMUJRVTBzVjBGQldTeFRRVUZSTEd0Q1FVRnJRanRKUVVNNVFpeFBRVUZQTEVOQlFVODdTVUZEWkN4alFVRmpMRU5CUVdsQ08wbEJReTlDTEZkQlFWY3NRMEZCWVR0SlFVTjRRaXhQUVVGUExFTkJRVmM3U1VGRGJFSXNXVUZCV1N4RFFVRjNSVHRKUVVOd1JpeGpRVUZqTEVOQlFYVkNPMGxCUXk5RE96czdPMDlCU1VjN1NVRkRTQ3haUVVGWkxFOUJRV2RDTzFGQlF6RkNMRTFCUVUwc1ZVRkJWU3hIUVVGWExFOUJRVThzUTBGQlF5eFZRVUZWTEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRlRVFzVFVGQlRTeFJRVUZSTEVkQlFVY3NWVUZCVlN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8xRkJRM2hETEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRGVFSXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhSUVVGUkxFVkJRVVVzUlVGQlJTeFJRVUZSTEVWQlFVVXNSVUZCUlN4UlFVRlJMRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJRMmhFTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVObUxFMUJRVTBzUTBGQlF5eG5Ra0ZCWjBJc1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU53UXl4TlFVRk5MRU5CUVVNc1lVRkJZU3hKUVVGSkxFOUJRVThzUTBGQlF5eERRVUZETzFGQlEycERMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzVDBGQlR5eERRVUZETEdOQlFXTXNRMEZCUXp0UlFVTTNReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEU5QlFVOHNRMEZCUXl4WFFVRlpMRU5CUVVNN1VVRkRlRU1zU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4UFFVRlBMRU5CUVVNc1dVRkJXU3hEUVVGRE8xRkJSWHBETEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1QwRkJUeXhEUVVGRExHTkJRV1VzUTBGQlF6dFJRVU01UXl4cFJrRkJhVVk3VVVGRGFrWXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVYyUlN4SlFVRkpMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4SFFVRkhMRVZCUVVVN1dVRkRNVUlzVDBGQlR5eERRVUZETEZWQlFWVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRMME1zVDBGQlR5eERRVUZETEUxQlFVMHNSMEZCUnl4UlFVRlJMRU5CUVVNN1VVRkRNVUlzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU5xUXl3NFJFRkJPRVE3U1VGRGFFVXNRMEZCUXp0SlFVVkVPenM3TzA5QlNVYzdTVUZEU1N4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRExIZENRVUZyUXp0UlFVTjJSQ3hQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUXpGQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEUxQlFVMHNTVUZCU1N4dFFrRkJiVUlzUlVGQlJUdGhRVU16UXl4alFVRmpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zVTBGQlV5eEZRVU53UlN4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVOQlFVTTdVVUZETDBRc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0UlFVTTNRaXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEdsQ1FVRnBRaXhEUVVGRExFMUJRVTBzUTBGQlF5eFZRVUZWTEVWQlFVVXNUVUZCVFN4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRE8xRkJSWFpGTEhkRlFVRjNSVHRSUVVONFJTeE5RVUZOTEVsQlFVa3NUMEZCVHl4RFFVRlBMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRVVU3V1VGRGJFTXNWVUZCVlN4RFFVRkRMRWRCUVVjc1JVRkJSVHRuUWtGRFpDeFBRVUZQTEVWQlFVVXNRMEZCUXp0WlFVTmFMRU5CUVVNc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5XTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUlVnc1RVRkJUU3hUUVVGVExFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNTVUZCU1N4RlFVRkZMRVZCUVVVN1dVRkRia1VzU1VGQlNTeEpRVUZKTEVOQlFVTXNXVUZCV1R0blFrRkRia0lzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eFZRVUZWTEVWQlFVVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZEY0VZc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRlNDeFRRVUZUTEhGQ1FVRnhRaXhEUVVGRExFbEJRV2RDTzFsQlF6ZERMRTlCUVU4c1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUXpsRkxFTkJRVU03VVVGRlJDeFBRVUZQTEhGQ1FVRnhRaXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzBsQlF6RkRMRU5CUVVNN1EwRkRTanRCUVVWRUxFMUJRVTBzYVVKQlFXbENMRWRCUVVjN1NVRkRlRUlzVFVGQlRTeEZRVUZGTEZkQlFWYzdTVUZEYmtJc1QwRkJUeXhGUVVGRkxGZEJRVmM3UTBGRGNrSXNRMEZCUXp0QlFVbEdMRTFCUVUwc1QwRkJUeXhyUWtGQmEwSTdTVUZEYmtJc1QwRkJUeXhEUVVGcFF6dEpRVU5vUkRzN096czdPenRMUVU5RE8wbEJRMFFzV1VGQldTeEpRVUZyUWl4RlFVRkZMRTFCUVRKQ0xFVkJRVVVzVDBGQmRVSXNSVUZEYkVZc1QwRkJhVUlzUlVGQlJTeHRRa0ZCT0VNc1JVRkJSU3hQUVVGblFqdFJRVU51Uml4TlFVRk5MRkZCUVZFc1IwRkJjVUlzUlVGQlJTeERRVUZETzFGQlEzUkRMRXRCUVVzc1NVRkJTU3hIUVVGSExFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVVVzUjBGQlJ5eEZRVUZGTzFsQlF6ZERMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExGVkJRVlVzUTBGQlF5eFBRVUZQTEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGJFWXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFpRVU4yUWl4SlFVRkpMR05CUVdNc1IwRkJSeXhKUVVGSkxFTkJRVU03V1VGRE1VSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVTdaMEpCUTNwRExFbEJRVWtzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhQUVVGUExFVkJRVVU3YjBKQlEzaERMR05CUVdNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRE8yOUNRVU4wUXl4TlFVRk5PMmxDUVVOUU8yRkJRMFk3V1VGRFJDeEpRVUZKTEdkQ1FVRm5RaXhEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RlFVRkZPMmRDUVVOc1F5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJUdHZRa0ZEZWtNc1NVRkJTU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzN2QwSkJRM0JETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEpRVUZKTEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenM3ZDBKQlJYUkZMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRkZCUVZFc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF6dHBRa0ZETDBNN1lVRkRSanRUUVVOR08xRkJSVVFzU1VGQlNTeE5RVUZOTEVsQlFVa3NUVUZCVFN4RlFVRkZPMWxCUTNCQ0xFbEJRVWtzUTBGQlF5eFBRVUZQTEVkQlFVY3NTVUZCU1N4WFFVRlhMRU5CUVVNN1owSkJRemRDTEVsQlFVa3NSVUZCUlN4SlFVRkpPMmRDUVVOV0xHTkJRV01zUlVGQlJTeFBRVUZQTzJkQ1FVTjJRaXhYUVVGWExFVkJRVVVzVVVGQlVUdG5Ra0ZEY2tJc1kwRkJZeXhGUVVGRkxFOUJRVThzUTBGQlF5eGpRVUZqTzJkQ1FVTjBReXhQUVVGUExFVkJRVVVzVDBGQlR6dG5Ra0ZEYUVJc2FVSkJRV2xDTEVWQlFVVXNiVUpCUVcxQ08yZENRVU4wUXl4SFFVRkhMRTlCUVU4N1lVRkRXQ3hEUVVGRExFTkJRVU03VTBGRFNqdGhRVUZOTEVsQlFVa3NUVUZCVFN4SlFVRkpMRTlCUVU4c1JVRkJSVHRaUVVNMVFpeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRWxCUVVrc1YwRkJWeXhEUVVGRE8yZENRVU0zUWl4SlFVRkpMRVZCUVVVc1NVRkJTVHRuUWtGRFZpeGpRVUZqTEVWQlFVVXNUMEZCVHp0blFrRkRka0lzVjBGQlZ5eEZRVUZGTEZGQlFWRTdaMEpCUTNKQ0xHTkJRV01zUlVGQlJTeFBRVUZQTEVOQlFVTXNZMEZCWXp0blFrRkRkRU1zVDBGQlR5eEZRVUZGTEU5QlFVODdaMEpCUTJoQ0xHbENRVUZwUWl4RlFVRkZMRzFDUVVGdFFqdG5Ra0ZEZEVNc1IwRkJSeXhQUVVGUE8yRkJRMWdzUTBGQlF5eERRVUZETzFOQlEwbzdTVUZEU0N4RFFVRkRPMGxCUlVRN096czdPenM3TzB0QlVVTTdTVUZEVFN4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRExGbEJRWEZDTEV0QlFVczdVVUZETDBNc1NVRkJTU3hKUVVGSkxFTkJRVU1zVDBGQlR5eExRVUZMTEZOQlFWTTdXVUZETlVJc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5d3dRa0ZCTUVJc1EwRkJReXhEUVVGRE8xRkJSVGxETEVsQlFVa3NVMEZCVXl4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0UlFVVXZReXhKUVVGSkxGTkJRVk03V1VGRFdDeFRRVUZUTEVkQlFVY3NaVUZCWlN4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8xRkJSWHBETEU5QlFVOHNVMEZCVXl4RFFVRkRPMGxCUTI1Q0xFTkJRVU03U1VGRlJEczdPenM3TzB0QlRVTTdTVUZEUkN4TlFVRk5MRU5CUVVNc2MwSkJRWE5DTEVOQlFVTXNVVUZCTkVJN1VVRkRlRVFzVDBGQlR5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRha1FzUTBGQlF6dEpRVVZFT3pzN096dExRVXRETzBsQlEwUXNUVUZCVFN4TFFVRkxMR2RDUVVGblFqdFJRVU42UWl4UFFVRlBMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1EwRkJRenRKUVVONFF5eERRVUZETzBsQlJVUTdPenM3TzB0QlMwTTdTVUZEUkN4TlFVRk5MRXRCUVVzc1owSkJRV2RDTzFGQlEzcENMRWxCUVVrc1IwRkJSeXhIUVVGaExFVkJRVVVzUTBGQlF6dFJRVU4yUWl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVTdXVUZET1VNc1RVRkJUU3hMUVVGTExFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOcVF5eEhRVUZITEVkQlFVY3NRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hIUVVGSExFdEJRVXNzUTBGQlF5eERRVUZETzFGQlF6TkNMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMGdzVDBGQlR5eEhRVUZITEVOQlFVTTdTVUZEWWl4RFFVRkRPME5CUTBvaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2UwTnZiM0prYVc1aGRHVnpMQ0JFYVhOMFlXNWpaVTFsZEhKcFl5d2dUV0YwY21sNExDQlBjSFJwYjI1ekxDQldaV04wYjNJc0lGWmxZM1J2Y25OOVhHNGdJR1p5YjIwZ0owQmtZWFJoWjNKdmF5MXNhV0p5WVhKcFpYTXZkWFJwYkhNdmMzSmpMM1I1Y0dVdFpHVmpiR0Z5WVhScGIyNXpKenRjYm1sdGNHOXlkQ0I3VkZOT1JYMGdabkp2YlNBblFHdGxZMnRsYkhRdmRITnVaU2M3WEc1cGJYQnZjblFnZTBGMllXbHNZV0pzWlVSaGRHRlVlWEJsY3l3Z1FYWmhhV3hoWW14bFRXVjBjbWxqY3l3Z1MyNXZkMjVOWlhSeWFXTnpMQ0JOWldGemRYSmxMQ0JwYzBKcGRFRnljbUY1VFdWMGNtbGpmU0JtY205dElDY3VMaTkwZVhCbFpDMXRaWFJ5YVdOekp6dGNibWx0Y0c5eWRDQjdSR2x6ZEdGdVkyVk5ZWFJ5YVhoVFpYSjJhV05sTENCa2FYTjBZVzVqWlUxaGRISnBlRkJ5YjNoNWZTQm1jbTl0SUNjdUxpOWthWE4wWVc1alpTMXRZWFJ5YVhnbk8xeHVhVzF3YjNKMElIdG5aWFJCWjJkeVpXZGhkR2x2YmtaMWJtTjBhVzl1ZlNCbWNtOXRJQ2N1TGk5a2FYTjBZVzVqWlMxdFlYUnlhWGd2ZFhScGJITW5PMXh1YVcxd2IzSjBJSHRFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtmU0JtY205dElDY3VMaTlrYVhOMFlXNWpaUzF0WVhSeWFYZ3ZkSGx3WlhNbk8xeHVhVzF3YjNKMElIdFZUVUZRZlNCbWNtOXRJQ2N1TGk5MWJXRndKenRjYm1sdGNHOXlkQ0I3WVhOelpYSjBMQ0IwY21GdWMzQnZjMlZOWVhSeWFYaDlJR1p5YjIwZ0owQmtZWFJoWjNKdmF5MXNhV0p5WVhKcFpYTXZkWFJwYkhNdmMzSmpMM1psWTNSdmNpMXZjR1Z5WVhScGIyNXpKenRjYm1sdGNHOXlkQ0I3VTNCaGNuTmxUV0YwY21sNFUyVnlkbWxqWlgwZ1puSnZiU0FuTGk0dlpHbHpkR0Z1WTJVdGJXRjBjbWw0TDNOd1lYSnpaUzF0WVhSeWFYZ3RjMlZ5ZG1salpTYzdYRzVwYlhCdmNuUWdlMFJwYlZKbFpIVmpkR2x2YmsxbGRHaHZaSE45SUdaeWIyMGdKeTR2ZEhsd1pYTW5PMXh1YVcxd2IzSjBJRUpwZEVGeWNtRjVJR1p5YjIwZ0owQmtZWFJoWjNKdmF5MXNhV0p5WVhKcFpYTXZkWFJwYkhNdmMzSmpMMkpwZEMxaGNuSmhlU2M3WEc1cGJYQnZjblFnYzJWbFpGSmhibVJ2YlNCbWNtOXRJQ2R6WldWa2NtRnVaRzl0Snp0Y2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkpWVTFCVUU5d2RHbHZibk1nZTF4dUlDQWdJR3hsWVhKdWFXNW5VbUYwWlQ4NklHNTFiV0psY2p0Y2JpQWdJQ0J1UTI5dGNHOXVaVzUwY3o4NklHNTFiV0psY2p0Y2JpQWdJQ0J1UlhCdlkyaHpQem9nYm5WdFltVnlPMXh1SUNBZ0lHNU9aV2xuYUdKdmNuTS9PaUJ1ZFcxaVpYSTdYRzRnSUNBZ2MzQnlaV0ZrUHpvZ2JuVnRZbVZ5TzF4dUlDQWdJRzFwYmtScGMzUS9PaUJ1ZFcxaVpYSTdYRzRnSUNBZ2NISnZaM0psYzNOR2RXNWpQem9nS0dWd2IyTTZJRzUxYldKbGNpd2daWEJ2WTJoelRHVnVaM1JvT2lCdWRXMWlaWElzSUdWdFltVmtaR2x1WjNNNklHNTFiV0psY2x0ZFcxMHBJRDArSUhadmFXUTdYRzRnSUNBZ2NtRnVaRzl0VTJWbFpEODZJSE4wY21sdVp6dGNibjFjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCSlZGTk9SVTl3ZEdsdmJuTWdlMXh1SUNBZ0lHVndjMmxzYjI0L09pQnVkVzFpWlhJN1hHNGdJQ0FnY0dWeWNHeGxlR2wwZVQ4NklHNTFiV0psY2p0Y2JpQWdJQ0JrYVcwL09pQnVkVzFpWlhJN1hHNTlYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnU1VScGJWSmxaSFZqZEdsdmJsQmhjbUZ0UEZRZ1pYaDBaVzVrY3lCdWRXMWlaWElnZkNCemRISnBibWNnUFNCdWRXMWlaWEkrSUh0Y2JpQWdJQ0IxYVU1aGJXVTZJSE4wY21sdVp6dGNiaUFnSUNCMllXeDFaVG9nS0ZRZ1pYaDBaVzVrY3lCdWRXMWlaWElnUHlCdWRXMWlaWElnT2lCemRISnBibWNwSUh3Z2JuVnNiRHRjYmlBZ0lDQjBiMjlzZEdsd09pQnpkSEpwYm1jN1hHNGdJQ0FnZEhsd1pUODZJRlFnWlhoMFpXNWtjeUJ1ZFcxaVpYSWdQeUFuYm5WdFltVnlKeUE2SUNkemRISnBibWNuTzF4dUlDQWdJSEJzWVdObGFHOXNaR1Z5UHpvZ2MzUnlhVzVuTzF4dUlDQWdJRzFwYmo4NklHNTFiV0psY2p0Y2JpQWdJQ0J0WVhnL09pQnVkVzFpWlhJN1hHNGdJQ0FnYzNSbGNEODZJRzUxYldKbGNqdGNibjFjYmx4dVlXSnpkSEpoWTNRZ1kyeGhjM01nVFhWc2RHbERiMngxYlc1U1pXUjFZMlZ5SUh0Y2JpQWdJQ0J3Y205MFpXTjBaV1FnWkdGMFlUb2dWbVZqZEc5eWMxdGRPMXh1SUNBZ0lIQnliM1JsWTNSbFpDQjNaV2xuYUhSek9pQnVkVzFpWlhKYlhUdGNiaUFnSUNCd2NtOTBaV04wWldRZ1lXZG5jbVZuWVhScGIyNU5aWFJvYjJRNklFUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNU5aWFJvYjJRN1hHNGdJQ0FnWTI5dWMzUnlkV04wYjNJb2IzQjBhVzl1Y3pvZ1QzQjBhVzl1Y3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVrWVhSaElEMGdiM0IwYVc5dWN5NWtZWFJoTzF4dUlDQWdJQ0FnZEdocGN5NTNaV2xuYUhSeklEMGdiM0IwYVc5dWN5NTNaV2xuYUhSek8xeHVJQ0FnSUNBZ2RHaHBjeTVoWjJkeVpXZGhkR2x2YmsxbGRHaHZaQ0E5SUc5d2RHbHZibk11WVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xSUVWdFltVmtjeUIwYUdVZ1pHRjBZU0JuYVhabGJpQnBiblJ2SUhSb1pTQjBkMjh0WkdsdFpXNXphVzl1WVd3Z2MzQmhZMlV1WEc0Z0lDQWdJQ29nUUhKbGRIVnliaUI3WVc1NWZTQkRZWEowWlhOcFlXNGdZMjl2Y21ScGJtRjBaU0J2WmlCMGFHbHpJR1Z0WW1Wa1pHbHVaeUJoYm1RZ1pHbHpkR0Z1WTJVZ2JXRjBjbWw0SUhkb1pYSmxJR0Z3Y0d4cFkyRmliR1V1SUNvdlhHNGdJQ0FnWVdKemRISmhZM1FnZEhKaGJuTm1iM0p0S0NrNklGQnliMjFwYzJVOFRXRjBjbWw0UGp0Y2JuMWNibHh1WTJ4aGMzTWdWRk5PUlZKbFpIVmpaWElnWlhoMFpXNWtjeUJOZFd4MGFVTnZiSFZ0YmxKbFpIVmpaWElnZTF4dUlDQWdJSEJ5YjNSbFkzUmxaQ0J5WldSMVkyVnlPaUJVVTA1Rk8xeHVJQ0FnSUhCeWIzUmxZM1JsWkNCcGRHVnlZWFJwYjI1ek9pQnVkVzFpWlhJN1hHNGdJQ0FnY0hKdmRHVmpkR1ZrSUdScGMzUmhibU5sUm01aGJXVnpPaUJMYm05M2JrMWxkSEpwWTNOYlhUdGNiaUFnSUNCd2NtOTBaV04wWldRZ1pHbHpkR0Z1WTJWR2JuTTZJQ2dvWVRvZ1lXNTVMQ0JpT2lCaGJua3BJRDArSUc1MWJXSmxjaWxiWFR0Y2JpQWdJQ0J3Y205MFpXTjBaV1FnWkdsemRHRnVZMlZHYmtGeVozTTZJSHRiWHpvZ2MzUnlhVzVuWFRvZ1lXNTVmVnRkTzF4dVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1EzSmxZWFJsY3lCaGJpQnBibk4wWVc1alpTQnZaaUJVVTA1RlVtVmtkV05sY2k1Y2JpQWdJQ0FnS2lCQWNHRnlZVzBnZTA5d2RHbHZibk45SUc5d2RHbHZibk1nVDNCMGFXOXVjeUIwYnlCd1lYTnpJSFJ2SUhSb1pTQmpiMjV6ZEhKMVkzUnZjaTVjYmlBZ0lDQWdLaUJBYldWdFltVnliMllnVkZOT1JWSmxaSFZqWlhKY2JpQWdJQ0FnS2k5Y2JpQWdJQ0JqYjI1emRISjFZM1J2Y2lodmNIUnBiMjV6T2lCUGNIUnBiMjV6S1NCN1hHNGdJQ0FnSUNCemRYQmxjaWh2Y0hScGIyNXpLVHRjYmlBZ0lDQWdJSFJvYVhNdWNtVmtkV05sY2lBOUlHNWxkeUJVVTA1RktHOXdkR2x2Ym5NcE8xeHVJQ0FnSUNBZ2RHaHBjeTVwZEdWeVlYUnBiMjV6SUQwZ2IzQjBhVzl1Y3o4dWFYUmxjbUYwYVc5dWN5QS9QeUF4TURBN1hHNGdJQ0FnSUNCMGFHbHpMbVJwYzNSaGJtTmxSbTVoYldWeklEMGdiM0IwYVc5dWN5NWthWE4wWVc1alpVWnVZVzFsY3p0Y2JpQWdJQ0FnSUhSb2FYTXVaR2x6ZEdGdVkyVkdibk1nUFNCdmNIUnBiMjV6TG1ScGMzUmhibU5sUm01ek8xeHVJQ0FnSUNBZ2RHaHBjeTVrYVhOMFlXNWpaVVp1UVhKbmN5QTlJRzl3ZEdsdmJuTXVaR2x6ZEdGdVkyVkdia0Z5WjNNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1JXMWlaV1J6SUhSb1pTQmtZWFJoSUdkcGRtVnVJR2x1ZEc4Z2RHaGxJSFIzYnkxa2FXMWxibk5wYjI1aGJDQnpjR0ZqWlNCMWMybHVaeUIwTFZOT1JTQnRaWFJvYjJRdVhGeGNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2UySnZiMnhsWVc1OUlGdHdZWEpoYkd4bGJFUnBjM1JoYm1ObFYyOXlhMlZ5YzEwZ1YyaGxkR2hsY2lCMGJ5QjFjMlVnY0dGeVlXeHNaV3dnWkdsemRHRnVZMlVnZDI5eWEyVnljeTVjYmlBZ0lDQWdLaUJBY21WMGRYSnVJSHRoYm5sOUlFTmhjblJsYzJsaGJpQmpiMjl5WkdsdVlYUmxJRzltSUhSb2FYTWdaVzFpWldSa2FXNW5JR0Z1WkNCa2FYTjBZVzVqWlNCdFlYUnlhWGdnZDJobGNtVWdZWEJ3YkdsallXSnNaUzVjYmlBZ0lDQWdLaTljYmlBZ0lDQndkV0pzYVdNZ1lYTjVibU1nZEhKaGJuTm1iM0p0S0NrNklGQnliMjFwYzJVOFRXRjBjbWw0UGlCN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1a1lYUmhXekJkTG14bGJtZDBhQ0ErSURFd01EQXdLVnh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMDFoZUdsdGRXMGdiblZ0WW1WeUlHOW1JSE5oYlhCc1pYTWdabTl5SUZRdFUwNUZJR2x6SURFd01EQXdKeWs3WEc0Z0lDQWdJQ0JqYjI1emRDQnRZWFJ5YVhoVFpYSjJhV05sSUQwZ2JtVjNJRVJwYzNSaGJtTmxUV0YwY21sNFUyVnlkbWxqWlNoMGNuVmxMQ0JtWVd4elpTazdYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JoWjJkeVpXZGhkR1VnUFNCblpYUkJaMmR5WldkaGRHbHZia1oxYm1OMGFXOXVLSFJvYVhNdVlXZG5jbVZuWVhScGIyNU5aWFJvYjJRc0lIUm9hWE11ZDJWcFoyaDBjeWs3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1JwYzNSaGJtTmxjem9nUVhKeVlYazhSbXh2WVhRek1rRnljbUY1UGlBOUlGdGRPMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhSb2FYTXVaR0YwWVM1c1pXNW5kR2c3SUNzcmFTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR1JwYzNRZ1BTQmhkMkZwZENCdFlYUnlhWGhUWlhKMmFXTmxMbU5oYkdNb2RHaHBjeTVrWVhSaFcybGRMQ0IwYUdsekxtUnBjM1JoYm1ObFJtNWhiV1Z6VzJsZExDQm1ZV3h6WlN3Z2RHaHBjeTVrYVhOMFlXNWpaVVp1UVhKbmMxdHBYU2s3WEc0Z0lDQWdJQ0FnSUNBZ1pHbHpkR0Z1WTJWekxuQjFjMmdvWkdsemRDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaR2x6ZEdGdVkyVWdQU0J1WlhjZ1JteHZZWFF6TWtGeWNtRjVLR1JwYzNSaGJtTmxjMXN3WFM1c1pXNW5kR2dwTG1acGJHd29NQ2s3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z1pHbHpkR0Z1WTJWeld6QmRMbXhsYm1kMGFEc2dLeXRwS1Z4dUlDQWdJQ0FnSUNBZ0lHUnBjM1JoYm1ObFcybGRJRDBnWVdkbmNtVm5ZWFJsS0dScGMzUmhibU5sY3k1dFlYQW9LR1FwSUQwK0lHUmJhVjBwS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYldGMGNtbDRVSEp2ZUhrZ1BTQmthWE4wWVc1alpVMWhkSEpwZUZCeWIzaDVLR1JwYzNSaGJtTmxMQ0IwYUdsekxtUmhkR0ZiTUYwdWJHVnVaM1JvS1R0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV5WldSMVkyVnlMbWx1YVhSRVlYUmhSR2x6ZENodFlYUnlhWGhRY205NGVTazdYRzVjYmlBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMGFHbHpMbWwwWlhKaGRHbHZibk03SUNzcmFTbGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxuSmxaSFZqWlhJdWMzUmxjQ2dwT3lBdkx5QmxkbVZ5ZVNCMGFXMWxJSGx2ZFNCallXeHNJSFJvYVhNc0lITnZiSFYwYVc5dUlHZGxkSE1nWW1WMGRHVnlYRzRnSUNBZ0lDQWdJRzFoZEhKcGVGTmxjblpwWTJVdWRHVnliV2x1WVhSbEtDazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpIVmpaWEl1WjJWMFUyOXNkWFJwYjI0b0tUdGNiaUFnSUNBZ0lIMGdZMkYwWTJnZ0tHVXBJSHRjYmlBZ0lDQWdJQ0FnYldGMGNtbDRVMlZ5ZG1salpTNTBaWEp0YVc1aGRHVW9LVHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2daVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzU5WEc1Y2JtTnNZWE56SUZWTlFWQlNaV1IxWTJWeUlHVjRkR1Z1WkhNZ1RYVnNkR2xEYjJ4MWJXNVNaV1IxWTJWeUlIdGNiaUFnSUNCd2NtOTBaV04wWldRZ2NtVmtkV05sY2pvZ1ZVMUJVRHRjYmlBZ0lDQndjbTkwWldOMFpXUWdaR2x6ZEdGdVkyVkdibUZ0WlhNNklFdHViM2R1VFdWMGNtbGpjMXRkTzF4dUlDQWdJSEJ5YjNSbFkzUmxaQ0JrYVhOMFlXNWpaVVp1Y3pvZ1JuVnVZM1JwYjI1YlhUdGNiaUFnSUNCd2NtOTBaV04wWldRZ2RtVmpkRzl5Y3pvZ2JuVnRZbVZ5VzEwN1hHNGdJQ0FnY0hKdmRHVmpkR1ZrSUhCeWIyZHlaWE56Um5WdVl6ODZJQ2hsY0c5ak9pQnVkVzFpWlhJc0lHVndiMk5vYzB4bGJtZDBhRG9nYm5WdFltVnlMQ0JsYldKbFpHUnBibWR6T2lCdWRXMWlaWEpiWFZ0ZEtTQTlQaUIyYjJsa08xeHVJQ0FnSUhCeWIzUmxZM1JsWkNCa2FYTjBZVzVqWlVadVFYSm5jem9nZTF0Zk9pQnpkSEpwYm1kZE9pQmhibmw5VzEwN1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1EzSmxZWFJsY3lCaGJpQnBibk4wWVc1alpTQnZaaUJWVFVGUVVtVmtkV05sY2k1Y2JpQWdJQ0FnS2lCQWNHRnlZVzBnZTA5d2RHbHZibk45SUc5d2RHbHZibk1nVDNCMGFXOXVjeUIwYnlCd1lYTnpJSFJ2SUhSb1pTQmpiMjV6ZEhKMVkzUnZjaTVjYmlBZ0lDQWdLaUJBYldWdFltVnliMllnVlUxQlVGSmxaSFZqWlhKY2JpQWdJQ0FnS2k5Y2JpQWdJQ0JqYjI1emRISjFZM1J2Y2lodmNIUnBiMjV6T2lCUGNIUnBiMjV6S1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J5WVc1a2IyMVRaV1ZrT2lCemRISnBibWNnUFNCdmNIUnBiMjV6TG5KaGJtUnZiVk5sWldRZ1B6OGdSR0YwWlNncE8xeHVJQ0FnSUNBZ1kyOXVjM1FnY21GdVpHOXRSbTRnUFNCelpXVmtVbUZ1Wkc5dEtISmhibVJ2YlZObFpXUXBPMXh1SUNBZ0lDQWdZMjl1YzI5c1pTNXNiMmNvY21GdVpHOXRVMlZsWkNrN1hHNGdJQ0FnSUNCamIyNXpiMnhsTG14dlp5aHlZVzVrYjIxR2JpZ3BMQ0J5WVc1a2IyMUdiaWdwTENCeVlXNWtiMjFHYmlncEtUdGNiaUFnSUNBZ0lITjFjR1Z5S0c5d2RHbHZibk1wTzF4dUlDQWdJQ0FnWVhOelpYSjBLQ2RrYVhOMFlXNWpaVVp1WVcxbGN5Y2dhVzRnYjNCMGFXOXVjeWs3WEc0Z0lDQWdJQ0JoYzNObGNuUW9KMlJwYzNSaGJtTmxSbTV6SnlCcGJpQnZjSFJwYjI1ektUdGNiaUFnSUNBZ0lIUm9hWE11WkdsemRHRnVZMlZHYmtGeVozTWdQU0J2Y0hScGIyNXpMbVJwYzNSaGJtTmxSbTVCY21kek8xeHVJQ0FnSUNBZ2RHaHBjeTVrYVhOMFlXNWpaVVp1Y3lBOUlHOXdkR2x2Ym5NdVpHbHpkR0Z1WTJWR2JuTWhPMXh1SUNBZ0lDQWdkR2hwY3k1d2NtOW5jbVZ6YzBaMWJtTWdQU0J2Y0hScGIyNXpMbkJ5YjJkeVpYTnpSblZ1WXp0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVrYVhOMFlXNWpaVVp1WVcxbGN5QTlJRzl3ZEdsdmJuTXVaR2x6ZEdGdVkyVkdibUZ0WlhNaE8xeHVJQ0FnSUNBZ0x5OVZiV0Z3SUhWelpYTWdkbVZqZEc5eUlHbHVaR1Y0YVc1bkxDQnpieUIzWlNCdVpXVmtJSFJ2SUdOeVpXRjBaU0JoYmlCaGNuSmhlU0J2WmlCMlpXTjBiM0p6SUdGeklHbHVaR1ZqWlhNdVhHNGdJQ0FnSUNCMGFHbHpMblpsWTNSdmNuTWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NWtZWFJoV3pCZExteGxibWQwYUNrdVptbHNiQ2d3S1M1dFlYQW9LRjhzSUdrcElEMCtJR2twTzF4dVhHNGdJQ0FnSUNCcFppQW9kR2hwY3k1a1lYUmhXekJkTG14bGJtZDBhQ0E4SURFMUtWeHVJQ0FnSUNBZ0lDQnZjSFJwYjI1ekxtNU9aV2xuYUdKdmNuTWdQU0IwYUdsekxtUmhkR0ZiTUYwdWJHVnVaM1JvSUMwZ01UdGNiaUFnSUNBZ0lHOXdkR2x2Ym5NdWNtRnVaRzl0SUQwZ2NtRnVaRzl0Um00N1hHNGdJQ0FnSUNCMGFHbHpMbkpsWkhWalpYSWdQU0J1WlhjZ1ZVMUJVQ2h2Y0hScGIyNXpLVHRjYmlBZ0lDQWdJQzh2SUhSb2FYTXVjbVZrZFdObGNpNWthWE4wWVc1alpVWnVJRDBnZEdocGN5NWZaVzVqYjJSbFpFUnBjM1JoYm1ObExtSnBibVFvZEdocGN5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dSVzFpWldSeklIUm9aU0JrWVhSaElHZHBkbVZ1SUdsdWRHOGdkR2hsSUhSM2J5MWthVzFsYm5OcGIyNWhiQ0J6Y0dGalpTQjFjMmx1WnlCVlRVRlFJRzFsZEdodlpDNWNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2UySnZiMnhsWVc1OUlGdGZjR0Z5WVd4c1pXeEVhWE4wWVc1alpWZHZjbXRsY25OZElGZG9aWFJvWlhJZ2RHOGdkWE5sSUhCaGNtRnNiR1ZzSUdScGMzUmhibU5sSUcxaGRISnBlQ0IzYjNKclpYSnpMbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNGdlMkZ1ZVgwZ1EyRnlkR1Z6YVdGdUlHTnZiM0prYVc1aGRHVWdiMllnZEdocGN5QmxiV0psWkdScGJtY3VYRzRnSUNBZ0lDb3ZYRzRnSUNBZ2NIVmliR2xqSUdGemVXNWpJSFJ5WVc1elptOXliU2hmY0dGeVlXeHNaV3hFYVhOMFlXNWpaVmR2Y210bGNuTS9PaUJpYjI5c1pXRnVLVG9nVUhKdmJXbHpaVHhOWVhSeWFYZytJSHRjYmlBZ0lDQWdJR052Ym5OdmJHVXVkR2x0WlNnbmEyNXVJR2R5WVhCb0p5azdYRzRnSUNBZ0lDQmpiMjV6ZENCcmJtNVNaWE1nUFNCaGQyRnBkQ0J1WlhjZ1UzQmhjbk5sVFdGMGNtbDRVMlZ5ZG1salpTZ3BYRzRnSUNBZ0lDQWdJQzV0ZFd4MGFVTnZiSFZ0Ymt0T1RpaDBhR2x6TG1SaGRHRXNJSFJvYVhNdVpHbHpkR0Z1WTJWR2JtRnRaWE1zSUhSb2FYTXVjbVZrZFdObGNpNXVaV2xuYUdKdmNuTXNYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NWthWE4wWVc1alpVWnVRWEpuY3l3Z2RHaHBjeTUzWldsbmFIUnpMQ0IwYUdsekxtRm5aM0psWjJGMGFXOXVUV1YwYUc5a0tUdGNiaUFnSUNBZ0lHTnZibk52YkdVdWRHbHRaVVZ1WkNnbmEyNXVJR2R5WVhCb0p5azdYRzRnSUNBZ0lDQjBhR2x6TG5KbFpIVmpaWEl1YzJWMFVISmxZMjl0Y0hWMFpXUkxUazRvYTI1dVVtVnpMbXR1YmtsdVpHVjRaWE1zSUd0dWJsSmxjeTVyYm01RWFYTjBZVzVqWlhNcE8xeHVYRzRnSUNBZ0lDQXZMeUJ1WldWa1pXUWdjMjhnZEdoaGRDQm5ZWEppWVdkbElHTnZiR3hsWTNSdmNpQmpZVzRnWm5KbFpTQnRaVzF2Y25rZ1puSnZiU0JrYVhOMFlXNWpaU0J0WVhSeWFYaGNiaUFnSUNBZ0lHRjNZV2wwSUc1bGR5QlFjbTl0YVhObFBIWnZhV1ErS0NoeVpYTnZiSFpsS1NBOVBpQjdYRzRnSUNBZ0lDQWdJSE5sZEZScGJXVnZkWFFvS0NrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUhKbGMyOXNkbVVvS1R0Y2JpQWdJQ0FnSUNBZ2ZTd2dNekF3S1R0Y2JpQWdJQ0FnSUgwcE8xeHVYRzRnSUNBZ0lDQmpiMjV6ZENCbGJXSmxaR1JwYm1jZ1BTQmhkMkZwZENCMGFHbHpMbkpsWkhWalpYSXVabWwwUVhONWJtTW9kR2hwY3k1MlpXTjBiM0p6TENBb1pYQnZZeWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGN5NXdjbTluY21WemMwWjFibU1wWEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTV3Y205bmNtVnpjMFoxYm1Nb1pYQnZZeXdnZEdocGN5NXlaV1IxWTJWeUxtZGxkRTVGY0c5amFITW9LU3dnZEdocGN5NXlaV1IxWTJWeUxtZGxkRVZ0WW1Wa1pHbHVaeWdwS1R0Y2JpQWdJQ0FnSUgwcE8xeHVYRzRnSUNBZ0lDQm1kVzVqZEdsdmJpQmhjbkpoZVVOaGMzUXlRMjl2Y21ScGJtRjBaWE1vWkdGMFlUb2diblZ0WW1WeVcxMWJYU2s2SUVOdmIzSmthVzVoZEdWeklIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJCY25KaGVTaGtZWFJoTG14bGJtZDBhQ2t1Wm1sc2JDZ3dLUzV0WVhBb0tGOHNJR2twSUQwK0lDaFdaV04wYjNJdVpuSnZiU2hrWVhSaFcybGRLU2twTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnWVhKeVlYbERZWE4wTWtOdmIzSmthVzVoZEdWektHVnRZbVZrWkdsdVp5azdYRzRnSUNBZ2ZWeHVmVnh1WEc1amIyNXpkQ0JCZG1GcGJHRmliR1ZTWldSMVkyVnljeUE5SUh0Y2JpQWdKMVZOUVZBbk9pQlZUVUZRVW1Wa2RXTmxjaXhjYmlBZ0ozUXRVMDVGSnpvZ1ZGTk9SVkpsWkhWalpYSXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JMYm05M2JrMWxkR2h2WkhNZ1BTQnJaWGx2WmlCMGVYQmxiMllnUVhaaGFXeGhZbXhsVW1Wa2RXTmxjbk03WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJOZFd4MGFVTnZiRVJwYlZKbFpIVmpaWElnZTF4dUlDQWdJSEJ5YVhaaGRHVWdjbVZrZFdObGNqb2dUWFZzZEdsRGIyeDFiVzVTWldSMVkyVnlJSHdnZFc1a1pXWnBibVZrTzF4dUlDQWdJQzhxS2x4dUlDQWdLaUJEY21WaGRHVnpJR0Z1SUdsdWMzUmhibU5sSUc5bUlFUnBiV1Z1YzJsdmJtRnNhWFI1VW1Wa2RXTmxjaTVjYmlBZ0lDb2dRSEJoY21GdElIdGhibmxiWFgwZ1pHRjBZU0JXWldOMGIzSnpJSFJ2SUdWdFltVmtMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwdHViM2R1VFdWMGFHOWtjMzBnYldWMGFHOWtJRVZ0WW1Wa1pHbHVaeUJ0WlhSb2IyUWdkRzhnWW1VZ1lYQndiR2xsWkZ4dUlDQWdLaUJBY0dGeVlXMGdlMHR1YjNkdVRXVjBjbWxqYzMwZ2JXVjBjbWxqSUVScGMzUmhibU5sSUcxbGRISnBZeUIwYnlCaVpTQmpiMjF3ZFhSbFpDQmlaWFIzWldWdUlHVmhZMmdnYjJZZ2RHaGxJSFpsWTNSdmNuTXVYRzRnSUNBcUlFQndZWEpoYlNCN1QzQjBhVzl1YzMwZ1cyOXdkR2x2Ym5OZElFOXdkR2x2Ym5NZ2RHOGdjR0Z6Y3lCMGJ5QjBhR1VnYVcxd2JHVnRaVzUwYVc1bklHVnRZbVZrWkdWeWN5NWNiaUFnSUNvZ1FHMWxiV0psY205bUlFUnBiV1Z1YzJsdmJtRnNhWFI1VW1Wa2RXTmxjbHh1SUNBZ0tpOWNiaUFnSUNCamIyNXpkSEoxWTNSdmNpaGtZWFJoT2lCQmNuSmhlVHhoYm5sYlhUNHNJRzFsZEdodlpEb2dSR2x0VW1Wa2RXTjBhVzl1VFdWMGFHOWtjeXdnYldWMGNtbGpjem9nUzI1dmQyNU5aWFJ5YVdOelcxMHNYRzRnSUNBZ0lDQjNaV2xuYUhSek9pQnVkVzFpWlhKYlhTd2daR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiam9nUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaQ3dnYjNCMGFXOXVjem9nVDNCMGFXOXVjeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdiV1ZoYzNWeVpYTTZJRVJwYzNSaGJtTmxUV1YwY21salcxMGdQU0JiWFR0Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUdsa2VDQTlJREE3SUdsa2VDQThJRzFsZEhKcFkzTXViR1Z1WjNSb095QXJLMmxrZUNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdFpXRnpkWEpsSUQwZ2JtVjNJRTFsWVhOMWNtVW9iV1YwY21samMxdHBaSGhkS1M1blpYUk5aV0Z6ZFhKbEtHOXdkR2x2Ym5NdVpHbHpkR0Z1WTJWR2JrRnlaM05iYVdSNFhTazdYRzRnSUNBZ0lDQWdJRzFsWVhOMWNtVnpMbkIxYzJnb2JXVmhjM1Z5WlNrN1hHNGdJQ0FnSUNBZ0lHeGxkQ0JpYVhSQmNuSmhlVXhsYm1kMGFDQTlJREl3TkRnN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2daR0YwWVZ0cFpIaGRMbXhsYm1kMGFEc2dLeXRwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dSaGRHRmJhV1I0WFZ0cFhTQW1KaUJrWVhSaFcybGtlRjFiYVYwdVgyeGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWW1sMFFYSnlZWGxNWlc1bmRHZ2dQU0JrWVhSaFcybGtlRjFiYVYwdVgyeGxibWQwYUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCcFppQW9hWE5DYVhSQmNuSmhlVTFsZEhKcFl5aHRaWFJ5YVdOelcybGtlRjBwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JrWVhSaFcybGtlRjB1YkdWdVozUm9PeUFySzJrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGtZWFJoVzJsa2VGMWJhVjBnSmlZZ1pHRjBZVnRwWkhoZFcybGRMbDlrWVhSaEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCa1lYUmhXMmxrZUYxYmFWMGdQU0J1WlhjZ1FtbDBRWEp5WVhrb1pHRjBZVnRwWkhoZFcybGRMbDlrWVhSaExDQmtZWFJoVzJsa2VGMWJhVjB1WDJ4bGJtZDBhQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR1JoZEdGYmFXUjRYVnRwWFNBOUlHNWxkeUJDYVhSQmNuSmhlU2hpYVhSQmNuSmhlVXhsYm1kMGFDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2h0WlhSb2IyUWdQVDBnSjFWTlFWQW5LU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVjbVZrZFdObGNpQTlJRzVsZHlCVlRVRlFVbVZrZFdObGNpaDdYRzRnSUNBZ0lDQWdJQ0FnWkdGMFlUb2daR0YwWVN4Y2JpQWdJQ0FnSUNBZ0lDQmthWE4wWVc1alpVWnVZVzFsY3pvZ2JXVjBjbWxqY3l4Y2JpQWdJQ0FnSUNBZ0lDQmthWE4wWVc1alpVWnVjem9nYldWaGMzVnlaWE1zWEc0Z0lDQWdJQ0FnSUNBZ1pHbHpkR0Z1WTJWR2JrRnlaM002SUc5d2RHbHZibk11WkdsemRHRnVZMlZHYmtGeVozTXNYRzRnSUNBZ0lDQWdJQ0FnZDJWcFoyaDBjem9nZDJWcFoyaDBjeXhjYmlBZ0lDQWdJQ0FnSUNCaFoyZHlaV2RoZEdsdmJrMWxkR2h2WkRvZ1pHbHpkR0Z1WTJWQloyZHlaV2RoZEdsdmJpeGNiaUFnSUNBZ0lDQWdJQ0F1TGk1dmNIUnBiMjV6WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaHRaWFJvYjJRZ1BUMGdKM1F0VTA1Rkp5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuSmxaSFZqWlhJZ1BTQnVaWGNnVkZOT1JWSmxaSFZqWlhJb2UxeHVJQ0FnSUNBZ0lDQWdJR1JoZEdFNklHUmhkR0VzWEc0Z0lDQWdJQ0FnSUNBZ1pHbHpkR0Z1WTJWR2JtRnRaWE02SUcxbGRISnBZM01zWEc0Z0lDQWdJQ0FnSUNBZ1pHbHpkR0Z1WTJWR2JuTTZJRzFsWVhOMWNtVnpMRnh1SUNBZ0lDQWdJQ0FnSUdScGMzUmhibU5sUm01QmNtZHpPaUJ2Y0hScGIyNXpMbVJwYzNSaGJtTmxSbTVCY21kekxGeHVJQ0FnSUNBZ0lDQWdJSGRsYVdkb2RITTZJSGRsYVdkb2RITXNYRzRnSUNBZ0lDQWdJQ0FnWVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlE2SUdScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI0c1hHNGdJQ0FnSUNBZ0lDQWdMaTR1YjNCMGFXOXVjMXh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lwY2JpQWdJQ29nUlcxaVpXUnpJSFJvWlNCa1lYUmhJR2RwZG1WdUlHbHVkRzhnZEdobElIUjNieTFrYVcxbGJuTnBiMjVoYkNCemNHRmpaU0IxYzJsdVp5QjBhR1VnWTJodmMyVnVJRzFsZEdodlpDNWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0IwY21GdWMzQnZjMlVnVjJobGRHaGxjaUIwYnlCMGNtRnVjMlp2Y20wZ1kyOXZjbVJwYm1GMFpYTWdkRzhnYUdGMlpTQmpiMngxYlc1ekxXWnBjbk4wSUc5eWFXVnVkR0YwYVc5dUxseHVJQ0FnS2lCQWNHRnlZVzBnZTJKdmIyeGxZVzU5SUhCaGNtRnNiR1ZzUkdsemRHRnVZMlZYYjNKclpYSnpJRmRvWlhSb1pYSWdkRzhnZFhObElIQmhjbUZzYkdWc0lHUnBjM1JoYm1ObElHTnZiWEIxZEdGMGFXOXVMbHh1SUNBZ0tpQkFkR2h5YjNkeklIdEZjbkp2Y24wZ1NXWWdkR2hsSUdWdFltVmtaR2x1WnlCdFpYUm9iMlFnZDJGeklHNXZkQ0JtYjNWdVpDNWNiaUFnSUNvZ1FISmxkSFZ5YmlCN1lXNTVmU0JEWVhKMFpYTnBZVzRnWTI5dmNtUnBibUYwWlNCdlppQjBhR2x6SUdWdFltVmtaR2x1WnlCaGJtUWdaR2x6ZEdGdVkyVWdiV0YwY21sNElIZG9aWEpsSUdGd2NHeHBZMkZpYkdVdVhHNGdJQ0FxSUVCdFpXMWlaWEp2WmlCRWFXMWxibk5wYjI1aGJHbDBlVkpsWkhWalpYSmNiaUFnSUNvdlhHNGdJQ0FnY0hWaWJHbGpJR0Z6ZVc1aklIUnlZVzV6Wm05eWJTaDBjbUZ1YzNCdmMyVTZJR0p2YjJ4bFlXNGdQU0JtWVd4elpTazZJRkJ5YjIxcGMyVThUV0YwY21sNFBpQjdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXlaV1IxWTJWeUlEMDlQU0IxYm1SbFptbHVaV1FwWEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVW1Wa2RXTmxjaUIzWVhNZ2JtOTBJR1JsWm1sdVpXUXVKeWs3WEc1Y2JpQWdJQ0FnSUd4bGRDQmxiV0psWkdScGJtY2dQU0JoZDJGcGRDQjBhR2x6TG5KbFpIVmpaWEl1ZEhKaGJuTm1iM0p0S0NrN1hHNWNiaUFnSUNBZ0lHbG1JQ2gwY21GdWMzQnZjMlVwWEc0Z0lDQWdJQ0FnSUdWdFltVmtaR2x1WnlBOUlIUnlZVzV6Y0c5elpVMWhkSEpwZUNobGJXSmxaR1JwYm1jcE8xeHVYRzRnSUNBZ0lDQnlaWFIxY200Z1pXMWlaV1JrYVc1bk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUcxbGRISnBZM01nWVhaaGFXeGhZbXhsSUdKNUlIUjVjR1V1WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCN1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWemZTQjBlWEJsVG1GdFpTQjBlWEJsSUc1aGJXVmNiaUFnSUNvZ1FISmxkSFZ5YmlCN2MzUnlhVzVuVzExOUlFMWxkSEpwWXlCdVlXMWxjeUIzYUdsamFDQmxlSEJsWTNSeklIUm9aU0JuYVhabGJpQmtZWFJoSUhSNWNHVmNiaUFnSUNvZ1FHMWxiV0psY205bUlFUnBiV1Z1YzJsdmJtRnNhWFI1VW1Wa2RXTmxjbHh1SUNBZ0tpOWNiaUFnSUNCemRHRjBhV01nWVhaaGFXeGhZbXhsVFdWMGNtbGpjMEo1Vkhsd1pTaDBlWEJsVG1GdFpUb2dRWFpoYVd4aFlteGxSR0YwWVZSNWNHVnpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdUMkpxWldOMExtdGxlWE1vUVhaaGFXeGhZbXhsVFdWMGNtbGpjMXQwZVhCbFRtRnRaVjBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJR1JwYldWdWMybHZibUZzYVhSNUlISmxaSFZqZEdsdmJpQnRaWFJvYjJSeklHRjJZV2xzWVdKc1pTNWNiaUFnSUNwY2JpQWdJQ29nUUhKbFlXUnZibXg1WEc0Z0lDQXFJRUJ0WlcxaVpYSnZaaUJFYVcxbGJuTnBiMjVoYkdsMGVWSmxaSFZqWlhKY2JpQWdJQ292WEc0Z0lDQWdjM1JoZEdsaklHZGxkQ0JoZG1GcGJHRmliR1ZOWlhSb2IyUnpLQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRTlpYW1WamRDNXJaWGx6S0VGMllXbHNZV0pzWlZKbFpIVmpaWEp6S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJ0WlhSeWFXTnpJR0YyWVdsc1lXSnNaUzVjYmlBZ0lDcGNiaUFnSUNvZ1FISmxZV1J2Ym14NVhHNGdJQ0FxSUVCdFpXMWlaWEp2WmlCRWFXMWxibk5wYjI1aGJHbDBlVkpsWkhWalpYSmNiaUFnSUNvdlhHNGdJQ0FnYzNSaGRHbGpJR2RsZENCaGRtRnBiR0ZpYkdWTlpYUnlhV056S0NrZ2UxeHVJQ0FnSUNBZ2JHVjBJR0Z1Y3pvZ2MzUnlhVzVuVzEwZ1BTQmJYVHRjYmlBZ0lDQWdJRTlpYW1WamRDNTJZV3gxWlhNb1FYWmhhV3hoWW14bFRXVjBjbWxqY3lrdVptOXlSV0ZqYUNnb2IySnFLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdGeWNtRjVJRDBnVDJKcVpXTjBMblpoYkhWbGN5aHZZbW9wTzF4dUlDQWdJQ0FnSUNCaGJuTWdQU0JiTGk0dVlXNXpMQ0F1TGk1aGNuSmhlVjA3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoYm5NN1hHNGdJQ0FnZlZ4dWZWeHVJbDE5IiwiLyoqIFByb3h5IGZvciBEaXN0YW5jZU1hdHJpeCBjbGFzcy4gQWxsb3dzIHRvIGluZGV4IG1hdHJpeCBhcyBtYXRyaXhbaV1bal1cbiAqIE5vdGU6IG11Y2ggc2xvd2VyIHRoYW4gZGlyZWN0IGluZGV4aW5nLCBidXQgc3RpbGwgbXVjaCBmYXN0ZXIgdGhhbiByZWNhbGN1bGF0aW5nIGRpc3RhbmNlcy5cbiAqIHdpbGwgYmUgdXNlZCBmb3IgVC1TTkUgbWFpbmx5LlxuICogQHBhcmFtIHtGbG9hdDMyQXJyYXl9Y29uZGVuc2VkQXJyYXkgLSBhcnJheSBvZiBkaXN0YW5jZXMgYmV0d2VlbiBhbGwgcGFpcnMgb2Ygb2JqZWN0c1xuICogQHBhcmFtIHtudW1iZXJ9c2l6ZSAtIG51bWJlciBvZiBjb21wYXJlYmxlcyBpbiBtYXRyaXhcbiAqIEByZXR1cm4ge0Zsb2F0MzJBcnJheX0gLSBwcm94eSBmb3IgY29uZGVuc2VkQXJyYXlcbiovXG5leHBvcnQgZnVuY3Rpb24gZGlzdGFuY2VNYXRyaXhQcm94eShjb25kZW5zZWRBcnJheSwgc2l6ZSkge1xuICAgIGNvbnN0IGxpbmVhckZ1bmMgPSBkbUxpbmVhckluZGV4KHNpemUpO1xuICAgIGZ1bmN0aW9uIGxpbmVhckluZGV4KGksIGopIHtcbiAgICAgICAgY29uc3QgaU51bSA9IE51bWJlcihpKTtcbiAgICAgICAgY29uc3Qgak51bSA9IE51bWJlcihqKTtcbiAgICAgICAgcmV0dXJuIGxpbmVhckZ1bmMoaU51bSwgak51bSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlkeDJIYW5kbGVyKGlkeDEpIHtcbiAgICAgICAgcmV0dXJuICh7XG4gICAgICAgICAgICBnZXQodGFyZ2V0LCBpZHgyLCBfcmVjZWl2ZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAoaWR4MSA9PT0gaWR4MilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICAgICAgY29uc3QgbGluZWFySWR4ID0gTnVtYmVyKGlkeDEpID4gTnVtYmVyKGlkeDIpID8gbGluZWFySW5kZXgoaWR4MiwgaWR4MSkgOiBsaW5lYXJJbmRleChpZHgxLCBpZHgyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0W2xpbmVhcklkeF07XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaWR4MUhhbmRsZXIgPSB7XG4gICAgICAgIGdldCh0YXJnZXQsIGlkeDEsIF9yZWNlaXZlcikge1xuICAgICAgICAgICAgaWYgKGlkeDEgPT09ICdsZW5ndGgnKVxuICAgICAgICAgICAgICAgIHJldHVybiBzaXplO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm94eSh0YXJnZXQsIGlkeDJIYW5kbGVyKGlkeDEpKTtcbiAgICAgICAgfSxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgUHJveHkoY29uZGVuc2VkQXJyYXksIGlkeDFIYW5kbGVyKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBkbUxpbmVhckluZGV4KHNpemUpIHtcbiAgICByZXR1cm4gKGksIGopID0+IHNpemUgKiBpICsgaiAtIE1hdGguZmxvb3IoKChpICsgMikgKiAoaSArIDEpKSAvIDIpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pY0hKdmVIa3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKd2NtOTRlUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFUczdPenM3TzBWQlRVVTdRVUZEUml4TlFVRk5MRlZCUVZVc2JVSkJRVzFDTEVOQlFVTXNZMEZCTkVJc1JVRkJSU3hKUVVGWk8wbEJRelZGTEUxQlFVMHNWVUZCVlN4SFFVRkhMR0ZCUVdFc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU4yUXl4VFFVRlRMRmRCUVZjc1EwRkJReXhEUVVGclFpeEZRVUZGTEVOQlFXdENPMUZCUTNwRUxFMUJRVTBzU1VGQlNTeEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOMlFpeE5RVUZOTEVsQlFVa3NSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGRrSXNUMEZCVHl4VlFVRlZMRU5CUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlEyaERMRU5CUVVNN1NVRkZSQ3hUUVVGVExGZEJRVmNzUTBGQlF5eEpRVUZ4UWp0UlFVTjRReXhQUVVGUExFTkJRMHc3V1VGRFJTeEhRVUZITEVOQlFVTXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hUUVVGVE8yZENRVU42UWl4SlFVRkpMRWxCUVVrc1MwRkJTeXhKUVVGSk8yOUNRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMmRDUVVNMVFpeE5RVUZOTEZOQlFWTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMmRDUVVOc1J5eFBRVUZQTEUxQlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVNelFpeERRVUZETzFOQlEwWXNRMEZEUml4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVORUxFMUJRVTBzVjBGQlZ5eEhRVUVyUWp0UlFVTTVReXhIUVVGSExFTkJRVU1zVFVGQlRTeEZRVUZGTEVsQlFVa3NSVUZCUlN4VFFVRlRPMWxCUTNwQ0xFbEJRVWtzU1VGQlNTeExRVUZMTEZGQlFWRTdaMEpCUVVVc1QwRkJUeXhKUVVGSkxFTkJRVU03V1VGRGJrTXNUMEZCVHl4SlFVRkpMRXRCUVVzc1EwRkJReXhOUVVGTkxFVkJRVVVzVjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRPVU1zUTBGQlF6dExRVU5HTEVOQlFVTTdTVUZGUml4UFFVRlBMRWxCUVVrc1MwRkJTeXhEUVVGRExHTkJRV01zUlVGQlJTeFhRVUZYTEVOQlFVTXNRMEZCUXp0QlFVTm9SQ3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdGQlFXRXNRMEZCUXl4SlFVRlpPMGxCUTNoRExFOUJRVThzUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXl4RlFVRkZMRVZCUVVVc1EwRkJReXhKUVVGSkxFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOMFJpeERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVhHNWNiaThxS2lCUWNtOTRlU0JtYjNJZ1JHbHpkR0Z1WTJWTllYUnlhWGdnWTJ4aGMzTXVJRUZzYkc5M2N5QjBieUJwYm1SbGVDQnRZWFJ5YVhnZ1lYTWdiV0YwY21sNFcybGRXMnBkWEc0Z0tpQk9iM1JsT2lCdGRXTm9JSE5zYjNkbGNpQjBhR0Z1SUdScGNtVmpkQ0JwYm1SbGVHbHVaeXdnWW5WMElITjBhV3hzSUcxMVkyZ2dabUZ6ZEdWeUlIUm9ZVzRnY21WallXeGpkV3hoZEdsdVp5QmthWE4wWVc1alpYTXVYRzRnS2lCM2FXeHNJR0psSUhWelpXUWdabTl5SUZRdFUwNUZJRzFoYVc1c2VTNWNiaUFxSUVCd1lYSmhiU0I3Um14dllYUXpNa0Z5Y21GNWZXTnZibVJsYm5ObFpFRnljbUY1SUMwZ1lYSnlZWGtnYjJZZ1pHbHpkR0Z1WTJWeklHSmxkSGRsWlc0Z1lXeHNJSEJoYVhKeklHOW1JRzlpYW1WamRITmNiaUFxSUVCd1lYSmhiU0I3Ym5WdFltVnlmWE5wZW1VZ0xTQnVkVzFpWlhJZ2IyWWdZMjl0Y0dGeVpXSnNaWE1nYVc0Z2JXRjBjbWw0WEc0Z0tpQkFjbVYwZFhKdUlIdEdiRzloZERNeVFYSnlZWGw5SUMwZ2NISnZlSGtnWm05eUlHTnZibVJsYm5ObFpFRnljbUY1WEc0cUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHUnBjM1JoYm1ObFRXRjBjbWw0VUhKdmVIa29ZMjl1WkdWdWMyVmtRWEp5WVhrNklFWnNiMkYwTXpKQmNuSmhlU3dnYzJsNlpUb2diblZ0WW1WeUtUb2dSbXh2WVhRek1rRnljbUY1SUh0Y2JpQWdZMjl1YzNRZ2JHbHVaV0Z5Um5WdVl5QTlJR1J0VEdsdVpXRnlTVzVrWlhnb2MybDZaU2s3WEc0Z0lHWjFibU4wYVc5dUlHeHBibVZoY2tsdVpHVjRLR2s2SUhONWJXSnZiQ0I4SUhOMGNtbHVaeXdnYWpvZ2MzbHRZbTlzSUh3Z2MzUnlhVzVuS1NCN1hHNGdJQ0FnWTI5dWMzUWdhVTUxYlNBOUlFNTFiV0psY2locEtUdGNiaUFnSUNCamIyNXpkQ0JxVG5WdElEMGdUblZ0WW1WeUtHb3BPMXh1SUNBZ0lISmxkSFZ5YmlCc2FXNWxZWEpHZFc1aktHbE9kVzBzSUdwT2RXMHBPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnYVdSNE1raGhibVJzWlhJb2FXUjRNVG9nYzNsdFltOXNJSHdnYzNSeWFXNW5LVHBRY205NGVVaGhibVJzWlhJOFJteHZZWFF6TWtGeWNtRjVQaUI3WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdaMlYwS0hSaGNtZGxkQ3dnYVdSNE1pd2dYM0psWTJWcGRtVnlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR2xrZURFZ1BUMDlJR2xrZURJcElISmxkSFZ5YmlBd08xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHeHBibVZoY2tsa2VDQTlJRTUxYldKbGNpaHBaSGd4S1NBK0lFNTFiV0psY2locFpIZ3lLU0EvSUd4cGJtVmhja2x1WkdWNEtHbGtlRElzSUdsa2VERXBJRG9nYkdsdVpXRnlTVzVrWlhnb2FXUjRNU3dnYVdSNE1pazdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJoY21kbGRGdHNhVzVsWVhKSlpIaGRPMXh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ2s3WEc0Z0lIMWNiaUFnWTI5dWMzUWdhV1I0TVVoaGJtUnNaWEk2SUZCeWIzaDVTR0Z1Wkd4bGNqeEdiRzloZERNeVFYSnlZWGsrSUQwZ2UxeHVJQ0FnSUdkbGRDaDBZWEpuWlhRc0lHbGtlREVzSUY5eVpXTmxhWFpsY2lrZ2UxeHVJQ0FnSUNBZ2FXWWdLR2xrZURFZ1BUMDlJQ2RzWlc1bmRHZ25LU0J5WlhSMWNtNGdjMmw2WlR0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VISnZlSGtvZEdGeVoyVjBMQ0JwWkhneVNHRnVaR3hsY2locFpIZ3hLU2s3WEc0Z0lDQWdmU3hjYmlBZ2ZUdGNibHh1SUNCeVpYUjFjbTRnYm1WM0lGQnliM2g1S0dOdmJtUmxibk5sWkVGeWNtRjVMQ0JwWkhneFNHRnVaR3hsY2lrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJrYlV4cGJtVmhja2x1WkdWNEtITnBlbVU2SUc1MWJXSmxjaWs2SUNocE9pQnVkVzFpWlhJc0lHbzZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUNocE9pQnVkVzFpWlhJc0lHbzZJRzUxYldKbGNpa2dQVDRnYzJsNlpTQXFJR2tnS3lCcUlDMGdUV0YwYUM1bWJHOXZjaWdvS0drZ0t5QXlLU0FxSUNocElDc2dNU2twSUM4Z01pazdYRzU5WEc0aVhYMD0iLCJpbXBvcnQgeyBNdWx0aUNvbERpbVJlZHVjZXIgfSBmcm9tICcuL211bHRpLWNvbHVtbi1kaW0tcmVkdWNlcic7XG4vKipcbiAqIFdvcmtlciB0aHJlYWQgcmVjZWl2aW5nIGRhdGEgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIHthbnlbXX0gY29sdW1uRGF0YSBTYW1wbGVzIHRvIHByb2Nlc3MuXG4gKiBAcGFyYW0ge0tub3duTWV0aG9kc30gbWV0aG9kIEVtYmVkZGluZyBtZXRob2QuXG4gKiBAcGFyYW0ge0tub3duTWV0cmljc30gbWVhc3VyZSBEaXN0YW5jZSBtZXRyaWMuXG4gKiBAcGFyYW0ge2FueX0gb3B0aW9ucyBPcHRpb25zIHRvIHBhc3MgdG8gYWxnb3JpdGhtLlxuICogQHBhcmFtIHtib29sZWFufSBwYXJhbGxlbERpc3RhbmNlV29ya2VycyBXaGV0aGVyIHRvIHVzZSBwYXJhbGxlbCBkaXN0YW5jZSB3b3JrZXJzLlxuICogQHJldHVybiB7YW55fSBFbWJlZGRpbmcgKGFuZCBkaXN0YW5jZSBtYXRyaXggd2hlcmUgYXBwbGljYWJsZSkuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIG9uTWVzc2FnZShjb2x1bW5zRGF0YSwgbWV0aG9kLCBtZXRyaWNzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCwgb3B0aW9ucykge1xuICAgIGNvbnN0IHJlZHVjZXIgPSBuZXcgTXVsdGlDb2xEaW1SZWR1Y2VyKGNvbHVtbnNEYXRhLCBtZXRob2QsIG1ldHJpY3MsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kLCB7IC4uLm9wdGlvbnMsIHByb2dyZXNzRnVuYyB9KTtcbiAgICByZXR1cm4gYXdhaXQgcmVkdWNlci50cmFuc2Zvcm0odHJ1ZSk7XG59XG5hc3luYyBmdW5jdGlvbiBwcm9ncmVzc0Z1bmMoZXBvY2hOdW0sIGVwb2Noc0xlbmd0aCwgZW1iZWRkaW5nKSB7XG4gICAgaWYgKGVwb2NoTnVtICUgNSA9PT0gMClcbiAgICAgICAgc2VsZi5wb3N0TWVzc2FnZSh7IGVwb2NoTnVtLCBlcG9jaHNMZW5ndGgsIGVtYmVkZGluZyB9KTtcbn1cbnNlbGYub25tZXNzYWdlID0gYXN5bmMgKHsgZGF0YTogeyBjb2x1bW5zRGF0YSwgbWV0aG9kLCBkaXN0YW5jZU1ldHJpY3MsIG9wdGlvbnMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kIH0gfSkgPT4ge1xuICAgIGxldCBkYXRhO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGVtYmVkZGluZyA9IGF3YWl0IG9uTWVzc2FnZShjb2x1bW5zRGF0YSwgbWV0aG9kLCBkaXN0YW5jZU1ldHJpY3MsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kLCBvcHRpb25zKTtcbiAgICAgICAgZGF0YSA9IHsgZW1iZWRkaW5nIH07XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIGRhdGEgPSB7IGVycm9yOiBlIH07XG4gICAgfVxuICAgIHNlbGYucG9zdE1lc3NhZ2Uoe1xuICAgICAgICBlcnJvcjogZGF0YS5lcnJvcixcbiAgICAgICAgZW1iZWRkaW5nOiBkYXRhLmVtYmVkZGluZyxcbiAgICB9KTtcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2liWFZzYVhRdFkyOXNkVzF1TFdScGJTMXlaV1IxWTJWeUxYZHZjbXRsY2k1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJbTExYkdsMExXTnZiSFZ0Ymkxa2FXMHRjbVZrZFdObGNpMTNiM0pyWlhJdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJTVUVzVDBGQlR5eEZRVUZETEd0Q1FVRnJRaXhGUVVGRExFMUJRVTBzTkVKQlFUUkNMRU5CUVVNN1FVRkZPVVE3T3pzN096czdPenRIUVZOSE8wRkJRMGdzUzBGQlN5eFZRVUZWTEZOQlFWTXNRMEZCUXl4WFFVRjVRaXhGUVVGRkxFMUJRVEpDTEVWQlFVVXNUMEZCZFVJc1JVRkRkRWNzVDBGQmFVSXNSVUZCUlN4cFFrRkJORU1zUlVGREwwUXNUMEZCV1R0SlFVTmFMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzYTBKQlFXdENMRU5CUTNCRExGZEJRVmNzUlVGRFdDeE5RVUZOTEVWQlEwNHNUMEZCVHl4RlFVTlFMRTlCUVU4c1JVRkRVQ3hwUWtGQmFVSXNSVUZEYWtJc1JVRkJReXhIUVVGSExFOUJRVThzUlVGQlJTeFpRVUZaTEVWQlFVTXNRMEZETTBJc1EwRkJRenRKUVVOR0xFOUJRVThzVFVGQlRTeFBRVUZQTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wRkJRM1pETEVOQlFVTTdRVUZGUkN4TFFVRkxMRlZCUVZVc1dVRkJXU3hEUVVGRExGRkJRV2RDTEVWQlFVVXNXVUZCYjBJc1JVRkJSU3hUUVVGeFFqdEpRVU4yUml4SlFVRkpMRkZCUVZFc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF6dFJRVU53UWl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFVkJRVU1zVVVGQlVTeEZRVUZGTEZsQlFWa3NSVUZCUlN4VFFVRlRMRVZCUVVNc1EwRkJReXhEUVVGRE8wRkJRekZFTEVOQlFVTTdRVUZGUkN4SlFVRkpMRU5CUVVNc1UwRkJVeXhIUVVGSExFdEJRVXNzUlVGQlJTeEZRVUZETEVsQlFVa3NSVUZCUlN4RlFVRkRMRmRCUVZjc1JVRkJSU3hOUVVGTkxFVkJRVVVzWlVGQlpTeEZRVUZGTEU5QlFVOHNSVUZCUlN4UFFVRlBMRVZCUVVVc2FVSkJRV2xDTEVWQlFVTXNSVUZCUXl4RlFVRkZMRVZCUVVVN1NVRkROMGNzU1VGQlNTeEpRVUZ2UXl4RFFVRkRPMGxCUTNwRExFbEJRVWs3VVVGRFJpeE5RVUZOTEZOQlFWTXNSMEZCUnl4TlFVRk5MRk5CUVZNc1EwRkJReXhYUVVGWExFVkJRVVVzVFVGQlRTeEZRVUZGTEdWQlFXVXNSVUZCUlN4UFFVRlBMRVZCUVVVc2FVSkJRV2xDTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkROMGNzU1VGQlNTeEhRVUZITEVWQlFVTXNVMEZCVXl4RlFVRkRMRU5CUVVNN1MwRkRjRUk3U1VGQlF5eFBRVUZQTEVOQlFVMHNSVUZCUlR0UlFVTm1MRWxCUVVrc1IwRkJSeXhGUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEVWQlFVTXNRMEZCUXp0TFFVTnVRanRKUVVORUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTTdVVUZEWml4TFFVRkxMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXM3VVVGRGFrSXNVMEZCVXl4RlFVRkZMRWxCUVVrc1EwRkJReXhUUVVGVE8wdEJRekZDTEVOQlFVTXNRMEZCUXp0QlFVTk1MRU5CUVVNc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3VFdGMGNtbDRmU0JtY205dElDZEFaR0YwWVdkeWIyc3RiR2xpY21GeWFXVnpMM1YwYVd4ekwzTnlZeTkwZVhCbExXUmxZMnhoY21GMGFXOXVjeWM3WEc1cGJYQnZjblFnZTB0dWIzZHVUV1YwY21samMzMGdabkp2YlNBbkxpNHZkSGx3WldRdGJXVjBjbWxqY3k5MGVYQmxaQzF0WlhSeWFXTnpKenRjYm1sdGNHOXlkQ0I3UkdsdFVtVmtkV04wYVc5dVRXVjBhRzlrYzMwZ1puSnZiU0FuTGk5MGVYQmxjeWM3WEc1cGJYQnZjblFnZTBScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlI5SUdaeWIyMGdKeTR1TDJScGMzUmhibU5sTFcxaGRISnBlQzkwZVhCbGN5YzdYRzVwYlhCdmNuUWdlMDExYkhScFEyOXNSR2x0VW1Wa2RXTmxjbjBnWm5KdmJTQW5MaTl0ZFd4MGFTMWpiMngxYlc0dFpHbHRMWEpsWkhWalpYSW5PMXh1WEc0dktpcGNiaUFxSUZkdmNtdGxjaUIwYUhKbFlXUWdjbVZqWldsMmFXNW5JR1JoZEdFZ1puVnVZM1JwYjI0dVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0aGJubGJYWDBnWTI5c2RXMXVSR0YwWVNCVFlXMXdiR1Z6SUhSdklIQnliMk5sYzNNdVhHNGdLaUJBY0dGeVlXMGdlMHR1YjNkdVRXVjBhRzlrYzMwZ2JXVjBhRzlrSUVWdFltVmtaR2x1WnlCdFpYUm9iMlF1WEc0Z0tpQkFjR0Z5WVcwZ2UwdHViM2R1VFdWMGNtbGpjMzBnYldWaGMzVnlaU0JFYVhOMFlXNWpaU0J0WlhSeWFXTXVYRzRnS2lCQWNHRnlZVzBnZTJGdWVYMGdiM0IwYVc5dWN5QlBjSFJwYjI1eklIUnZJSEJoYzNNZ2RHOGdZV3huYjNKcGRHaHRMbHh1SUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCd1lYSmhiR3hsYkVScGMzUmhibU5sVjI5eWEyVnljeUJYYUdWMGFHVnlJSFJ2SUhWelpTQndZWEpoYkd4bGJDQmthWE4wWVc1alpTQjNiM0pyWlhKekxseHVJQ29nUUhKbGRIVnliaUI3WVc1NWZTQkZiV0psWkdScGJtY2dLR0Z1WkNCa2FYTjBZVzVqWlNCdFlYUnlhWGdnZDJobGNtVWdZWEJ3YkdsallXSnNaU2t1WEc0Z0tpOWNibUZ6ZVc1aklHWjFibU4wYVc5dUlHOXVUV1Z6YzJGblpTaGpiMngxYlc1elJHRjBZVG9nUVhKeVlYazhZVzU1VzEwK0xDQnRaWFJvYjJRNklFUnBiVkpsWkhWamRHbHZiazFsZEdodlpITXNJRzFsZEhKcFkzTTZJRXR1YjNkdVRXVjBjbWxqYzF0ZExGeHVJQ0IzWldsbmFIUnpPaUJ1ZFcxaVpYSmJYU3dnWVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlE2SUVScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFzWEc0Z0lHOXdkR2x2Ym5NNklHRnVlU2s2SUZCeWIyMXBjMlU4VFdGMGNtbDRQaUI3WEc0Z0lHTnZibk4wSUhKbFpIVmpaWElnUFNCdVpYY2dUWFZzZEdsRGIyeEVhVzFTWldSMVkyVnlLRnh1SUNBZ0lHTnZiSFZ0Ym5ORVlYUmhMRnh1SUNBZ0lHMWxkR2h2WkN4Y2JpQWdJQ0J0WlhSeWFXTnpMRnh1SUNBZ0lIZGxhV2RvZEhNc1hHNGdJQ0FnWVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFzWEc0Z0lDQWdleTR1TG05d2RHbHZibk1zSUhCeWIyZHlaWE56Um5WdVkzMWNiaUFnS1R0Y2JpQWdjbVYwZFhKdUlHRjNZV2wwSUhKbFpIVmpaWEl1ZEhKaGJuTm1iM0p0S0hSeWRXVXBPMXh1ZlZ4dVhHNWhjM2x1WXlCbWRXNWpkR2x2YmlCd2NtOW5jbVZ6YzBaMWJtTW9aWEJ2WTJoT2RXMDZJRzUxYldKbGNpd2daWEJ2WTJoelRHVnVaM1JvT2lCdWRXMWlaWElzSUdWdFltVmtaR2x1WnpvZ2JuVnRZbVZ5VzExYlhTa2dlMXh1SUNCcFppQW9aWEJ2WTJoT2RXMGdKU0ExSUQwOVBTQXdLVnh1SUNBZ0lITmxiR1l1Y0c5emRFMWxjM05oWjJVb2UyVndiMk5vVG5WdExDQmxjRzlqYUhOTVpXNW5kR2dzSUdWdFltVmtaR2x1WjMwcE8xeHVmVnh1WEc1elpXeG1MbTl1YldWemMyRm5aU0E5SUdGemVXNWpJQ2g3WkdGMFlUb2dlMk52YkhWdGJuTkVZWFJoTENCdFpYUm9iMlFzSUdScGMzUmhibU5sVFdWMGNtbGpjeXdnYjNCMGFXOXVjeXdnZDJWcFoyaDBjeXdnWVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlI5ZlNrZ1BUNGdlMXh1SUNCc1pYUWdaR0YwWVRvZ2UyVnljbTl5UHpvZ1lXNTVMQ0JsYldKbFpHUnBibWMvT2lCaGJubDlPMXh1SUNCMGNua2dlMXh1SUNBZ0lHTnZibk4wSUdWdFltVmtaR2x1WnlBOUlHRjNZV2wwSUc5dVRXVnpjMkZuWlNoamIyeDFiVzV6UkdGMFlTd2diV1YwYUc5a0xDQmthWE4wWVc1alpVMWxkSEpwWTNNc0lIZGxhV2RvZEhNc0lHRm5aM0psWjJGMGFXOXVUV1YwYUc5a0xDQnZjSFJwYjI1ektUdGNiaUFnSUNCa1lYUmhJRDBnZTJWdFltVmtaR2x1WjMwN1hHNGdJSDBnWTJGMFkyZ2dLR1U2SUdGdWVTa2dlMXh1SUNBZ0lHUmhkR0VnUFNCN1pYSnliM0k2SUdWOU8xeHVJQ0I5WEc0Z0lITmxiR1l1Y0c5emRFMWxjM05oWjJVb2UxeHVJQ0FnSUdWeWNtOXlPaUJrWVhSaExtVnljbTl5TEZ4dUlDQWdJR1Z0WW1Wa1pHbHVaem9nWkdGMFlTNWxiV0psWkdScGJtY3NYRzRnSUgwcE8xeHVmVHRjYmlKZGZRPT0iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVFNORSA9IHZvaWQgMDtcbnZhciB0c25lXzEgPSByZXF1aXJlKFwiLi90c25lXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVFNORVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdHNuZV8xLlRTTkU7IH0gfSk7XG4iLCJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuVFNORSA9IHZvaWQgMDtcbmNsYXNzIFRTTkUge1xuICAgIGNvbnN0cnVjdG9yKG9wdCkge1xuICAgICAgICAvLyByZXR1cm4gMCBtZWFuIHVuaXQgc3RhbmRhcmQgZGV2aWF0aW9uIHJhbmRvbSBudW1iZXJcbiAgICAgICAgdGhpcy5yZXR1cm5WID0gZmFsc2U7XG4gICAgICAgIHRoaXMudlZhbHVlID0gMC4wO1xuICAgICAgICB0aGlzLml0ZXIgPSAwO1xuICAgICAgICBvcHQgPSBvcHQgfHwge307XG4gICAgICAgIHRoaXMucGVycGxleGl0eSA9IHRoaXMuZ2V0b3B0KG9wdCwgJ3BlcnBsZXhpdHknLCAzMCk7IC8vIGVmZmVjdGl2ZSBudW1iZXIgb2YgbmVhcmVzdCBuZWlnaGJvcnNcbiAgICAgICAgdGhpcy5kaW0gPSB0aGlzLmdldG9wdChvcHQsICdkaW0nLCAyKTsgLy8gYnkgZGVmYXVsdCAyLUQgdFNORVxuICAgICAgICB0aGlzLmVwc2lsb24gPSB0aGlzLmdldG9wdChvcHQsICdlcHNpbG9uJywgMTApOyAvLyBsZWFybmluZyByYXRlXG4gICAgfVxuICAgIGFzc2VydChjb25kaXRpb24sIG1lc3NhZ2UpIHtcbiAgICAgICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG1lc3NhZ2UgfHwgJ0Fzc2VydGlvbiBmYWlsZWQnO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIHN5bnRheCBzdWdhclxuICAgIGdldG9wdChvcHQsIGZpZWxkLCBkZWZhdWx0dmFsKSB7XG4gICAgICAgIGlmIChvcHQuaGFzT3duUHJvcGVydHkoZmllbGQpKSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0W2ZpZWxkXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0dmFsO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdhdXNzUmFuZG9tKCkge1xuICAgICAgICBpZiAodGhpcy5yZXR1cm5WKSB7XG4gICAgICAgICAgICB0aGlzLnJldHVyblYgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1ID0gMiAqIE1hdGgucmFuZG9tKCkgLSAxO1xuICAgICAgICBjb25zdCB2ID0gMiAqIE1hdGgucmFuZG9tKCkgLSAxO1xuICAgICAgICBjb25zdCByID0gdSAqIHUgKyB2ICogdjtcbiAgICAgICAgaWYgKHIgPT09IDAgfHwgciA+IDEpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdhdXNzUmFuZG9tKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYyA9IE1hdGguc3FydCgtMiAqIE1hdGgubG9nKHIpIC8gcik7XG4gICAgICAgIHRoaXMudlZhbHVlID0gdiAqIGM7IC8vIGNhY2hlIHRoaXMgZm9yIG5leHQgZnVuY3Rpb24gY2FsbCBmb3IgZWZmaWNpZW5jeVxuICAgICAgICB0aGlzLnJldHVyblYgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdSAqIGM7XG4gICAgfVxuICAgIC8vIHJldHVybiByYW5kb20gbm9ybWFsIG51bWJlclxuICAgIHJhbmRuKG11LCBzdGQpIHsgcmV0dXJuIG11ICsgdGhpcy5nYXVzc1JhbmRvbSgpICogc3RkOyB9XG4gICAgLy8gdXRpbGl0aXR5IHRoYXQgY3JlYXRlcyBjb250aWd1b3VzIHZlY3RvciBvZiB6ZXJvcyBvZiBzaXplIG5cbiAgICB6ZXJvcyhuKSB7XG4gICAgICAgIGlmICh0eXBlb2YgKG4pID09PSAndW5kZWZpbmVkJyB8fCBpc05hTihuKSkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgQXJyYXlCdWZmZXIgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAvLyBsYWNraW5nIGJyb3dzZXIgc3VwcG9ydFxuICAgICAgICAgICAgY29uc3QgYXJyID0gbmV3IEFycmF5KG4pO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgICAgICBhcnJbaV0gPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFycjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmxvYXQ2NEFycmF5KG4pOyAvLyB0eXBlZCBhcnJheXMgYXJlIGZhc3RlclxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIHV0aWxpdHkgdGhhdCByZXR1cm5zIDJkIGFycmF5IGZpbGxlZCB3aXRoIHJhbmRvbSBudW1iZXJzXG4gICAgLy8gb3Igd2l0aCB2YWx1ZSBzLCBpZiBwcm92aWRlZFxuICAgIHJhbmRuMmQobiwgZCwgcykge1xuICAgICAgICBjb25zdCB1c2VzID0gdHlwZW9mIHMgIT09ICd1bmRlZmluZWQnO1xuICAgICAgICBjb25zdCB4ID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB4aGVyZSA9IFtdO1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBkOyBqKyspIHtcbiAgICAgICAgICAgICAgICBpZiAodXNlcykge1xuICAgICAgICAgICAgICAgICAgICB4aGVyZS5wdXNoKHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgeGhlcmUucHVzaCh0aGlzLnJhbmRuKDAuMCwgMWUtNCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHgucHVzaCh4aGVyZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHg7XG4gICAgfVxuICAgIC8vIGNvbXB1dGUgTDIgZGlzdGFuY2UgYmV0d2VlbiB0d28gdmVjdG9yc1xuICAgIEwyKHgxLCB4Mikge1xuICAgICAgICBjb25zdCBEID0geDEubGVuZ3RoO1xuICAgICAgICBsZXQgZCA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgRDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB4MWkgPSB4MVtpXTtcbiAgICAgICAgICAgIGNvbnN0IHgyaSA9IHgyW2ldO1xuICAgICAgICAgICAgZCArPSAoeDFpIC0geDJpKSAqICh4MWkgLSB4MmkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkO1xuICAgIH1cbiAgICAvLyBjb21wdXRlIHBhaXJ3aXNlIGRpc3RhbmNlIGluIGFsbCB2ZWN0b3JzIGluIFhcbiAgICB4dG9kKFgpIHtcbiAgICAgICAgY29uc3QgTiA9IFgubGVuZ3RoO1xuICAgICAgICBjb25zdCBkaXN0ID0gdGhpcy56ZXJvcyhOICogTik7IC8vIGFsbG9jYXRlIGNvbnRpZ3VvdXMgYXJyYXlcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IE47IGorKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGQgPSB0aGlzLkwyKFhbaV0sIFhbal0pO1xuICAgICAgICAgICAgICAgIGRpc3RbaSAqIE4gKyBqXSA9IGQ7XG4gICAgICAgICAgICAgICAgZGlzdFtqICogTiArIGldID0gZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGlzdDtcbiAgICB9XG4gICAgLy8gY29tcHV0ZSAocF97aXxqfSArIHBfe2p8aX0pLygybilcbiAgICBkMnAoRCwgcGVycGxleGl0eSwgdG9sKSB7XG4gICAgICAgIGNvbnN0IG5mID0gTWF0aC5zcXJ0KEQubGVuZ3RoKTsgLy8gdGhpcyBiZXR0ZXIgYmUgYW4gaW50ZWdlclxuICAgICAgICBjb25zdCBuID0gTWF0aC5mbG9vcihuZik7XG4gICAgICAgIHRoaXMuYXNzZXJ0KG4gPT09IG5mLCAnRCBzaG91bGQgaGF2ZSBzcXVhcmUgbnVtYmVyIG9mIGVsZW1lbnRzLicpO1xuICAgICAgICBjb25zdCBoVGFyZ2V0ID0gTWF0aC5sb2cocGVycGxleGl0eSk7IC8vIHRhcmdldCBlbnRyb3B5IG9mIGRpc3RyaWJ1dGlvblxuICAgICAgICBjb25zdCBQID0gdGhpcy56ZXJvcyhuICogbik7IC8vIHRlbXBvcmFyeSBwcm9iYWJpbGl0eSBtYXRyaXhcbiAgICAgICAgY29uc3QgcHJvdyA9IHRoaXMuemVyb3Mobik7IC8vIGEgdGVtcG9yYXJ5IHN0b3JhZ2UgY29tcGFydG1lbnRcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBiZXRhbWluID0gLUluZmluaXR5O1xuICAgICAgICAgICAgbGV0IGJldGFtYXggPSBJbmZpbml0eTtcbiAgICAgICAgICAgIGxldCBiZXRhID0gMTsgLy8gaW5pdGlhbCB2YWx1ZSBvZiBwcmVjaXNpb25cbiAgICAgICAgICAgIGxldCBkb25lID0gZmFsc2U7XG4gICAgICAgICAgICBjb25zdCBtYXh0cmllcyA9IDUwO1xuICAgICAgICAgICAgLy8gcGVyZm9ybSBiaW5hcnkgc2VhcmNoIHRvIGZpbmQgYSBzdWl0YWJsZSBwcmVjaXNpb24gYmV0YVxuICAgICAgICAgICAgLy8gc28gdGhhdCB0aGUgZW50cm9weSBvZiB0aGUgZGlzdHJpYnV0aW9uIGlzIGFwcHJvcHJpYXRlXG4gICAgICAgICAgICBsZXQgbnVtID0gMDtcbiAgICAgICAgICAgIHdoaWxlICghZG9uZSkge1xuICAgICAgICAgICAgICAgIC8vZGVidWdnZXI7XG4gICAgICAgICAgICAgICAgLy8gY29tcHV0ZSBlbnRyb3B5IGFuZCBrZXJuZWwgcm93IHdpdGggYmV0YSBwcmVjaXNpb25cbiAgICAgICAgICAgICAgICBsZXQgcHN1bSA9IDAuMDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG47IGorKykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcGogPSBNYXRoLmV4cCgtRFtpICogbiArIGpdICogYmV0YSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpID09PSBqKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwaiA9IDA7XG4gICAgICAgICAgICAgICAgICAgIH0gLy8gd2UgZG9udCBjYXJlIGFib3V0IGRpYWdvbmFsc1xuICAgICAgICAgICAgICAgICAgICBwcm93W2pdID0gcGo7XG4gICAgICAgICAgICAgICAgICAgIHBzdW0gKz0gcGo7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBwIGFuZCBjb21wdXRlIGVudHJvcHlcbiAgICAgICAgICAgICAgICBsZXQgbkhlcmUgPSAwLjA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBuOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBqO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHN1bSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGogPSAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGogPSBwcm93W2pdIC8gcHN1bTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwcm93W2pdID0gcGo7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwaiA+IDFlLTcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5IZXJlIC09IHBqICogTWF0aC5sb2cocGopO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGFkanVzdCBiZXRhIGJhc2VkIG9uIHJlc3VsdFxuICAgICAgICAgICAgICAgIGlmIChuSGVyZSA+IGhUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZW50cm9weSB3YXMgdG9vIGhpZ2ggKGRpc3RyaWJ1dGlvbiB0b28gZGlmZnVzZSlcbiAgICAgICAgICAgICAgICAgICAgLy8gc28gd2UgbmVlZCB0byBpbmNyZWFzZSB0aGUgcHJlY2lzaW9uIGZvciBtb3JlIHBlYWt5IGRpc3RyaWJ1dGlvblxuICAgICAgICAgICAgICAgICAgICBiZXRhbWluID0gYmV0YTsgLy8gbW92ZSB1cCB0aGUgYm91bmRzXG4gICAgICAgICAgICAgICAgICAgIGlmIChiZXRhbWF4ID09PSBJbmZpbml0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmV0YSA9IGJldGEgKiAyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmV0YSA9IChiZXRhICsgYmV0YW1heCkgLyAyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBjb252ZXJzZSBjYXNlLiBtYWtlIGRpc3RydWJ0aW9uIGxlc3MgcGVha3lcbiAgICAgICAgICAgICAgICAgICAgYmV0YW1heCA9IGJldGE7XG4gICAgICAgICAgICAgICAgICAgIGlmIChiZXRhbWluID09PSAtSW5maW5pdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJldGEgPSBiZXRhIC8gMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJldGEgPSAoYmV0YSArIGJldGFtaW4pIC8gMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBzdG9wcGluZyBjb25kaXRpb25zOiB0b28gbWFueSB0cmllcyBvciBnb3QgYSBnb29kIHByZWNpc2lvblxuICAgICAgICAgICAgICAgIG51bSsrO1xuICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhuSGVyZSAtIGhUYXJnZXQpIDwgdG9sKSB7XG4gICAgICAgICAgICAgICAgICAgIGRvbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobnVtID49IG1heHRyaWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGRvbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdkYXRhIHBvaW50ICcgKyBpICsgJyBnZXRzIHByZWNpc2lvbiAnICsgYmV0YSArICcgYWZ0ZXIgJyArIG51bSArICcgYmluYXJ5IHNlYXJjaCBzdGVwcy4nKTtcbiAgICAgICAgICAgIC8vIGNvcHkgb3ZlciB0aGUgZmluYWwgcHJvdyB0byBQIGF0IHJvdyBpXG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG47IGorKykge1xuICAgICAgICAgICAgICAgIFBbaSAqIG4gKyBqXSA9IHByb3dbal07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gLy8gZW5kIGxvb3Agb3ZlciBleGFtcGxlcyBpXG4gICAgICAgIC8vIHN5bW1ldHJpemUgUCBhbmQgbm9ybWFsaXplIGl0IHRvIHN1bSB0byAxIG92ZXIgYWxsIGlqXG4gICAgICAgIGNvbnN0IHBPdXQgPSB0aGlzLnplcm9zKG4gKiBuKTtcbiAgICAgICAgY29uc3QgTjIgPSBuICogMjtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgbjsgaisrKSB7XG4gICAgICAgICAgICAgICAgcE91dFtpICogbiArIGpdID0gTWF0aC5tYXgoKFBbaSAqIG4gKyBqXSArIFBbaiAqIG4gKyBpXSkgLyBOMiwgMWUtMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcE91dDtcbiAgICB9XG4gICAgLy8gaGVscGVyIGZ1bmN0aW9uXG4gICAgc2lnbih4KSB7IHJldHVybiB4ID4gMCA/IDEgOiB4IDwgMCA/IC0xIDogMDsgfVxuICAgIC8vIHRoaXMgZnVuY3Rpb24gdGFrZXMgYSBzZXQgb2YgaGlnaC1kaW1lbnNpb25hbCBwb2ludHNcbiAgICAvLyBhbmQgY3JlYXRlcyBtYXRyaXggUCBmcm9tIHRoZW0gdXNpbmcgZ2F1c3NpYW4ga2VybmVsXG4gICAgaW5pdERhdGFSYXcoWCkge1xuICAgICAgICBjb25zdCBOID0gWC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IEQgPSBYWzBdLmxlbmd0aDtcbiAgICAgICAgdGhpcy5hc3NlcnQoTiA+IDAsICcgWCBpcyBlbXB0eT8gWW91IG11c3QgaGF2ZSBzb21lIGRhdGEhJyk7XG4gICAgICAgIHRoaXMuYXNzZXJ0KEQgPiAwLCAnIFhbMF0gaXMgZW1wdHk/IFdoZXJlIGlzIHRoZSBkYXRhPycpO1xuICAgICAgICBjb25zdCBkaXN0cyA9IHRoaXMueHRvZChYKTsgLy8gY29udmVydCBYIHRvIGRpc3RhbmNlcyB1c2luZyBnYXVzc2lhbiBrZXJuZWxcbiAgICAgICAgdGhpcy5QID0gdGhpcy5kMnAoZGlzdHMsIHRoaXMucGVycGxleGl0eSwgMWUtNCk7IC8vIGF0dGFjaCB0byBvYmplY3RcbiAgICAgICAgdGhpcy5OID0gTjsgLy8gYmFjayB1cCB0aGUgc2l6ZSBvZiB0aGUgZGF0YXNldFxuICAgICAgICB0aGlzLmluaXRTb2x1dGlvbigpOyAvLyByZWZyZXNoIHRoaXNcbiAgICB9XG4gICAgLy8gdGhpcyBmdW5jdGlvbiB0YWtlcyBhIGdpdmVuIGRpc3RhbmNlIG1hdHJpeCBhbmQgY3JlYXRlc1xuICAgIC8vIG1hdHJpeCBQIGZyb20gdGhlbS5cbiAgICAvLyBEIGlzIGFzc3VtZWQgdG8gYmUgcHJvdmlkZWQgYXMgYSBsaXN0IG9mIGxpc3RzLCBhbmQgc2hvdWxkIGJlIHN5bW1ldHJpY1xuICAgIGluaXREYXRhRGlzdChEKSB7XG4gICAgICAgIGNvbnN0IE4gPSBELmxlbmd0aDtcbiAgICAgICAgdGhpcy5hc3NlcnQoTiA+IDAsICcgWCBpcyBlbXB0eT8gWW91IG11c3QgaGF2ZSBzb21lIGRhdGEhJyk7XG4gICAgICAgIC8vIGNvbnZlcnQgRCB0byBhIChmYXN0KSB0eXBlZCBhcnJheSB2ZXJzaW9uXG4gICAgICAgIGNvbnN0IGRpc3RzID0gdGhpcy56ZXJvcyhOICogTik7IC8vIGFsbG9jYXRlIGNvbnRpZ3VvdXMgYXJyYXlcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IE47IGorKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGQgPSBEW2ldW2pdO1xuICAgICAgICAgICAgICAgIGRpc3RzW2kgKiBOICsgal0gPSBkO1xuICAgICAgICAgICAgICAgIGRpc3RzW2ogKiBOICsgaV0gPSBkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuUCA9IHRoaXMuZDJwKGRpc3RzLCB0aGlzLnBlcnBsZXhpdHksIDFlLTQpO1xuICAgICAgICB0aGlzLk4gPSBOO1xuICAgICAgICB0aGlzLmluaXRTb2x1dGlvbigpOyAvLyByZWZyZXNoIHRoaXNcbiAgICB9XG4gICAgLy8gKHJlKWluaXRpYWxpemVzIHRoZSBzb2x1dGlvbiB0byByYW5kb21cbiAgICBpbml0U29sdXRpb24oKSB7XG4gICAgICAgIC8vIGdlbmVyYXRlIHJhbmRvbSBzb2x1dGlvbiB0byB0LVNORVxuICAgICAgICB0aGlzLlkgPSB0aGlzLnJhbmRuMmQodGhpcy5OLCB0aGlzLmRpbSk7IC8vIHRoZSBzb2x1dGlvblxuICAgICAgICB0aGlzLmdhaW5zID0gdGhpcy5yYW5kbjJkKHRoaXMuTiwgdGhpcy5kaW0sIDEuMCk7IC8vIHN0ZXAgZ2FpbnMgdG8gYWNjZWxlcmF0ZSBwcm9ncmVzcyBpbiB1bmNoYW5naW5nIGRpcmVjdGlvbnNcbiAgICAgICAgdGhpcy55c3RlcCA9IHRoaXMucmFuZG4yZCh0aGlzLk4sIHRoaXMuZGltLCAwLjApOyAvLyBtb21lbnR1bSBhY2N1bXVsYXRvclxuICAgICAgICB0aGlzLml0ZXIgPSAwO1xuICAgIH1cbiAgICAvLyByZXR1cm4gcG9pbnRlciB0byBjdXJyZW50IHNvbHV0aW9uXG4gICAgZ2V0U29sdXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLlk7XG4gICAgfVxuICAgIC8vIHBlcmZvcm0gYSBzaW5nbGUgc3RlcCBvZiBvcHRpbWl6YXRpb24gdG8gaW1wcm92ZSB0aGUgZW1iZWRkaW5nXG4gICAgc3RlcCgpIHtcbiAgICAgICAgdGhpcy5pdGVyICs9IDE7XG4gICAgICAgIGNvbnN0IE4gPSB0aGlzLk47XG4gICAgICAgIGNvbnN0IGNnID0gdGhpcy5jb3N0R3JhZCh0aGlzLlkpOyAvLyBldmFsdWF0ZSBncmFkaWVudFxuICAgICAgICBjb25zdCBjb3N0ID0gY2cuY29zdDtcbiAgICAgICAgY29uc3QgZ3JhZCA9IGNnLmdyYWQ7XG4gICAgICAgIC8vIHBlcmZvcm0gZ3JhZGllbnQgc3RlcFxuICAgICAgICBjb25zdCB5bWVhbiA9IHRoaXMuemVyb3ModGhpcy5kaW0pO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCB0aGlzLmRpbTsgZCsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ2lkID0gZ3JhZFtpXVtkXTtcbiAgICAgICAgICAgICAgICBjb25zdCBzaWQgPSB0aGlzLnlzdGVwW2ldW2RdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGdhaW5pZCA9IHRoaXMuZ2FpbnNbaV1bZF07XG4gICAgICAgICAgICAgICAgLy8gY29tcHV0ZSBnYWluIHVwZGF0ZVxuICAgICAgICAgICAgICAgIGxldCBuZXdnYWluID0gdGhpcy5zaWduKGdpZCkgPT09IHRoaXMuc2lnbihzaWQpID8gZ2FpbmlkICogMC44IDogZ2FpbmlkICsgMC4yO1xuICAgICAgICAgICAgICAgIGlmIChuZXdnYWluIDwgMC4wMSkge1xuICAgICAgICAgICAgICAgICAgICBuZXdnYWluID0gMC4wMTtcbiAgICAgICAgICAgICAgICB9IC8vIGNsYW1wXG4gICAgICAgICAgICAgICAgdGhpcy5nYWluc1tpXVtkXSA9IG5ld2dhaW47IC8vIHN0b3JlIGZvciBuZXh0IHR1cm5cbiAgICAgICAgICAgICAgICAvLyBjb21wdXRlIG1vbWVudHVtIHN0ZXAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgY29uc3QgbW9tdmFsID0gdGhpcy5pdGVyIDwgMjUwID8gMC41IDogMC44O1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld3NpZCA9IG1vbXZhbCAqIHNpZCAtIHRoaXMuZXBzaWxvbiAqIG5ld2dhaW4gKiBncmFkW2ldW2RdO1xuICAgICAgICAgICAgICAgIHRoaXMueXN0ZXBbaV1bZF0gPSBuZXdzaWQ7IC8vIHJlbWVtYmVyIHRoZSBzdGVwIHdlIHRvb2tcbiAgICAgICAgICAgICAgICAvLyBzdGVwIVxuICAgICAgICAgICAgICAgIHRoaXMuWVtpXVtkXSArPSBuZXdzaWQ7XG4gICAgICAgICAgICAgICAgeW1lYW5bZF0gKz0gdGhpcy5ZW2ldW2RdOyAvLyBhY2N1bXVsYXRlIG1lYW4gc28gdGhhdCB3ZSBjYW4gY2VudGVyIGxhdGVyXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmVwcm9qZWN0IFkgdG8gYmUgemVybyBtZWFuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTjsgaSsrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBkID0gMDsgZCA8IHRoaXMuZGltOyBkKyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLllbaV1bZF0gLT0geW1lYW5bZF0gLyBOO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vaWYodGhpcy5pdGVyJTEwMD09PTApIGNvbnNvbGUubG9nKCdpdGVyICcgKyB0aGlzLml0ZXIgKyAnLCBjb3N0OiAnICsgY29zdCk7XG4gICAgICAgIHJldHVybiBjb3N0OyAvLyByZXR1cm4gY3VycmVudCBjb3N0XG4gICAgfVxuICAgIC8vIGZvciBkZWJ1Z2dpbmc6IGdyYWRpZW50IGNoZWNrXG4gICAgZGVidWdHcmFkKCkge1xuICAgICAgICBjb25zdCBOID0gdGhpcy5OO1xuICAgICAgICBjb25zdCBjZyA9IHRoaXMuY29zdEdyYWQodGhpcy5ZKTsgLy8gZXZhbHVhdGUgZ3JhZGllbnRcbiAgICAgICAgY29uc3QgY29zdCA9IGNnLmNvc3Q7XG4gICAgICAgIGNvbnN0IGdyYWQgPSBjZy5ncmFkO1xuICAgICAgICBjb25zdCBlID0gMWUtNTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGQgPSAwOyBkIDwgdGhpcy5kaW07IGQrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHlvbGQgPSB0aGlzLllbaV1bZF07XG4gICAgICAgICAgICAgICAgdGhpcy5ZW2ldW2RdID0geW9sZCArIGU7XG4gICAgICAgICAgICAgICAgY29uc3QgY2cwID0gdGhpcy5jb3N0R3JhZCh0aGlzLlkpO1xuICAgICAgICAgICAgICAgIHRoaXMuWVtpXVtkXSA9IHlvbGQgLSBlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNnMSA9IHRoaXMuY29zdEdyYWQodGhpcy5ZKTtcbiAgICAgICAgICAgICAgICBjb25zdCBhbmFseXRpYyA9IGdyYWRbaV1bZF07XG4gICAgICAgICAgICAgICAgY29uc3QgbnVtZXJpY2FsID0gKGNnMC5jb3N0IC0gY2cxLmNvc3QpIC8gKDIgKiBlKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhpICsgJywnICsgZCArICc6IGdyYWRjaGVjayBhbmFseXRpYzogJyArIGFuYWx5dGljICsgJyB2cy4gbnVtZXJpY2FsOiAnICsgbnVtZXJpY2FsKTtcbiAgICAgICAgICAgICAgICB0aGlzLllbaV1bZF0gPSB5b2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIHJldHVybiBjb3N0IGFuZCBncmFkaWVudCwgZ2l2ZW4gYW4gYXJyYW5nZW1lbnRcbiAgICBjb3N0R3JhZChZKSB7XG4gICAgICAgIGNvbnN0IE4gPSB0aGlzLk47XG4gICAgICAgIGNvbnN0IGRpbSA9IHRoaXMuZGltOyAvLyBkaW0gb2Ygb3V0cHV0IHNwYWNlXG4gICAgICAgIGNvbnN0IFAgPSB0aGlzLlA7XG4gICAgICAgIGNvbnN0IHBtdWwgPSB0aGlzLml0ZXIgPCAxMDAgPyA0IDogMTsgLy8gdHJpY2sgdGhhdCBoZWxwcyB3aXRoIGxvY2FsIG9wdGltYVxuICAgICAgICAvLyBjb21wdXRlIGN1cnJlbnQgUSBkaXN0cmlidXRpb24sIHVubm9ybWFsaXplZCBmaXJzdFxuICAgICAgICBjb25zdCBxdUFyciA9IHRoaXMuemVyb3MoTiAqIE4pO1xuICAgICAgICBsZXQgcXN1bSA9IDAuMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IE47IGorKykge1xuICAgICAgICAgICAgICAgIGxldCBkc3VtID0gMC4wO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGQgPSAwOyBkIDwgZGltOyBkKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGhlcmUgPSBZW2ldW2RdIC0gWVtqXVtkXTtcbiAgICAgICAgICAgICAgICAgICAgZHN1bSArPSBkaGVyZSAqIGRoZXJlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBxdSA9IDEuMCAvICgxLjAgKyBkc3VtKTsgLy8gU3R1ZGVudCB0LWRpc3RyaWJ1dGlvblxuICAgICAgICAgICAgICAgIHF1QXJyW2kgKiBOICsgal0gPSBxdTtcbiAgICAgICAgICAgICAgICBxdUFycltqICogTiArIGldID0gcXU7XG4gICAgICAgICAgICAgICAgcXN1bSArPSAyICogcXU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gbm9ybWFsaXplIFEgZGlzdHJpYnV0aW9uIHRvIHN1bSB0byAxXG4gICAgICAgIGNvbnN0IE5OID0gTiAqIE47XG4gICAgICAgIGNvbnN0IFEgPSB0aGlzLnplcm9zKE5OKTtcbiAgICAgICAgZm9yIChsZXQgcSA9IDA7IHEgPCBOTjsgcSsrKSB7XG4gICAgICAgICAgICBRW3FdID0gTWF0aC5tYXgocXVBcnJbcV0gLyBxc3VtLCAxZS0xMDApO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjb3N0ID0gMC4wO1xuICAgICAgICBjb25zdCBncmFkID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTjsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBnc3VtID0gbmV3IEFycmF5KGRpbSk7IC8vIGluaXQgZ3JhZCBmb3IgcG9pbnQgaVxuICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCBkaW07IGQrKykge1xuICAgICAgICAgICAgICAgIGdzdW1bZF0gPSAwLjA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IE47IGorKykge1xuICAgICAgICAgICAgICAgIGNvc3QgKz0gLVBbaSAqIE4gKyBqXSAqIE1hdGgubG9nKFFbaSAqIE4gKyBqXSk7IC8vIGFjY3VtdWxhdGUgY29zdCAodGhlIG5vbi1jb25zdGFudCBwb3J0aW9uIGF0IGxlYXN0Li4uKVxuICAgICAgICAgICAgICAgIGNvbnN0IHByZW11bHQgPSA0ICogKHBtdWwgKiBQW2kgKiBOICsgal0gLSBRW2kgKiBOICsgal0pICogcXVBcnJbaSAqIE4gKyBqXTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBkID0gMDsgZCA8IGRpbTsgZCsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGdzdW1bZF0gKz0gcHJlbXVsdCAqIChZW2ldW2RdIC0gWVtqXVtkXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZ3JhZC5wdXNoKGdzdW0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGNvc3QsIGdyYWQgfTtcbiAgICB9XG59XG5leHBvcnRzLlRTTkUgPSBUU05FO1xuIiwiLy8gQSBsaWJyYXJ5IG9mIHNlZWRhYmxlIFJOR3MgaW1wbGVtZW50ZWQgaW4gSmF2YXNjcmlwdC5cbi8vXG4vLyBVc2FnZTpcbi8vXG4vLyB2YXIgc2VlZHJhbmRvbSA9IHJlcXVpcmUoJ3NlZWRyYW5kb20nKTtcbi8vIHZhciByYW5kb20gPSBzZWVkcmFuZG9tKDEpOyAvLyBvciBhbnkgc2VlZC5cbi8vIHZhciB4ID0gcmFuZG9tKCk7ICAgICAgIC8vIDAgPD0geCA8IDEuICBFdmVyeSBiaXQgaXMgcmFuZG9tLlxuLy8gdmFyIHggPSByYW5kb20ucXVpY2soKTsgLy8gMCA8PSB4IDwgMS4gIDMyIGJpdHMgb2YgcmFuZG9tbmVzcy5cblxuLy8gYWxlYSwgYSA1My1iaXQgbXVsdGlwbHktd2l0aC1jYXJyeSBnZW5lcmF0b3IgYnkgSm9oYW5uZXMgQmFhZ8O4ZS5cbi8vIFBlcmlvZDogfjJeMTE2XG4vLyBSZXBvcnRlZCB0byBwYXNzIGFsbCBCaWdDcnVzaCB0ZXN0cy5cbnZhciBhbGVhID0gcmVxdWlyZSgnLi9saWIvYWxlYScpO1xuXG4vLyB4b3IxMjgsIGEgcHVyZSB4b3Itc2hpZnQgZ2VuZXJhdG9yIGJ5IEdlb3JnZSBNYXJzYWdsaWEuXG4vLyBQZXJpb2Q6IDJeMTI4LTEuXG4vLyBSZXBvcnRlZCB0byBmYWlsOiBNYXRyaXhSYW5rIGFuZCBMaW5lYXJDb21wLlxudmFyIHhvcjEyOCA9IHJlcXVpcmUoJy4vbGliL3hvcjEyOCcpO1xuXG4vLyB4b3J3b3csIEdlb3JnZSBNYXJzYWdsaWEncyAxNjAtYml0IHhvci1zaGlmdCBjb21iaW5lZCBwbHVzIHdleWwuXG4vLyBQZXJpb2Q6IDJeMTkyLTJeMzJcbi8vIFJlcG9ydGVkIHRvIGZhaWw6IENvbGxpc2lvbk92ZXIsIFNpbXBQb2tlciwgYW5kIExpbmVhckNvbXAuXG52YXIgeG9yd293ID0gcmVxdWlyZSgnLi9saWIveG9yd293Jyk7XG5cbi8vIHhvcnNoaWZ0NywgYnkgRnJhbsOnb2lzIFBhbm5ldG9uIGFuZCBQaWVycmUgTCdlY3V5ZXIsIHRha2VzXG4vLyBhIGRpZmZlcmVudCBhcHByb2FjaDogaXQgYWRkcyByb2J1c3RuZXNzIGJ5IGFsbG93aW5nIG1vcmUgc2hpZnRzXG4vLyB0aGFuIE1hcnNhZ2xpYSdzIG9yaWdpbmFsIHRocmVlLiAgSXQgaXMgYSA3LXNoaWZ0IGdlbmVyYXRvclxuLy8gd2l0aCAyNTYgYml0cywgdGhhdCBwYXNzZXMgQmlnQ3J1c2ggd2l0aCBubyBzeXN0bWF0aWMgZmFpbHVyZXMuXG4vLyBQZXJpb2QgMl4yNTYtMS5cbi8vIE5vIHN5c3RlbWF0aWMgQmlnQ3J1c2ggZmFpbHVyZXMgcmVwb3J0ZWQuXG52YXIgeG9yc2hpZnQ3ID0gcmVxdWlyZSgnLi9saWIveG9yc2hpZnQ3Jyk7XG5cbi8vIHhvcjQwOTYsIGJ5IFJpY2hhcmQgQnJlbnQsIGlzIGEgNDA5Ni1iaXQgeG9yLXNoaWZ0IHdpdGggYVxuLy8gdmVyeSBsb25nIHBlcmlvZCB0aGF0IGFsc28gYWRkcyBhIFdleWwgZ2VuZXJhdG9yLiBJdCBhbHNvIHBhc3Nlc1xuLy8gQmlnQ3J1c2ggd2l0aCBubyBzeXN0ZW1hdGljIGZhaWx1cmVzLiAgSXRzIGxvbmcgcGVyaW9kIG1heVxuLy8gYmUgdXNlZnVsIGlmIHlvdSBoYXZlIG1hbnkgZ2VuZXJhdG9ycyBhbmQgbmVlZCB0byBhdm9pZFxuLy8gY29sbGlzaW9ucy5cbi8vIFBlcmlvZDogMl40MTI4LTJeMzIuXG4vLyBObyBzeXN0ZW1hdGljIEJpZ0NydXNoIGZhaWx1cmVzIHJlcG9ydGVkLlxudmFyIHhvcjQwOTYgPSByZXF1aXJlKCcuL2xpYi94b3I0MDk2Jyk7XG5cbi8vIFR5Y2hlLWksIGJ5IFNhbXVlbCBOZXZlcyBhbmQgRmlsaXBlIEFyYXVqbywgaXMgYSBiaXQtc2hpZnRpbmcgcmFuZG9tXG4vLyBudW1iZXIgZ2VuZXJhdG9yIGRlcml2ZWQgZnJvbSBDaGFDaGEsIGEgbW9kZXJuIHN0cmVhbSBjaXBoZXIuXG4vLyBodHRwczovL2VkZW4uZGVpLnVjLnB0L35zbmV2ZXMvcHVicy8yMDExLXNuZmEyLnBkZlxuLy8gUGVyaW9kOiB+Ml4xMjdcbi8vIE5vIHN5c3RlbWF0aWMgQmlnQ3J1c2ggZmFpbHVyZXMgcmVwb3J0ZWQuXG52YXIgdHljaGVpID0gcmVxdWlyZSgnLi9saWIvdHljaGVpJyk7XG5cbi8vIFRoZSBvcmlnaW5hbCBBUkM0LWJhc2VkIHBybmcgaW5jbHVkZWQgaW4gdGhpcyBsaWJyYXJ5LlxuLy8gUGVyaW9kOiB+Ml4xNjAwXG52YXIgc3IgPSByZXF1aXJlKCcuL3NlZWRyYW5kb20nKTtcblxuc3IuYWxlYSA9IGFsZWE7XG5zci54b3IxMjggPSB4b3IxMjg7XG5zci54b3J3b3cgPSB4b3J3b3c7XG5zci54b3JzaGlmdDcgPSB4b3JzaGlmdDc7XG5zci54b3I0MDk2ID0geG9yNDA5NjtcbnNyLnR5Y2hlaSA9IHR5Y2hlaTtcblxubW9kdWxlLmV4cG9ydHMgPSBzcjtcbiIsIi8vIEEgcG9ydCBvZiBhbiBhbGdvcml0aG0gYnkgSm9oYW5uZXMgQmFhZ8O4ZSA8YmFhZ29lQGJhYWdvZS5jb20+LCAyMDEwXG4vLyBodHRwOi8vYmFhZ29lLmNvbS9lbi9SYW5kb21NdXNpbmdzL2phdmFzY3JpcHQvXG4vLyBodHRwczovL2dpdGh1Yi5jb20vbnF1aW5sYW4vYmV0dGVyLXJhbmRvbS1udW1iZXJzLWZvci1qYXZhc2NyaXB0LW1pcnJvclxuLy8gT3JpZ2luYWwgd29yayBpcyB1bmRlciBNSVQgbGljZW5zZSAtXG5cbi8vIENvcHlyaWdodCAoQykgMjAxMCBieSBKb2hhbm5lcyBCYWFnw7hlIDxiYWFnb2VAYmFhZ29lLm9yZz5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5cblxuKGZ1bmN0aW9uKGdsb2JhbCwgbW9kdWxlLCBkZWZpbmUpIHtcblxuZnVuY3Rpb24gQWxlYShzZWVkKSB7XG4gIHZhciBtZSA9IHRoaXMsIG1hc2ggPSBNYXNoKCk7XG5cbiAgbWUubmV4dCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciB0ID0gMjA5MTYzOSAqIG1lLnMwICsgbWUuYyAqIDIuMzI4MzA2NDM2NTM4Njk2M2UtMTA7IC8vIDJeLTMyXG4gICAgbWUuczAgPSBtZS5zMTtcbiAgICBtZS5zMSA9IG1lLnMyO1xuICAgIHJldHVybiBtZS5zMiA9IHQgLSAobWUuYyA9IHQgfCAwKTtcbiAgfTtcblxuICAvLyBBcHBseSB0aGUgc2VlZGluZyBhbGdvcml0aG0gZnJvbSBCYWFnb2UuXG4gIG1lLmMgPSAxO1xuICBtZS5zMCA9IG1hc2goJyAnKTtcbiAgbWUuczEgPSBtYXNoKCcgJyk7XG4gIG1lLnMyID0gbWFzaCgnICcpO1xuICBtZS5zMCAtPSBtYXNoKHNlZWQpO1xuICBpZiAobWUuczAgPCAwKSB7IG1lLnMwICs9IDE7IH1cbiAgbWUuczEgLT0gbWFzaChzZWVkKTtcbiAgaWYgKG1lLnMxIDwgMCkgeyBtZS5zMSArPSAxOyB9XG4gIG1lLnMyIC09IG1hc2goc2VlZCk7XG4gIGlmIChtZS5zMiA8IDApIHsgbWUuczIgKz0gMTsgfVxuICBtYXNoID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gY29weShmLCB0KSB7XG4gIHQuYyA9IGYuYztcbiAgdC5zMCA9IGYuczA7XG4gIHQuczEgPSBmLnMxO1xuICB0LnMyID0gZi5zMjtcbiAgcmV0dXJuIHQ7XG59XG5cbmZ1bmN0aW9uIGltcGwoc2VlZCwgb3B0cykge1xuICB2YXIgeGcgPSBuZXcgQWxlYShzZWVkKSxcbiAgICAgIHN0YXRlID0gb3B0cyAmJiBvcHRzLnN0YXRlLFxuICAgICAgcHJuZyA9IHhnLm5leHQ7XG4gIHBybmcuaW50MzIgPSBmdW5jdGlvbigpIHsgcmV0dXJuICh4Zy5uZXh0KCkgKiAweDEwMDAwMDAwMCkgfCAwOyB9XG4gIHBybmcuZG91YmxlID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHBybmcoKSArIChwcm5nKCkgKiAweDIwMDAwMCB8IDApICogMS4xMTAyMjMwMjQ2MjUxNTY1ZS0xNjsgLy8gMl4tNTNcbiAgfTtcbiAgcHJuZy5xdWljayA9IHBybmc7XG4gIGlmIChzdGF0ZSkge1xuICAgIGlmICh0eXBlb2Yoc3RhdGUpID09ICdvYmplY3QnKSBjb3B5KHN0YXRlLCB4Zyk7XG4gICAgcHJuZy5zdGF0ZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gY29weSh4Zywge30pOyB9XG4gIH1cbiAgcmV0dXJuIHBybmc7XG59XG5cbmZ1bmN0aW9uIE1hc2goKSB7XG4gIHZhciBuID0gMHhlZmM4MjQ5ZDtcblxuICB2YXIgbWFzaCA9IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICBkYXRhID0gU3RyaW5nKGRhdGEpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgbiArPSBkYXRhLmNoYXJDb2RlQXQoaSk7XG4gICAgICB2YXIgaCA9IDAuMDI1MTk2MDMyODI0MTY5MzggKiBuO1xuICAgICAgbiA9IGggPj4+IDA7XG4gICAgICBoIC09IG47XG4gICAgICBoICo9IG47XG4gICAgICBuID0gaCA+Pj4gMDtcbiAgICAgIGggLT0gbjtcbiAgICAgIG4gKz0gaCAqIDB4MTAwMDAwMDAwOyAvLyAyXjMyXG4gICAgfVxuICAgIHJldHVybiAobiA+Pj4gMCkgKiAyLjMyODMwNjQzNjUzODY5NjNlLTEwOyAvLyAyXi0zMlxuICB9O1xuXG4gIHJldHVybiBtYXNoO1xufVxuXG5cbmlmIChtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBpbXBsO1xufSBlbHNlIGlmIChkZWZpbmUgJiYgZGVmaW5lLmFtZCkge1xuICBkZWZpbmUoZnVuY3Rpb24oKSB7IHJldHVybiBpbXBsOyB9KTtcbn0gZWxzZSB7XG4gIHRoaXMuYWxlYSA9IGltcGw7XG59XG5cbn0pKFxuICB0aGlzLFxuICAodHlwZW9mIG1vZHVsZSkgPT0gJ29iamVjdCcgJiYgbW9kdWxlLCAgICAvLyBwcmVzZW50IGluIG5vZGUuanNcbiAgKHR5cGVvZiBkZWZpbmUpID09ICdmdW5jdGlvbicgJiYgZGVmaW5lICAgLy8gcHJlc2VudCB3aXRoIGFuIEFNRCBsb2FkZXJcbik7XG5cblxuIiwiLy8gQSBKYXZhc2NyaXB0IGltcGxlbWVudGFpb24gb2YgdGhlIFwiVHljaGUtaVwiIHBybmcgYWxnb3JpdGhtIGJ5XG4vLyBTYW11ZWwgTmV2ZXMgYW5kIEZpbGlwZSBBcmF1am8uXG4vLyBTZWUgaHR0cHM6Ly9lZGVuLmRlaS51Yy5wdC9+c25ldmVzL3B1YnMvMjAxMS1zbmZhMi5wZGZcblxuKGZ1bmN0aW9uKGdsb2JhbCwgbW9kdWxlLCBkZWZpbmUpIHtcblxuZnVuY3Rpb24gWG9yR2VuKHNlZWQpIHtcbiAgdmFyIG1lID0gdGhpcywgc3Ryc2VlZCA9ICcnO1xuXG4gIC8vIFNldCB1cCBnZW5lcmF0b3IgZnVuY3Rpb24uXG4gIG1lLm5leHQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgYiA9IG1lLmIsIGMgPSBtZS5jLCBkID0gbWUuZCwgYSA9IG1lLmE7XG4gICAgYiA9IChiIDw8IDI1KSBeIChiID4+PiA3KSBeIGM7XG4gICAgYyA9IChjIC0gZCkgfCAwO1xuICAgIGQgPSAoZCA8PCAyNCkgXiAoZCA+Pj4gOCkgXiBhO1xuICAgIGEgPSAoYSAtIGIpIHwgMDtcbiAgICBtZS5iID0gYiA9IChiIDw8IDIwKSBeIChiID4+PiAxMikgXiBjO1xuICAgIG1lLmMgPSBjID0gKGMgLSBkKSB8IDA7XG4gICAgbWUuZCA9IChkIDw8IDE2KSBeIChjID4+PiAxNikgXiBhO1xuICAgIHJldHVybiBtZS5hID0gKGEgLSBiKSB8IDA7XG4gIH07XG5cbiAgLyogVGhlIGZvbGxvd2luZyBpcyBub24taW52ZXJ0ZWQgdHljaGUsIHdoaWNoIGhhcyBiZXR0ZXIgaW50ZXJuYWxcbiAgICogYml0IGRpZmZ1c2lvbiwgYnV0IHdoaWNoIGlzIGFib3V0IDI1JSBzbG93ZXIgdGhhbiB0eWNoZS1pIGluIEpTLlxuICBtZS5uZXh0ID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGEgPSBtZS5hLCBiID0gbWUuYiwgYyA9IG1lLmMsIGQgPSBtZS5kO1xuICAgIGEgPSAobWUuYSArIG1lLmIgfCAwKSA+Pj4gMDtcbiAgICBkID0gbWUuZCBeIGE7IGQgPSBkIDw8IDE2IF4gZCA+Pj4gMTY7XG4gICAgYyA9IG1lLmMgKyBkIHwgMDtcbiAgICBiID0gbWUuYiBeIGM7IGIgPSBiIDw8IDEyIF4gZCA+Pj4gMjA7XG4gICAgbWUuYSA9IGEgPSBhICsgYiB8IDA7XG4gICAgZCA9IGQgXiBhOyBtZS5kID0gZCA9IGQgPDwgOCBeIGQgPj4+IDI0O1xuICAgIG1lLmMgPSBjID0gYyArIGQgfCAwO1xuICAgIGIgPSBiIF4gYztcbiAgICByZXR1cm4gbWUuYiA9IChiIDw8IDcgXiBiID4+PiAyNSk7XG4gIH1cbiAgKi9cblxuICBtZS5hID0gMDtcbiAgbWUuYiA9IDA7XG4gIG1lLmMgPSAyNjU0NDM1NzY5IHwgMDtcbiAgbWUuZCA9IDEzNjcxMzA1NTE7XG5cbiAgaWYgKHNlZWQgPT09IE1hdGguZmxvb3Ioc2VlZCkpIHtcbiAgICAvLyBJbnRlZ2VyIHNlZWQuXG4gICAgbWUuYSA9IChzZWVkIC8gMHgxMDAwMDAwMDApIHwgMDtcbiAgICBtZS5iID0gc2VlZCB8IDA7XG4gIH0gZWxzZSB7XG4gICAgLy8gU3RyaW5nIHNlZWQuXG4gICAgc3Ryc2VlZCArPSBzZWVkO1xuICB9XG5cbiAgLy8gTWl4IGluIHN0cmluZyBzZWVkLCB0aGVuIGRpc2NhcmQgYW4gaW5pdGlhbCBiYXRjaCBvZiA2NCB2YWx1ZXMuXG4gIGZvciAodmFyIGsgPSAwOyBrIDwgc3Ryc2VlZC5sZW5ndGggKyAyMDsgaysrKSB7XG4gICAgbWUuYiBePSBzdHJzZWVkLmNoYXJDb2RlQXQoaykgfCAwO1xuICAgIG1lLm5leHQoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb3B5KGYsIHQpIHtcbiAgdC5hID0gZi5hO1xuICB0LmIgPSBmLmI7XG4gIHQuYyA9IGYuYztcbiAgdC5kID0gZi5kO1xuICByZXR1cm4gdDtcbn07XG5cbmZ1bmN0aW9uIGltcGwoc2VlZCwgb3B0cykge1xuICB2YXIgeGcgPSBuZXcgWG9yR2VuKHNlZWQpLFxuICAgICAgc3RhdGUgPSBvcHRzICYmIG9wdHMuc3RhdGUsXG4gICAgICBwcm5nID0gZnVuY3Rpb24oKSB7IHJldHVybiAoeGcubmV4dCgpID4+PiAwKSAvIDB4MTAwMDAwMDAwOyB9O1xuICBwcm5nLmRvdWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgIGRvIHtcbiAgICAgIHZhciB0b3AgPSB4Zy5uZXh0KCkgPj4+IDExLFxuICAgICAgICAgIGJvdCA9ICh4Zy5uZXh0KCkgPj4+IDApIC8gMHgxMDAwMDAwMDAsXG4gICAgICAgICAgcmVzdWx0ID0gKHRvcCArIGJvdCkgLyAoMSA8PCAyMSk7XG4gICAgfSB3aGlsZSAocmVzdWx0ID09PSAwKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuICBwcm5nLmludDMyID0geGcubmV4dDtcbiAgcHJuZy5xdWljayA9IHBybmc7XG4gIGlmIChzdGF0ZSkge1xuICAgIGlmICh0eXBlb2Yoc3RhdGUpID09ICdvYmplY3QnKSBjb3B5KHN0YXRlLCB4Zyk7XG4gICAgcHJuZy5zdGF0ZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gY29weSh4Zywge30pOyB9XG4gIH1cbiAgcmV0dXJuIHBybmc7XG59XG5cbmlmIChtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBpbXBsO1xufSBlbHNlIGlmIChkZWZpbmUgJiYgZGVmaW5lLmFtZCkge1xuICBkZWZpbmUoZnVuY3Rpb24oKSB7IHJldHVybiBpbXBsOyB9KTtcbn0gZWxzZSB7XG4gIHRoaXMudHljaGVpID0gaW1wbDtcbn1cblxufSkoXG4gIHRoaXMsXG4gICh0eXBlb2YgbW9kdWxlKSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUsICAgIC8vIHByZXNlbnQgaW4gbm9kZS5qc1xuICAodHlwZW9mIGRlZmluZSkgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUgICAvLyBwcmVzZW50IHdpdGggYW4gQU1EIGxvYWRlclxuKTtcblxuXG4iLCIvLyBBIEphdmFzY3JpcHQgaW1wbGVtZW50YWlvbiBvZiB0aGUgXCJ4b3IxMjhcIiBwcm5nIGFsZ29yaXRobSBieVxuLy8gR2VvcmdlIE1hcnNhZ2xpYS4gIFNlZSBodHRwOi8vd3d3LmpzdGF0c29mdC5vcmcvdjA4L2kxNC9wYXBlclxuXG4oZnVuY3Rpb24oZ2xvYmFsLCBtb2R1bGUsIGRlZmluZSkge1xuXG5mdW5jdGlvbiBYb3JHZW4oc2VlZCkge1xuICB2YXIgbWUgPSB0aGlzLCBzdHJzZWVkID0gJyc7XG5cbiAgbWUueCA9IDA7XG4gIG1lLnkgPSAwO1xuICBtZS56ID0gMDtcbiAgbWUudyA9IDA7XG5cbiAgLy8gU2V0IHVwIGdlbmVyYXRvciBmdW5jdGlvbi5cbiAgbWUubmV4dCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciB0ID0gbWUueCBeIChtZS54IDw8IDExKTtcbiAgICBtZS54ID0gbWUueTtcbiAgICBtZS55ID0gbWUuejtcbiAgICBtZS56ID0gbWUudztcbiAgICByZXR1cm4gbWUudyBePSAobWUudyA+Pj4gMTkpIF4gdCBeICh0ID4+PiA4KTtcbiAgfTtcblxuICBpZiAoc2VlZCA9PT0gKHNlZWQgfCAwKSkge1xuICAgIC8vIEludGVnZXIgc2VlZC5cbiAgICBtZS54ID0gc2VlZDtcbiAgfSBlbHNlIHtcbiAgICAvLyBTdHJpbmcgc2VlZC5cbiAgICBzdHJzZWVkICs9IHNlZWQ7XG4gIH1cblxuICAvLyBNaXggaW4gc3RyaW5nIHNlZWQsIHRoZW4gZGlzY2FyZCBhbiBpbml0aWFsIGJhdGNoIG9mIDY0IHZhbHVlcy5cbiAgZm9yICh2YXIgayA9IDA7IGsgPCBzdHJzZWVkLmxlbmd0aCArIDY0OyBrKyspIHtcbiAgICBtZS54IF49IHN0cnNlZWQuY2hhckNvZGVBdChrKSB8IDA7XG4gICAgbWUubmV4dCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvcHkoZiwgdCkge1xuICB0LnggPSBmLng7XG4gIHQueSA9IGYueTtcbiAgdC56ID0gZi56O1xuICB0LncgPSBmLnc7XG4gIHJldHVybiB0O1xufVxuXG5mdW5jdGlvbiBpbXBsKHNlZWQsIG9wdHMpIHtcbiAgdmFyIHhnID0gbmV3IFhvckdlbihzZWVkKSxcbiAgICAgIHN0YXRlID0gb3B0cyAmJiBvcHRzLnN0YXRlLFxuICAgICAgcHJuZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gKHhnLm5leHQoKSA+Pj4gMCkgLyAweDEwMDAwMDAwMDsgfTtcbiAgcHJuZy5kb3VibGUgPSBmdW5jdGlvbigpIHtcbiAgICBkbyB7XG4gICAgICB2YXIgdG9wID0geGcubmV4dCgpID4+PiAxMSxcbiAgICAgICAgICBib3QgPSAoeGcubmV4dCgpID4+PiAwKSAvIDB4MTAwMDAwMDAwLFxuICAgICAgICAgIHJlc3VsdCA9ICh0b3AgKyBib3QpIC8gKDEgPDwgMjEpO1xuICAgIH0gd2hpbGUgKHJlc3VsdCA9PT0gMCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcbiAgcHJuZy5pbnQzMiA9IHhnLm5leHQ7XG4gIHBybmcucXVpY2sgPSBwcm5nO1xuICBpZiAoc3RhdGUpIHtcbiAgICBpZiAodHlwZW9mKHN0YXRlKSA9PSAnb2JqZWN0JykgY29weShzdGF0ZSwgeGcpO1xuICAgIHBybmcuc3RhdGUgPSBmdW5jdGlvbigpIHsgcmV0dXJuIGNvcHkoeGcsIHt9KTsgfVxuICB9XG4gIHJldHVybiBwcm5nO1xufVxuXG5pZiAobW9kdWxlICYmIG1vZHVsZS5leHBvcnRzKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gaW1wbDtcbn0gZWxzZSBpZiAoZGVmaW5lICYmIGRlZmluZS5hbWQpIHtcbiAgZGVmaW5lKGZ1bmN0aW9uKCkgeyByZXR1cm4gaW1wbDsgfSk7XG59IGVsc2Uge1xuICB0aGlzLnhvcjEyOCA9IGltcGw7XG59XG5cbn0pKFxuICB0aGlzLFxuICAodHlwZW9mIG1vZHVsZSkgPT0gJ29iamVjdCcgJiYgbW9kdWxlLCAgICAvLyBwcmVzZW50IGluIG5vZGUuanNcbiAgKHR5cGVvZiBkZWZpbmUpID09ICdmdW5jdGlvbicgJiYgZGVmaW5lICAgLy8gcHJlc2VudCB3aXRoIGFuIEFNRCBsb2FkZXJcbik7XG5cblxuIiwiLy8gQSBKYXZhc2NyaXB0IGltcGxlbWVudGFpb24gb2YgUmljaGFyZCBCcmVudCdzIFhvcmdlbnMgeG9yNDA5NiBhbGdvcml0aG0uXG4vL1xuLy8gVGhpcyBmYXN0IG5vbi1jcnlwdG9ncmFwaGljIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIGlzIGRlc2lnbmVkIGZvclxuLy8gdXNlIGluIE1vbnRlLUNhcmxvIGFsZ29yaXRobXMuIEl0IGNvbWJpbmVzIGEgbG9uZy1wZXJpb2QgeG9yc2hpZnRcbi8vIGdlbmVyYXRvciB3aXRoIGEgV2V5bCBnZW5lcmF0b3IsIGFuZCBpdCBwYXNzZXMgYWxsIGNvbW1vbiBiYXR0ZXJpZXNcbi8vIG9mIHN0YXN0aWNpYWwgdGVzdHMgZm9yIHJhbmRvbW5lc3Mgd2hpbGUgY29uc3VtaW5nIG9ubHkgYSBmZXcgbmFub3NlY29uZHNcbi8vIGZvciBlYWNoIHBybmcgZ2VuZXJhdGVkLiAgRm9yIGJhY2tncm91bmQgb24gdGhlIGdlbmVyYXRvciwgc2VlIEJyZW50J3Ncbi8vIHBhcGVyOiBcIlNvbWUgbG9uZy1wZXJpb2QgcmFuZG9tIG51bWJlciBnZW5lcmF0b3JzIHVzaW5nIHNoaWZ0cyBhbmQgeG9ycy5cIlxuLy8gaHR0cDovL2FyeGl2Lm9yZy9wZGYvMTAwNC4zMTE1djEucGRmXG4vL1xuLy8gVXNhZ2U6XG4vL1xuLy8gdmFyIHhvcjQwOTYgPSByZXF1aXJlKCd4b3I0MDk2Jyk7XG4vLyByYW5kb20gPSB4b3I0MDk2KDEpOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlZWQgd2l0aCBpbnQzMiBvciBzdHJpbmcuXG4vLyBhc3NlcnQuZXF1YWwocmFuZG9tKCksIDAuMTUyMDQzNjQ1MDUzODU0Nyk7IC8vICgwLCAxKSByYW5nZSwgNTMgYml0cy5cbi8vIGFzc2VydC5lcXVhbChyYW5kb20uaW50MzIoKSwgMTgwNjUzNDg5Nyk7ICAgLy8gc2lnbmVkIGludDMyLCAzMiBiaXRzLlxuLy9cbi8vIEZvciBub256ZXJvIG51bWVyaWMga2V5cywgdGhpcyBpbXBlbGVtZW50YXRpb24gcHJvdmlkZXMgYSBzZXF1ZW5jZVxuLy8gaWRlbnRpY2FsIHRvIHRoYXQgYnkgQnJlbnQncyB4b3JnZW5zIDMgaW1wbGVtZW50YWlvbiBpbiBDLiAgVGhpc1xuLy8gaW1wbGVtZW50YXRpb24gYWxzbyBwcm92aWRlcyBmb3IgaW5pdGFsaXppbmcgdGhlIGdlbmVyYXRvciB3aXRoXG4vLyBzdHJpbmcgc2VlZHMsIG9yIGZvciBzYXZpbmcgYW5kIHJlc3RvcmluZyB0aGUgc3RhdGUgb2YgdGhlIGdlbmVyYXRvci5cbi8vXG4vLyBPbiBDaHJvbWUsIHRoaXMgcHJuZyBiZW5jaG1hcmtzIGFib3V0IDIuMSB0aW1lcyBzbG93ZXIgdGhhblxuLy8gSmF2YXNjcmlwdCdzIGJ1aWx0LWluIE1hdGgucmFuZG9tKCkuXG5cbihmdW5jdGlvbihnbG9iYWwsIG1vZHVsZSwgZGVmaW5lKSB7XG5cbmZ1bmN0aW9uIFhvckdlbihzZWVkKSB7XG4gIHZhciBtZSA9IHRoaXM7XG5cbiAgLy8gU2V0IHVwIGdlbmVyYXRvciBmdW5jdGlvbi5cbiAgbWUubmV4dCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciB3ID0gbWUudyxcbiAgICAgICAgWCA9IG1lLlgsIGkgPSBtZS5pLCB0LCB2O1xuICAgIC8vIFVwZGF0ZSBXZXlsIGdlbmVyYXRvci5cbiAgICBtZS53ID0gdyA9ICh3ICsgMHg2MWM4ODY0NykgfCAwO1xuICAgIC8vIFVwZGF0ZSB4b3IgZ2VuZXJhdG9yLlxuICAgIHYgPSBYWyhpICsgMzQpICYgMTI3XTtcbiAgICB0ID0gWFtpID0gKChpICsgMSkgJiAxMjcpXTtcbiAgICB2IF49IHYgPDwgMTM7XG4gICAgdCBePSB0IDw8IDE3O1xuICAgIHYgXj0gdiA+Pj4gMTU7XG4gICAgdCBePSB0ID4+PiAxMjtcbiAgICAvLyBVcGRhdGUgWG9yIGdlbmVyYXRvciBhcnJheSBzdGF0ZS5cbiAgICB2ID0gWFtpXSA9IHYgXiB0O1xuICAgIG1lLmkgPSBpO1xuICAgIC8vIFJlc3VsdCBpcyB0aGUgY29tYmluYXRpb24uXG4gICAgcmV0dXJuICh2ICsgKHcgXiAodyA+Pj4gMTYpKSkgfCAwO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGluaXQobWUsIHNlZWQpIHtcbiAgICB2YXIgdCwgdiwgaSwgaiwgdywgWCA9IFtdLCBsaW1pdCA9IDEyODtcbiAgICBpZiAoc2VlZCA9PT0gKHNlZWQgfCAwKSkge1xuICAgICAgLy8gTnVtZXJpYyBzZWVkcyBpbml0aWFsaXplIHYsIHdoaWNoIGlzIHVzZWQgdG8gZ2VuZXJhdGVzIFguXG4gICAgICB2ID0gc2VlZDtcbiAgICAgIHNlZWQgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTdHJpbmcgc2VlZHMgYXJlIG1peGVkIGludG8gdiBhbmQgWCBvbmUgY2hhcmFjdGVyIGF0IGEgdGltZS5cbiAgICAgIHNlZWQgPSBzZWVkICsgJ1xcMCc7XG4gICAgICB2ID0gMDtcbiAgICAgIGxpbWl0ID0gTWF0aC5tYXgobGltaXQsIHNlZWQubGVuZ3RoKTtcbiAgICB9XG4gICAgLy8gSW5pdGlhbGl6ZSBjaXJjdWxhciBhcnJheSBhbmQgd2V5bCB2YWx1ZS5cbiAgICBmb3IgKGkgPSAwLCBqID0gLTMyOyBqIDwgbGltaXQ7ICsraikge1xuICAgICAgLy8gUHV0IHRoZSB1bmljb2RlIGNoYXJhY3RlcnMgaW50byB0aGUgYXJyYXksIGFuZCBzaHVmZmxlIHRoZW0uXG4gICAgICBpZiAoc2VlZCkgdiBePSBzZWVkLmNoYXJDb2RlQXQoKGogKyAzMikgJSBzZWVkLmxlbmd0aCk7XG4gICAgICAvLyBBZnRlciAzMiBzaHVmZmxlcywgdGFrZSB2IGFzIHRoZSBzdGFydGluZyB3IHZhbHVlLlxuICAgICAgaWYgKGogPT09IDApIHcgPSB2O1xuICAgICAgdiBePSB2IDw8IDEwO1xuICAgICAgdiBePSB2ID4+PiAxNTtcbiAgICAgIHYgXj0gdiA8PCA0O1xuICAgICAgdiBePSB2ID4+PiAxMztcbiAgICAgIGlmIChqID49IDApIHtcbiAgICAgICAgdyA9ICh3ICsgMHg2MWM4ODY0NykgfCAwOyAgICAgLy8gV2V5bC5cbiAgICAgICAgdCA9IChYW2ogJiAxMjddIF49ICh2ICsgdykpOyAgLy8gQ29tYmluZSB4b3IgYW5kIHdleWwgdG8gaW5pdCBhcnJheS5cbiAgICAgICAgaSA9ICgwID09IHQpID8gaSArIDEgOiAwOyAgICAgLy8gQ291bnQgemVyb2VzLlxuICAgICAgfVxuICAgIH1cbiAgICAvLyBXZSBoYXZlIGRldGVjdGVkIGFsbCB6ZXJvZXM7IG1ha2UgdGhlIGtleSBub256ZXJvLlxuICAgIGlmIChpID49IDEyOCkge1xuICAgICAgWFsoc2VlZCAmJiBzZWVkLmxlbmd0aCB8fCAwKSAmIDEyN10gPSAtMTtcbiAgICB9XG4gICAgLy8gUnVuIHRoZSBnZW5lcmF0b3IgNTEyIHRpbWVzIHRvIGZ1cnRoZXIgbWl4IHRoZSBzdGF0ZSBiZWZvcmUgdXNpbmcgaXQuXG4gICAgLy8gRmFjdG9yaW5nIHRoaXMgYXMgYSBmdW5jdGlvbiBzbG93cyB0aGUgbWFpbiBnZW5lcmF0b3IsIHNvIGl0IGlzIGp1c3RcbiAgICAvLyB1bnJvbGxlZCBoZXJlLiAgVGhlIHdleWwgZ2VuZXJhdG9yIGlzIG5vdCBhZHZhbmNlZCB3aGlsZSB3YXJtaW5nIHVwLlxuICAgIGkgPSAxMjc7XG4gICAgZm9yIChqID0gNCAqIDEyODsgaiA+IDA7IC0taikge1xuICAgICAgdiA9IFhbKGkgKyAzNCkgJiAxMjddO1xuICAgICAgdCA9IFhbaSA9ICgoaSArIDEpICYgMTI3KV07XG4gICAgICB2IF49IHYgPDwgMTM7XG4gICAgICB0IF49IHQgPDwgMTc7XG4gICAgICB2IF49IHYgPj4+IDE1O1xuICAgICAgdCBePSB0ID4+PiAxMjtcbiAgICAgIFhbaV0gPSB2IF4gdDtcbiAgICB9XG4gICAgLy8gU3RvcmluZyBzdGF0ZSBhcyBvYmplY3QgbWVtYmVycyBpcyBmYXN0ZXIgdGhhbiB1c2luZyBjbG9zdXJlIHZhcmlhYmxlcy5cbiAgICBtZS53ID0gdztcbiAgICBtZS5YID0gWDtcbiAgICBtZS5pID0gaTtcbiAgfVxuXG4gIGluaXQobWUsIHNlZWQpO1xufVxuXG5mdW5jdGlvbiBjb3B5KGYsIHQpIHtcbiAgdC5pID0gZi5pO1xuICB0LncgPSBmLnc7XG4gIHQuWCA9IGYuWC5zbGljZSgpO1xuICByZXR1cm4gdDtcbn07XG5cbmZ1bmN0aW9uIGltcGwoc2VlZCwgb3B0cykge1xuICBpZiAoc2VlZCA9PSBudWxsKSBzZWVkID0gKyhuZXcgRGF0ZSk7XG4gIHZhciB4ZyA9IG5ldyBYb3JHZW4oc2VlZCksXG4gICAgICBzdGF0ZSA9IG9wdHMgJiYgb3B0cy5zdGF0ZSxcbiAgICAgIHBybmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuICh4Zy5uZXh0KCkgPj4+IDApIC8gMHgxMDAwMDAwMDA7IH07XG4gIHBybmcuZG91YmxlID0gZnVuY3Rpb24oKSB7XG4gICAgZG8ge1xuICAgICAgdmFyIHRvcCA9IHhnLm5leHQoKSA+Pj4gMTEsXG4gICAgICAgICAgYm90ID0gKHhnLm5leHQoKSA+Pj4gMCkgLyAweDEwMDAwMDAwMCxcbiAgICAgICAgICByZXN1bHQgPSAodG9wICsgYm90KSAvICgxIDw8IDIxKTtcbiAgICB9IHdoaWxlIChyZXN1bHQgPT09IDApO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG4gIHBybmcuaW50MzIgPSB4Zy5uZXh0O1xuICBwcm5nLnF1aWNrID0gcHJuZztcbiAgaWYgKHN0YXRlKSB7XG4gICAgaWYgKHN0YXRlLlgpIGNvcHkoc3RhdGUsIHhnKTtcbiAgICBwcm5nLnN0YXRlID0gZnVuY3Rpb24oKSB7IHJldHVybiBjb3B5KHhnLCB7fSk7IH1cbiAgfVxuICByZXR1cm4gcHJuZztcbn1cblxuaWYgKG1vZHVsZSAmJiBtb2R1bGUuZXhwb3J0cykge1xuICBtb2R1bGUuZXhwb3J0cyA9IGltcGw7XG59IGVsc2UgaWYgKGRlZmluZSAmJiBkZWZpbmUuYW1kKSB7XG4gIGRlZmluZShmdW5jdGlvbigpIHsgcmV0dXJuIGltcGw7IH0pO1xufSBlbHNlIHtcbiAgdGhpcy54b3I0MDk2ID0gaW1wbDtcbn1cblxufSkoXG4gIHRoaXMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpbmRvdyBvYmplY3Qgb3IgZ2xvYmFsXG4gICh0eXBlb2YgbW9kdWxlKSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUsICAgIC8vIHByZXNlbnQgaW4gbm9kZS5qc1xuICAodHlwZW9mIGRlZmluZSkgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUgICAvLyBwcmVzZW50IHdpdGggYW4gQU1EIGxvYWRlclxuKTtcbiIsIi8vIEEgSmF2YXNjcmlwdCBpbXBsZW1lbnRhaW9uIG9mIHRoZSBcInhvcnNoaWZ0N1wiIGFsZ29yaXRobSBieVxuLy8gRnJhbsOnb2lzIFBhbm5ldG9uIGFuZCBQaWVycmUgTCdlY3V5ZXI6XG4vLyBcIk9uIHRoZSBYb3Jnc2hpZnQgUmFuZG9tIE51bWJlciBHZW5lcmF0b3JzXCJcbi8vIGh0dHA6Ly9zYWx1Yy5lbmdyLnVjb25uLmVkdS9yZWZzL2NyeXB0by9ybmcvcGFubmV0b24wNW9udGhleG9yc2hpZnQucGRmXG5cbihmdW5jdGlvbihnbG9iYWwsIG1vZHVsZSwgZGVmaW5lKSB7XG5cbmZ1bmN0aW9uIFhvckdlbihzZWVkKSB7XG4gIHZhciBtZSA9IHRoaXM7XG5cbiAgLy8gU2V0IHVwIGdlbmVyYXRvciBmdW5jdGlvbi5cbiAgbWUubmV4dCA9IGZ1bmN0aW9uKCkge1xuICAgIC8vIFVwZGF0ZSB4b3IgZ2VuZXJhdG9yLlxuICAgIHZhciBYID0gbWUueCwgaSA9IG1lLmksIHQsIHYsIHc7XG4gICAgdCA9IFhbaV07IHQgXj0gKHQgPj4+IDcpOyB2ID0gdCBeICh0IDw8IDI0KTtcbiAgICB0ID0gWFsoaSArIDEpICYgN107IHYgXj0gdCBeICh0ID4+PiAxMCk7XG4gICAgdCA9IFhbKGkgKyAzKSAmIDddOyB2IF49IHQgXiAodCA+Pj4gMyk7XG4gICAgdCA9IFhbKGkgKyA0KSAmIDddOyB2IF49IHQgXiAodCA8PCA3KTtcbiAgICB0ID0gWFsoaSArIDcpICYgN107IHQgPSB0IF4gKHQgPDwgMTMpOyB2IF49IHQgXiAodCA8PCA5KTtcbiAgICBYW2ldID0gdjtcbiAgICBtZS5pID0gKGkgKyAxKSAmIDc7XG4gICAgcmV0dXJuIHY7XG4gIH07XG5cbiAgZnVuY3Rpb24gaW5pdChtZSwgc2VlZCkge1xuICAgIHZhciBqLCB3LCBYID0gW107XG5cbiAgICBpZiAoc2VlZCA9PT0gKHNlZWQgfCAwKSkge1xuICAgICAgLy8gU2VlZCBzdGF0ZSBhcnJheSB1c2luZyBhIDMyLWJpdCBpbnRlZ2VyLlxuICAgICAgdyA9IFhbMF0gPSBzZWVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTZWVkIHN0YXRlIHVzaW5nIGEgc3RyaW5nLlxuICAgICAgc2VlZCA9ICcnICsgc2VlZDtcbiAgICAgIGZvciAoaiA9IDA7IGogPCBzZWVkLmxlbmd0aDsgKytqKSB7XG4gICAgICAgIFhbaiAmIDddID0gKFhbaiAmIDddIDw8IDE1KSBeXG4gICAgICAgICAgICAoc2VlZC5jaGFyQ29kZUF0KGopICsgWFsoaiArIDEpICYgN10gPDwgMTMpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBFbmZvcmNlIGFuIGFycmF5IGxlbmd0aCBvZiA4LCBub3QgYWxsIHplcm9lcy5cbiAgICB3aGlsZSAoWC5sZW5ndGggPCA4KSBYLnB1c2goMCk7XG4gICAgZm9yIChqID0gMDsgaiA8IDggJiYgWFtqXSA9PT0gMDsgKytqKTtcbiAgICBpZiAoaiA9PSA4KSB3ID0gWFs3XSA9IC0xOyBlbHNlIHcgPSBYW2pdO1xuXG4gICAgbWUueCA9IFg7XG4gICAgbWUuaSA9IDA7XG5cbiAgICAvLyBEaXNjYXJkIGFuIGluaXRpYWwgMjU2IHZhbHVlcy5cbiAgICBmb3IgKGogPSAyNTY7IGogPiAwOyAtLWopIHtcbiAgICAgIG1lLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBpbml0KG1lLCBzZWVkKTtcbn1cblxuZnVuY3Rpb24gY29weShmLCB0KSB7XG4gIHQueCA9IGYueC5zbGljZSgpO1xuICB0LmkgPSBmLmk7XG4gIHJldHVybiB0O1xufVxuXG5mdW5jdGlvbiBpbXBsKHNlZWQsIG9wdHMpIHtcbiAgaWYgKHNlZWQgPT0gbnVsbCkgc2VlZCA9ICsobmV3IERhdGUpO1xuICB2YXIgeGcgPSBuZXcgWG9yR2VuKHNlZWQpLFxuICAgICAgc3RhdGUgPSBvcHRzICYmIG9wdHMuc3RhdGUsXG4gICAgICBwcm5nID0gZnVuY3Rpb24oKSB7IHJldHVybiAoeGcubmV4dCgpID4+PiAwKSAvIDB4MTAwMDAwMDAwOyB9O1xuICBwcm5nLmRvdWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgIGRvIHtcbiAgICAgIHZhciB0b3AgPSB4Zy5uZXh0KCkgPj4+IDExLFxuICAgICAgICAgIGJvdCA9ICh4Zy5uZXh0KCkgPj4+IDApIC8gMHgxMDAwMDAwMDAsXG4gICAgICAgICAgcmVzdWx0ID0gKHRvcCArIGJvdCkgLyAoMSA8PCAyMSk7XG4gICAgfSB3aGlsZSAocmVzdWx0ID09PSAwKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuICBwcm5nLmludDMyID0geGcubmV4dDtcbiAgcHJuZy5xdWljayA9IHBybmc7XG4gIGlmIChzdGF0ZSkge1xuICAgIGlmIChzdGF0ZS54KSBjb3B5KHN0YXRlLCB4Zyk7XG4gICAgcHJuZy5zdGF0ZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gY29weSh4Zywge30pOyB9XG4gIH1cbiAgcmV0dXJuIHBybmc7XG59XG5cbmlmIChtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBpbXBsO1xufSBlbHNlIGlmIChkZWZpbmUgJiYgZGVmaW5lLmFtZCkge1xuICBkZWZpbmUoZnVuY3Rpb24oKSB7IHJldHVybiBpbXBsOyB9KTtcbn0gZWxzZSB7XG4gIHRoaXMueG9yc2hpZnQ3ID0gaW1wbDtcbn1cblxufSkoXG4gIHRoaXMsXG4gICh0eXBlb2YgbW9kdWxlKSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUsICAgIC8vIHByZXNlbnQgaW4gbm9kZS5qc1xuICAodHlwZW9mIGRlZmluZSkgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUgICAvLyBwcmVzZW50IHdpdGggYW4gQU1EIGxvYWRlclxuKTtcblxuIiwiLy8gQSBKYXZhc2NyaXB0IGltcGxlbWVudGFpb24gb2YgdGhlIFwieG9yd293XCIgcHJuZyBhbGdvcml0aG0gYnlcbi8vIEdlb3JnZSBNYXJzYWdsaWEuICBTZWUgaHR0cDovL3d3dy5qc3RhdHNvZnQub3JnL3YwOC9pMTQvcGFwZXJcblxuKGZ1bmN0aW9uKGdsb2JhbCwgbW9kdWxlLCBkZWZpbmUpIHtcblxuZnVuY3Rpb24gWG9yR2VuKHNlZWQpIHtcbiAgdmFyIG1lID0gdGhpcywgc3Ryc2VlZCA9ICcnO1xuXG4gIC8vIFNldCB1cCBnZW5lcmF0b3IgZnVuY3Rpb24uXG4gIG1lLm5leHQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgdCA9IChtZS54IF4gKG1lLnggPj4+IDIpKTtcbiAgICBtZS54ID0gbWUueTsgbWUueSA9IG1lLno7IG1lLnogPSBtZS53OyBtZS53ID0gbWUudjtcbiAgICByZXR1cm4gKG1lLmQgPSAobWUuZCArIDM2MjQzNyB8IDApKSArXG4gICAgICAgKG1lLnYgPSAobWUudiBeIChtZS52IDw8IDQpKSBeICh0IF4gKHQgPDwgMSkpKSB8IDA7XG4gIH07XG5cbiAgbWUueCA9IDA7XG4gIG1lLnkgPSAwO1xuICBtZS56ID0gMDtcbiAgbWUudyA9IDA7XG4gIG1lLnYgPSAwO1xuXG4gIGlmIChzZWVkID09PSAoc2VlZCB8IDApKSB7XG4gICAgLy8gSW50ZWdlciBzZWVkLlxuICAgIG1lLnggPSBzZWVkO1xuICB9IGVsc2Uge1xuICAgIC8vIFN0cmluZyBzZWVkLlxuICAgIHN0cnNlZWQgKz0gc2VlZDtcbiAgfVxuXG4gIC8vIE1peCBpbiBzdHJpbmcgc2VlZCwgdGhlbiBkaXNjYXJkIGFuIGluaXRpYWwgYmF0Y2ggb2YgNjQgdmFsdWVzLlxuICBmb3IgKHZhciBrID0gMDsgayA8IHN0cnNlZWQubGVuZ3RoICsgNjQ7IGsrKykge1xuICAgIG1lLnggXj0gc3Ryc2VlZC5jaGFyQ29kZUF0KGspIHwgMDtcbiAgICBpZiAoayA9PSBzdHJzZWVkLmxlbmd0aCkge1xuICAgICAgbWUuZCA9IG1lLnggPDwgMTAgXiBtZS54ID4+PiA0O1xuICAgIH1cbiAgICBtZS5uZXh0KCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29weShmLCB0KSB7XG4gIHQueCA9IGYueDtcbiAgdC55ID0gZi55O1xuICB0LnogPSBmLno7XG4gIHQudyA9IGYudztcbiAgdC52ID0gZi52O1xuICB0LmQgPSBmLmQ7XG4gIHJldHVybiB0O1xufVxuXG5mdW5jdGlvbiBpbXBsKHNlZWQsIG9wdHMpIHtcbiAgdmFyIHhnID0gbmV3IFhvckdlbihzZWVkKSxcbiAgICAgIHN0YXRlID0gb3B0cyAmJiBvcHRzLnN0YXRlLFxuICAgICAgcHJuZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gKHhnLm5leHQoKSA+Pj4gMCkgLyAweDEwMDAwMDAwMDsgfTtcbiAgcHJuZy5kb3VibGUgPSBmdW5jdGlvbigpIHtcbiAgICBkbyB7XG4gICAgICB2YXIgdG9wID0geGcubmV4dCgpID4+PiAxMSxcbiAgICAgICAgICBib3QgPSAoeGcubmV4dCgpID4+PiAwKSAvIDB4MTAwMDAwMDAwLFxuICAgICAgICAgIHJlc3VsdCA9ICh0b3AgKyBib3QpIC8gKDEgPDwgMjEpO1xuICAgIH0gd2hpbGUgKHJlc3VsdCA9PT0gMCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcbiAgcHJuZy5pbnQzMiA9IHhnLm5leHQ7XG4gIHBybmcucXVpY2sgPSBwcm5nO1xuICBpZiAoc3RhdGUpIHtcbiAgICBpZiAodHlwZW9mKHN0YXRlKSA9PSAnb2JqZWN0JykgY29weShzdGF0ZSwgeGcpO1xuICAgIHBybmcuc3RhdGUgPSBmdW5jdGlvbigpIHsgcmV0dXJuIGNvcHkoeGcsIHt9KTsgfVxuICB9XG4gIHJldHVybiBwcm5nO1xufVxuXG5pZiAobW9kdWxlICYmIG1vZHVsZS5leHBvcnRzKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gaW1wbDtcbn0gZWxzZSBpZiAoZGVmaW5lICYmIGRlZmluZS5hbWQpIHtcbiAgZGVmaW5lKGZ1bmN0aW9uKCkgeyByZXR1cm4gaW1wbDsgfSk7XG59IGVsc2Uge1xuICB0aGlzLnhvcndvdyA9IGltcGw7XG59XG5cbn0pKFxuICB0aGlzLFxuICAodHlwZW9mIG1vZHVsZSkgPT0gJ29iamVjdCcgJiYgbW9kdWxlLCAgICAvLyBwcmVzZW50IGluIG5vZGUuanNcbiAgKHR5cGVvZiBkZWZpbmUpID09ICdmdW5jdGlvbicgJiYgZGVmaW5lICAgLy8gcHJlc2VudCB3aXRoIGFuIEFNRCBsb2FkZXJcbik7XG5cblxuIiwiLypcbkNvcHlyaWdodCAyMDE5IERhdmlkIEJhdS5cblxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nXG5hIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcblwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xud2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvXG5wZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG9cbnRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmVcbmluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELFxuRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG5NRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuXG5JTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWVxuQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCxcblRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFXG5TT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuKi9cblxuKGZ1bmN0aW9uIChnbG9iYWwsIHBvb2wsIG1hdGgpIHtcbi8vXG4vLyBUaGUgZm9sbG93aW5nIGNvbnN0YW50cyBhcmUgcmVsYXRlZCB0byBJRUVFIDc1NCBsaW1pdHMuXG4vL1xuXG52YXIgd2lkdGggPSAyNTYsICAgICAgICAvLyBlYWNoIFJDNCBvdXRwdXQgaXMgMCA8PSB4IDwgMjU2XG4gICAgY2h1bmtzID0gNiwgICAgICAgICAvLyBhdCBsZWFzdCBzaXggUkM0IG91dHB1dHMgZm9yIGVhY2ggZG91YmxlXG4gICAgZGlnaXRzID0gNTIsICAgICAgICAvLyB0aGVyZSBhcmUgNTIgc2lnbmlmaWNhbnQgZGlnaXRzIGluIGEgZG91YmxlXG4gICAgcm5nbmFtZSA9ICdyYW5kb20nLCAvLyBybmduYW1lOiBuYW1lIGZvciBNYXRoLnJhbmRvbSBhbmQgTWF0aC5zZWVkcmFuZG9tXG4gICAgc3RhcnRkZW5vbSA9IG1hdGgucG93KHdpZHRoLCBjaHVua3MpLFxuICAgIHNpZ25pZmljYW5jZSA9IG1hdGgucG93KDIsIGRpZ2l0cyksXG4gICAgb3ZlcmZsb3cgPSBzaWduaWZpY2FuY2UgKiAyLFxuICAgIG1hc2sgPSB3aWR0aCAtIDEsXG4gICAgbm9kZWNyeXB0bzsgICAgICAgICAvLyBub2RlLmpzIGNyeXB0byBtb2R1bGUsIGluaXRpYWxpemVkIGF0IHRoZSBib3R0b20uXG5cbi8vXG4vLyBzZWVkcmFuZG9tKClcbi8vIFRoaXMgaXMgdGhlIHNlZWRyYW5kb20gZnVuY3Rpb24gZGVzY3JpYmVkIGFib3ZlLlxuLy9cbmZ1bmN0aW9uIHNlZWRyYW5kb20oc2VlZCwgb3B0aW9ucywgY2FsbGJhY2spIHtcbiAgdmFyIGtleSA9IFtdO1xuICBvcHRpb25zID0gKG9wdGlvbnMgPT0gdHJ1ZSkgPyB7IGVudHJvcHk6IHRydWUgfSA6IChvcHRpb25zIHx8IHt9KTtcblxuICAvLyBGbGF0dGVuIHRoZSBzZWVkIHN0cmluZyBvciBidWlsZCBvbmUgZnJvbSBsb2NhbCBlbnRyb3B5IGlmIG5lZWRlZC5cbiAgdmFyIHNob3J0c2VlZCA9IG1peGtleShmbGF0dGVuKFxuICAgIG9wdGlvbnMuZW50cm9weSA/IFtzZWVkLCB0b3N0cmluZyhwb29sKV0gOlxuICAgIChzZWVkID09IG51bGwpID8gYXV0b3NlZWQoKSA6IHNlZWQsIDMpLCBrZXkpO1xuXG4gIC8vIFVzZSB0aGUgc2VlZCB0byBpbml0aWFsaXplIGFuIEFSQzQgZ2VuZXJhdG9yLlxuICB2YXIgYXJjNCA9IG5ldyBBUkM0KGtleSk7XG5cbiAgLy8gVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgcmFuZG9tIGRvdWJsZSBpbiBbMCwgMSkgdGhhdCBjb250YWluc1xuICAvLyByYW5kb21uZXNzIGluIGV2ZXJ5IGJpdCBvZiB0aGUgbWFudGlzc2Egb2YgdGhlIElFRUUgNzU0IHZhbHVlLlxuICB2YXIgcHJuZyA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBuID0gYXJjNC5nKGNodW5rcyksICAgICAgICAgICAgIC8vIFN0YXJ0IHdpdGggYSBudW1lcmF0b3IgbiA8IDIgXiA0OFxuICAgICAgICBkID0gc3RhcnRkZW5vbSwgICAgICAgICAgICAgICAgIC8vICAgYW5kIGRlbm9taW5hdG9yIGQgPSAyIF4gNDguXG4gICAgICAgIHggPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBhbmQgbm8gJ2V4dHJhIGxhc3QgYnl0ZScuXG4gICAgd2hpbGUgKG4gPCBzaWduaWZpY2FuY2UpIHsgICAgICAgICAgLy8gRmlsbCB1cCBhbGwgc2lnbmlmaWNhbnQgZGlnaXRzIGJ5XG4gICAgICBuID0gKG4gKyB4KSAqIHdpZHRoOyAgICAgICAgICAgICAgLy8gICBzaGlmdGluZyBudW1lcmF0b3IgYW5kXG4gICAgICBkICo9IHdpZHRoOyAgICAgICAgICAgICAgICAgICAgICAgLy8gICBkZW5vbWluYXRvciBhbmQgZ2VuZXJhdGluZyBhXG4gICAgICB4ID0gYXJjNC5nKDEpOyAgICAgICAgICAgICAgICAgICAgLy8gICBuZXcgbGVhc3Qtc2lnbmlmaWNhbnQtYnl0ZS5cbiAgICB9XG4gICAgd2hpbGUgKG4gPj0gb3ZlcmZsb3cpIHsgICAgICAgICAgICAgLy8gVG8gYXZvaWQgcm91bmRpbmcgdXAsIGJlZm9yZSBhZGRpbmdcbiAgICAgIG4gLz0gMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGxhc3QgYnl0ZSwgc2hpZnQgZXZlcnl0aGluZ1xuICAgICAgZCAvPSAyOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgcmlnaHQgdXNpbmcgaW50ZWdlciBtYXRoIHVudGlsXG4gICAgICB4ID4+Pj0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICB3ZSBoYXZlIGV4YWN0bHkgdGhlIGRlc2lyZWQgYml0cy5cbiAgICB9XG4gICAgcmV0dXJuIChuICsgeCkgLyBkOyAgICAgICAgICAgICAgICAgLy8gRm9ybSB0aGUgbnVtYmVyIHdpdGhpbiBbMCwgMSkuXG4gIH07XG5cbiAgcHJuZy5pbnQzMiA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJjNC5nKDQpIHwgMDsgfVxuICBwcm5nLnF1aWNrID0gZnVuY3Rpb24oKSB7IHJldHVybiBhcmM0LmcoNCkgLyAweDEwMDAwMDAwMDsgfVxuICBwcm5nLmRvdWJsZSA9IHBybmc7XG5cbiAgLy8gTWl4IHRoZSByYW5kb21uZXNzIGludG8gYWNjdW11bGF0ZWQgZW50cm9weS5cbiAgbWl4a2V5KHRvc3RyaW5nKGFyYzQuUyksIHBvb2wpO1xuXG4gIC8vIENhbGxpbmcgY29udmVudGlvbjogd2hhdCB0byByZXR1cm4gYXMgYSBmdW5jdGlvbiBvZiBwcm5nLCBzZWVkLCBpc19tYXRoLlxuICByZXR1cm4gKG9wdGlvbnMucGFzcyB8fCBjYWxsYmFjayB8fFxuICAgICAgZnVuY3Rpb24ocHJuZywgc2VlZCwgaXNfbWF0aF9jYWxsLCBzdGF0ZSkge1xuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAvLyBMb2FkIHRoZSBhcmM0IHN0YXRlIGZyb20gdGhlIGdpdmVuIHN0YXRlIGlmIGl0IGhhcyBhbiBTIGFycmF5LlxuICAgICAgICAgIGlmIChzdGF0ZS5TKSB7IGNvcHkoc3RhdGUsIGFyYzQpOyB9XG4gICAgICAgICAgLy8gT25seSBwcm92aWRlIHRoZSAuc3RhdGUgbWV0aG9kIGlmIHJlcXVlc3RlZCB2aWEgb3B0aW9ucy5zdGF0ZS5cbiAgICAgICAgICBwcm5nLnN0YXRlID0gZnVuY3Rpb24oKSB7IHJldHVybiBjb3B5KGFyYzQsIHt9KTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgY2FsbGVkIGFzIGEgbWV0aG9kIG9mIE1hdGggKE1hdGguc2VlZHJhbmRvbSgpKSwgbXV0YXRlXG4gICAgICAgIC8vIE1hdGgucmFuZG9tIGJlY2F1c2UgdGhhdCBpcyBob3cgc2VlZHJhbmRvbS5qcyBoYXMgd29ya2VkIHNpbmNlIHYxLjAuXG4gICAgICAgIGlmIChpc19tYXRoX2NhbGwpIHsgbWF0aFtybmduYW1lXSA9IHBybmc7IHJldHVybiBzZWVkOyB9XG5cbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBpdCBpcyBhIG5ld2VyIGNhbGxpbmcgY29udmVudGlvbiwgc28gcmV0dXJuIHRoZVxuICAgICAgICAvLyBwcm5nIGRpcmVjdGx5LlxuICAgICAgICBlbHNlIHJldHVybiBwcm5nO1xuICAgICAgfSkoXG4gIHBybmcsXG4gIHNob3J0c2VlZCxcbiAgJ2dsb2JhbCcgaW4gb3B0aW9ucyA/IG9wdGlvbnMuZ2xvYmFsIDogKHRoaXMgPT0gbWF0aCksXG4gIG9wdGlvbnMuc3RhdGUpO1xufVxuXG4vL1xuLy8gQVJDNFxuLy9cbi8vIEFuIEFSQzQgaW1wbGVtZW50YXRpb24uICBUaGUgY29uc3RydWN0b3IgdGFrZXMgYSBrZXkgaW4gdGhlIGZvcm0gb2Zcbi8vIGFuIGFycmF5IG9mIGF0IG1vc3QgKHdpZHRoKSBpbnRlZ2VycyB0aGF0IHNob3VsZCBiZSAwIDw9IHggPCAod2lkdGgpLlxuLy9cbi8vIFRoZSBnKGNvdW50KSBtZXRob2QgcmV0dXJucyBhIHBzZXVkb3JhbmRvbSBpbnRlZ2VyIHRoYXQgY29uY2F0ZW5hdGVzXG4vLyB0aGUgbmV4dCAoY291bnQpIG91dHB1dHMgZnJvbSBBUkM0LiAgSXRzIHJldHVybiB2YWx1ZSBpcyBhIG51bWJlciB4XG4vLyB0aGF0IGlzIGluIHRoZSByYW5nZSAwIDw9IHggPCAod2lkdGggXiBjb3VudCkuXG4vL1xuZnVuY3Rpb24gQVJDNChrZXkpIHtcbiAgdmFyIHQsIGtleWxlbiA9IGtleS5sZW5ndGgsXG4gICAgICBtZSA9IHRoaXMsIGkgPSAwLCBqID0gbWUuaSA9IG1lLmogPSAwLCBzID0gbWUuUyA9IFtdO1xuXG4gIC8vIFRoZSBlbXB0eSBrZXkgW10gaXMgdHJlYXRlZCBhcyBbMF0uXG4gIGlmICgha2V5bGVuKSB7IGtleSA9IFtrZXlsZW4rK107IH1cblxuICAvLyBTZXQgdXAgUyB1c2luZyB0aGUgc3RhbmRhcmQga2V5IHNjaGVkdWxpbmcgYWxnb3JpdGhtLlxuICB3aGlsZSAoaSA8IHdpZHRoKSB7XG4gICAgc1tpXSA9IGkrKztcbiAgfVxuICBmb3IgKGkgPSAwOyBpIDwgd2lkdGg7IGkrKykge1xuICAgIHNbaV0gPSBzW2ogPSBtYXNrICYgKGogKyBrZXlbaSAlIGtleWxlbl0gKyAodCA9IHNbaV0pKV07XG4gICAgc1tqXSA9IHQ7XG4gIH1cblxuICAvLyBUaGUgXCJnXCIgbWV0aG9kIHJldHVybnMgdGhlIG5leHQgKGNvdW50KSBvdXRwdXRzIGFzIG9uZSBudW1iZXIuXG4gIChtZS5nID0gZnVuY3Rpb24oY291bnQpIHtcbiAgICAvLyBVc2luZyBpbnN0YW5jZSBtZW1iZXJzIGluc3RlYWQgb2YgY2xvc3VyZSBzdGF0ZSBuZWFybHkgZG91YmxlcyBzcGVlZC5cbiAgICB2YXIgdCwgciA9IDAsXG4gICAgICAgIGkgPSBtZS5pLCBqID0gbWUuaiwgcyA9IG1lLlM7XG4gICAgd2hpbGUgKGNvdW50LS0pIHtcbiAgICAgIHQgPSBzW2kgPSBtYXNrICYgKGkgKyAxKV07XG4gICAgICByID0gciAqIHdpZHRoICsgc1ttYXNrICYgKChzW2ldID0gc1tqID0gbWFzayAmIChqICsgdCldKSArIChzW2pdID0gdCkpXTtcbiAgICB9XG4gICAgbWUuaSA9IGk7IG1lLmogPSBqO1xuICAgIHJldHVybiByO1xuICAgIC8vIEZvciByb2J1c3QgdW5wcmVkaWN0YWJpbGl0eSwgdGhlIGZ1bmN0aW9uIGNhbGwgYmVsb3cgYXV0b21hdGljYWxseVxuICAgIC8vIGRpc2NhcmRzIGFuIGluaXRpYWwgYmF0Y2ggb2YgdmFsdWVzLiAgVGhpcyBpcyBjYWxsZWQgUkM0LWRyb3BbMjU2XS5cbiAgICAvLyBTZWUgaHR0cDovL2dvb2dsZS5jb20vc2VhcmNoP3E9cnNhK2ZsdWhyZXIrcmVzcG9uc2UmYnRuSVxuICB9KSh3aWR0aCk7XG59XG5cbi8vXG4vLyBjb3B5KClcbi8vIENvcGllcyBpbnRlcm5hbCBzdGF0ZSBvZiBBUkM0IHRvIG9yIGZyb20gYSBwbGFpbiBvYmplY3QuXG4vL1xuZnVuY3Rpb24gY29weShmLCB0KSB7XG4gIHQuaSA9IGYuaTtcbiAgdC5qID0gZi5qO1xuICB0LlMgPSBmLlMuc2xpY2UoKTtcbiAgcmV0dXJuIHQ7XG59O1xuXG4vL1xuLy8gZmxhdHRlbigpXG4vLyBDb252ZXJ0cyBhbiBvYmplY3QgdHJlZSB0byBuZXN0ZWQgYXJyYXlzIG9mIHN0cmluZ3MuXG4vL1xuZnVuY3Rpb24gZmxhdHRlbihvYmosIGRlcHRoKSB7XG4gIHZhciByZXN1bHQgPSBbXSwgdHlwID0gKHR5cGVvZiBvYmopLCBwcm9wO1xuICBpZiAoZGVwdGggJiYgdHlwID09ICdvYmplY3QnKSB7XG4gICAgZm9yIChwcm9wIGluIG9iaikge1xuICAgICAgdHJ5IHsgcmVzdWx0LnB1c2goZmxhdHRlbihvYmpbcHJvcF0sIGRlcHRoIC0gMSkpOyB9IGNhdGNoIChlKSB7fVxuICAgIH1cbiAgfVxuICByZXR1cm4gKHJlc3VsdC5sZW5ndGggPyByZXN1bHQgOiB0eXAgPT0gJ3N0cmluZycgPyBvYmogOiBvYmogKyAnXFwwJyk7XG59XG5cbi8vXG4vLyBtaXhrZXkoKVxuLy8gTWl4ZXMgYSBzdHJpbmcgc2VlZCBpbnRvIGEga2V5IHRoYXQgaXMgYW4gYXJyYXkgb2YgaW50ZWdlcnMsIGFuZFxuLy8gcmV0dXJucyBhIHNob3J0ZW5lZCBzdHJpbmcgc2VlZCB0aGF0IGlzIGVxdWl2YWxlbnQgdG8gdGhlIHJlc3VsdCBrZXkuXG4vL1xuZnVuY3Rpb24gbWl4a2V5KHNlZWQsIGtleSkge1xuICB2YXIgc3RyaW5nc2VlZCA9IHNlZWQgKyAnJywgc21lYXIsIGogPSAwO1xuICB3aGlsZSAoaiA8IHN0cmluZ3NlZWQubGVuZ3RoKSB7XG4gICAga2V5W21hc2sgJiBqXSA9XG4gICAgICBtYXNrICYgKChzbWVhciBePSBrZXlbbWFzayAmIGpdICogMTkpICsgc3RyaW5nc2VlZC5jaGFyQ29kZUF0KGorKykpO1xuICB9XG4gIHJldHVybiB0b3N0cmluZyhrZXkpO1xufVxuXG4vL1xuLy8gYXV0b3NlZWQoKVxuLy8gUmV0dXJucyBhbiBvYmplY3QgZm9yIGF1dG9zZWVkaW5nLCB1c2luZyB3aW5kb3cuY3J5cHRvIGFuZCBOb2RlIGNyeXB0b1xuLy8gbW9kdWxlIGlmIGF2YWlsYWJsZS5cbi8vXG5mdW5jdGlvbiBhdXRvc2VlZCgpIHtcbiAgdHJ5IHtcbiAgICB2YXIgb3V0O1xuICAgIGlmIChub2RlY3J5cHRvICYmIChvdXQgPSBub2RlY3J5cHRvLnJhbmRvbUJ5dGVzKSkge1xuICAgICAgLy8gVGhlIHVzZSBvZiAnb3V0JyB0byByZW1lbWJlciByYW5kb21CeXRlcyBtYWtlcyB0aWdodCBtaW5pZmllZCBjb2RlLlxuICAgICAgb3V0ID0gb3V0KHdpZHRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ID0gbmV3IFVpbnQ4QXJyYXkod2lkdGgpO1xuICAgICAgKGdsb2JhbC5jcnlwdG8gfHwgZ2xvYmFsLm1zQ3J5cHRvKS5nZXRSYW5kb21WYWx1ZXMob3V0KTtcbiAgICB9XG4gICAgcmV0dXJuIHRvc3RyaW5nKG91dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB2YXIgYnJvd3NlciA9IGdsb2JhbC5uYXZpZ2F0b3IsXG4gICAgICAgIHBsdWdpbnMgPSBicm93c2VyICYmIGJyb3dzZXIucGx1Z2lucztcbiAgICByZXR1cm4gWytuZXcgRGF0ZSwgZ2xvYmFsLCBwbHVnaW5zLCBnbG9iYWwuc2NyZWVuLCB0b3N0cmluZyhwb29sKV07XG4gIH1cbn1cblxuLy9cbi8vIHRvc3RyaW5nKClcbi8vIENvbnZlcnRzIGFuIGFycmF5IG9mIGNoYXJjb2RlcyB0byBhIHN0cmluZ1xuLy9cbmZ1bmN0aW9uIHRvc3RyaW5nKGEpIHtcbiAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoMCwgYSk7XG59XG5cbi8vXG4vLyBXaGVuIHNlZWRyYW5kb20uanMgaXMgbG9hZGVkLCB3ZSBpbW1lZGlhdGVseSBtaXggYSBmZXcgYml0c1xuLy8gZnJvbSB0aGUgYnVpbHQtaW4gUk5HIGludG8gdGhlIGVudHJvcHkgcG9vbC4gIEJlY2F1c2Ugd2UgZG9cbi8vIG5vdCB3YW50IHRvIGludGVyZmVyZSB3aXRoIGRldGVybWluaXN0aWMgUFJORyBzdGF0ZSBsYXRlcixcbi8vIHNlZWRyYW5kb20gd2lsbCBub3QgY2FsbCBtYXRoLnJhbmRvbSBvbiBpdHMgb3duIGFnYWluIGFmdGVyXG4vLyBpbml0aWFsaXphdGlvbi5cbi8vXG5taXhrZXkobWF0aC5yYW5kb20oKSwgcG9vbCk7XG5cbi8vXG4vLyBOb2RlanMgYW5kIEFNRCBzdXBwb3J0OiBleHBvcnQgdGhlIGltcGxlbWVudGF0aW9uIGFzIGEgbW9kdWxlIHVzaW5nXG4vLyBlaXRoZXIgY29udmVudGlvbi5cbi8vXG5pZiAoKHR5cGVvZiBtb2R1bGUpID09ICdvYmplY3QnICYmIG1vZHVsZS5leHBvcnRzKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gc2VlZHJhbmRvbTtcbiAgLy8gV2hlbiBpbiBub2RlLmpzLCB0cnkgdXNpbmcgY3J5cHRvIHBhY2thZ2UgZm9yIGF1dG9zZWVkaW5nLlxuICB0cnkge1xuICAgIG5vZGVjcnlwdG8gPSByZXF1aXJlKCdjcnlwdG8nKTtcbiAgfSBjYXRjaCAoZXgpIHt9XG59IGVsc2UgaWYgKCh0eXBlb2YgZGVmaW5lKSA9PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHtcbiAgZGVmaW5lKGZ1bmN0aW9uKCkgeyByZXR1cm4gc2VlZHJhbmRvbTsgfSk7XG59IGVsc2Uge1xuICAvLyBXaGVuIGluY2x1ZGVkIGFzIGEgcGxhaW4gc2NyaXB0LCBzZXQgdXAgTWF0aC5zZWVkcmFuZG9tIGdsb2JhbC5cbiAgbWF0aFsnc2VlZCcgKyBybmduYW1lXSA9IHNlZWRyYW5kb207XG59XG5cblxuLy8gRW5kIGFub255bW91cyBzY29wZSwgYW5kIHBhc3MgaW5pdGlhbCB2YWx1ZXMuXG59KShcbiAgLy8gZ2xvYmFsOiBgc2VsZmAgaW4gYnJvd3NlcnMgKGluY2x1ZGluZyBzdHJpY3QgbW9kZSBhbmQgd2ViIHdvcmtlcnMpLFxuICAvLyBvdGhlcndpc2UgYHRoaXNgIGluIE5vZGUgYW5kIG90aGVyIGVudmlyb25tZW50c1xuICAodHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnKSA/IHNlbGYgOiB0aGlzLFxuICBbXSwgICAgIC8vIHBvb2w6IGVudHJvcHkgcG9vbCBzdGFydHMgZW1wdHlcbiAgTWF0aCAgICAvLyBtYXRoOiBwYWNrYWdlIGNvbnRhaW5pbmcgcmFuZG9tLCBwb3csIGFuZCBzZWVkcmFuZG9tXG4pO1xuIl0sIm5hbWVzIjpbIkZsb2F0MzJBcnJheSIsInRhbmltb3RvU2ltaWxhcml0eSIsIngiLCJ5IiwidG90YWwiLCJ0cnVlQ291bnQiLCJjb21tb24iLCJhbmRXaXRoQ291bnRCaXRzIiwiZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eSIsInNpbWlsYXJpdHkiLCJhc3NlcnQiLCJjb25kaXRpb24iLCJtZXNzYWdlIiwiRXJyb3IiLCJ2ZWN0b3JEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwicCIsInEiLCJyZXN1bHQiLCJsZW4iLCJsZW5ndGgiLCJpIiwiTWF0aCIsInBvdyIsInNxcnQiLCJzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiczEiLCJzMiIsImRpc3QiLCJiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJkaWNlU2ltaWxhcml0eSIsIm1pbiIsImFzeW1tZXRyaWNTaW1pbGFyaXR5IiwibWF4IiwiYnJhdW5CbGFucXVldFNpbWlsYXJpdHkiLCJjb3NpbmVTaW1pbGFyaXR5IiwidG90YWxQcm9kIiwia3VsY3p5bnNraVNpbWlsYXJpdHkiLCJtY0Nvbm5hdWdoZXlTaW1pbGFyaXR5IiwiY291bnRCaXRzIiwiZGlmZiIsInJvZ290R29sZGJlcmdTaW1pbGFyaXR5IiwicnVzc2VsU2ltaWxhcml0eSIsInNva2FsU2ltaWxhcml0eSIsImludEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsIm51bWJlckRpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJhYnMiLCJBdmFpbGFibGVNZXRyaWNzIiwiTWV0cmljVG9EYXRhVHlwZSIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJyZXQiLCJrZXkiLCJ2YWwiLCJNZWFzdXJlIiwibWV0aG9kIiwiZGF0YVR5cGUiLCJjb25zdHJ1Y3RvciIsInRoaXMiLCJnZXRNZWFzdXJlIiwib3B0cyIsImRpY3QiLCJoYXNPd25Qcm9wZXJ0eSIsIm5hbWUiLCJzdGF0aWMiLCJhdmFpbGFibGVNZWFzdXJlcyIsIkRpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzIiwiaW5zZXJ0U21hbGxlciIsImRpc3RhbmNlc0FyIiwiaW5kZXhlcyIsIm51bSIsImluZGV4IiwibmV3UG9zaXRpb24iLCJmaW5kSW5kZXgiLCJ2IiwicG9wIiwic3BsaWNlIiwiRGlzdGFuY2VNYXRyaXhTZXJ2aWNlIiwiX3dvcmtlcnMiLCJfd29ya2VyQ291bnQiLCJfdGVybWluYXRlT25Db21wbGV0ZSIsInVzZUNvbmN1cnJlbnRXb3JrZXJzIiwidGVybWluYXRlT25Db21wbGV0ZSIsInRocmVhZENvdW50IiwibmF2aWdhdG9yIiwiaGFyZHdhcmVDb25jdXJyZW5jeSIsIkFycmF5IiwiZmlsbCIsIm1hcCIsIldvcmtlciIsIlVSTCIsImFzeW5jIiwidmFsdWVzIiwiZm5OYW1lIiwibm9ybWFsaXplIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJwcm9taXNlcyIsInRvdGFsTGVuZ3RoIiwiY2h1bmtTaXplIiwiZGlzdGFuY2VNYXRyaXgiLCJlbmRSb3ciLCJlbmRDb2wiLCJsbWluIiwibG1heCIsIk51bWJlciIsIk1JTl9WQUxVRSIsInN0YXJ0IiwiZmxvb3IiLCJlbmQiLCJzdGFydFJvdyIsInN0YXJ0Q29sIiwicG9zdE1lc3NhZ2UiLCJjaHVuY2tTaXplIiwicmVzb2x2ZVdvcmtlciIsInJlamVjdFdvcmtlciIsIm9ubWVzc2FnZSIsImRhdGEiLCJlcnJvciIsImRpc3RhbmNlTWF0cml4RGF0YSIsInRlcm1pbmF0ZSIsInNldCIsImFsbCIsImZvckVhY2giLCJ2YWx1ZSIsImUiLCJ3b3JrZXIiLCJ0YXVSYW5kSW50IiwibiIsInJhbmRvbSIsInRhdVJhbmQiLCJlbXB0eSIsIm91dHB1dCIsInB1c2giLCJ1bmRlZmluZWQiLCJyYW5nZSIsIl8iLCJmaWxsZWQiLCJ6ZXJvcyIsIm1lYW4iLCJpbnB1dCIsInN1bSIsInJlamVjdGlvblNhbXBsZSIsIm5TYW1wbGVzIiwicG9vbFNpemUiLCJyZWplY3RTYW1wbGUiLCJqIiwiYnJva2VuIiwiayIsInJlc2hhcGUyZCIsImEiLCJiIiwicm93cyIsImNvbCIsIm1ha2VIZWFwIiwiblBvaW50cyIsInNpemUiLCJtYWtlQXJyYXlzIiwiZmlsbFZhbHVlIiwiaGVhcCIsIkluZmluaXR5IiwiaGVhcFB1c2giLCJyb3ciLCJ3ZWlnaHQiLCJmbGFnIiwiaW5kaWNlcyIsInVuY2hlY2tlZEhlYXBQdXNoIiwid2VpZ2h0cyIsImlzTmV3IiwiaVN3YXAiLCJpYzEiLCJpYzIiLCJoZWFwU2hhcGUyIiwiYnVpbGRDYW5kaWRhdGVzIiwiY3VycmVudEdyYXBoIiwiblZlcnRpY2VzIiwibk5laWdoYm9ycyIsIm1heENhbmRpZGF0ZXMiLCJjYW5kaWRhdGVOZWlnaGJvcnMiLCJpZHgiLCJpc24iLCJkIiwiZGVoZWFwU29ydCIsImluZEhlYXAiLCJkaXN0SGVhcCIsImluZEhlYXBJbmRleCIsImRpc3RIZWFwSW5kZXgiLCJ0ZW1wMSIsInRlbXAyIiwic2lmdERvd24iLCJoZWFwMSIsImhlYXAyIiwiY2VpbGluZyIsImVsdCIsImxlZnRDaGlsZCIsInJpZ2h0Q2hpbGQiLCJzd2FwIiwic21hbGxlc3RGbGFnZ2VkIiwiaW5kIiwibWluRGlzdCIsInJlc3VsdEluZGV4IiwiU3BhcnNlTWF0cml4IiwiZW50cmllcyIsIk1hcCIsIm5Sb3dzIiwibkNvbHMiLCJjb2xzIiwiZGltcyIsImNoZWNrRGltcyIsIm1ha2VLZXkiLCJoYXMiLCJnZXQiLCJkZWZhdWx0VmFsdWUiLCJnZXRBbGwiLCJvcmRlcmVkIiwicm93Q29sVmFsdWVzIiwic29ydCIsImdldERpbXMiLCJnZXRSb3dzIiwiZnJvbSIsIl9rZXkiLCJnZXRDb2xzIiwiZ2V0VmFsdWVzIiwiZm4iLCJ2YWxzIiwidG9BcnJheSIsIm1hdHJpeCIsIm9sZFJvd3MiLCJvbGRDb2xzIiwib2xkVmFscyIsIm1hdGxlbiIsIkludDMyQXJyYXkiLCJwYWlyd2lzZU11bHRpcGx5IiwiZWxlbWVudFdpc2UiLCJhZGQiLCJzdWJ0cmFjdCIsIm11bHRpcGx5U2NhbGFyIiwic2NhbGFyIiwiZWxpbWluYXRlWmVyb3MiLCJtIiwiemVyb0luZGljZXMiLCJTZXQiLCJyZW1vdmVCeVplcm9JbmRleCIsIm5leHRWYWx1ZXMiLCJmaWx0ZXIiLCJuZXh0Um93cyIsIm5leHRDb2xzIiwibm9ybVR5cGUiLCJub3JtRm4iLCJub3JtRm5zIiwiY29sc0J5Um93IiwibmV4dE1hdHJpeCIsIm5vcm0iLCJ4cyIsIm9wIiwidmlzaXRlZCIsIm9wZXJhdGUiLCJuZXh0VmFsdWUiLCJ2YWx1ZXNBIiwicm93c0EiLCJjb2xzQSIsInZhbHVlc0IiLCJyb3dzQiIsImNvbHNCIiwiZ2V0Q1NSIiwiaW5kcHRyIiwiY3VycmVudFJvdyIsIkZsYXRUcmVlIiwiaHlwZXJwbGFuZXMiLCJvZmZzZXRzIiwiY2hpbGRyZW4iLCJtYWtlRm9yZXN0IiwiblRyZWVzIiwibGVhZlNpemUiLCJ0cmVlcyIsIm1ha2VFdWNsaWRlYW5UcmVlIiwibWFrZVRyZWUiLCJmb3Jlc3QiLCJ0cmVlIiwibk5vZGVzIiwibnVtTm9kZXMiLCJuTGVhdmVzIiwibnVtTGVhdmVzIiwiaHlwZXJwbGFuZSIsInJlY3Vyc2l2ZUZsYXR0ZW4iLCJmbGF0dGVuVHJlZSIsInNwbGl0UmVzdWx0cyIsImxlZnRJbmRleCIsInJpZ2h0SW5kZXgiLCJsZWZ0IiwicmlnaHQiLCJoeXBlcnBsYW5lT2Zmc2V0IiwiaHlwZXJwbGFuZVZlY3RvciIsIm5MZWZ0IiwiblJpZ2h0Iiwic2lkZSIsIm1hcmdpbiIsImluZGljZXNMZWZ0IiwiaW5kaWNlc1JpZ2h0Iiwib2Zmc2V0IiwiZXVjbGlkZWFuUmFuZG9tUHJvamVjdGlvblNwbGl0IiwiaXNMZWFmIiwibm9kZU51bSIsImxlYWZOdW0iLCJvbGROb2RlTnVtIiwicmVzIiwic2VsZWN0U2lkZSIsInBvaW50Iiwic2VhcmNoRmxhdFRyZWUiLCJub2RlIiwiU01PT1RIX0tfVE9MRVJBTkNFIiwiTUlOX0tfRElTVF9TQ0FMRSIsIlVNQVAiLCJsZWFybmluZ1JhdGUiLCJsb2NhbENvbm5lY3Rpdml0eSIsIm5Db21wb25lbnRzIiwibkVwb2NocyIsIm5lZ2F0aXZlU2FtcGxlUmF0ZSIsInJlcHVsc2lvblN0cmVuZ3RoIiwic2V0T3BNaXhSYXRpbyIsInNwcmVhZCIsInRyYW5zZm9ybVF1ZXVlU2l6ZSIsInRhcmdldE1ldHJpYyIsInRhcmdldFdlaWdodCIsInRhcmdldE5OZWlnaGJvcnMiLCJkaXN0YW5jZUZuIiwibnVtZXJpYyIsImtubkluZGljZXMiLCJrbm5EaXN0YW5jZXMiLCJncmFwaCIsIlgiLCJpc0luaXRpYWxpemVkIiwicnBGb3Jlc3QiLCJpbml0RnJvbVJhbmRvbSIsImluaXRGcm9tVHJlZSIsInNlYXJjaCIsInNlYXJjaEdyYXBoIiwiWSIsImVtYmVkZGluZyIsIm9wdGltaXphdGlvblN0YXRlIiwiT3B0aW1pemF0aW9uU3RhdGUiLCJuZWlnaGJvcnMiLCJwYXJhbXMiLCJzZXRQYXJhbSIsImZpdCIsImluaXRpYWxpemVGaXQiLCJvcHRpbWl6ZUxheW91dCIsImNhbGxiYWNrIiwib3B0aW1pemVMYXlvdXRBc3luYyIsInNldFN1cGVydmlzZWRQcm9qZWN0aW9uIiwic2V0UHJlY29tcHV0ZWRLTk4iLCJnZXRORXBvY2hzIiwia25uUmVzdWx0cyIsIm5lYXJlc3ROZWlnaGJvcnMiLCJmdXp6eVNpbXBsaWNpYWxTZXQiLCJtYWtlU2VhcmNoRm5zIiwibWFrZVNlYXJjaEdyYXBoIiwicHJvY2Vzc0dyYXBoRm9yU3VwZXJ2aXNlZFByb2plY3Rpb24iLCJoZWFkIiwidGFpbCIsImVwb2Noc1BlclNhbXBsZSIsImluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nIiwiaW5pdGlhbGl6ZU9wdGltaXphdGlvbiIsInByZXBhcmVGb3JPcHRpbWl6YXRpb25Mb29wIiwicXVlcnlQb2ludHMiLCJfaGVhcCIsIl90cmVlIiwiaW5pdGlhbGl6YXRpb24iLCJ0cmllZCIsInZlcnRleCIsImNhbmRpZGF0ZXMiLCJzbGljZSIsImNhbmRpZGF0ZSIsImtubiIsImRpc3RhbmNlcyIsIm5laWdoYm9yIiwiZGlzdGFuY2UiLCJ0cmFuc2Zvcm0iLCJ0b1RyYW5zZm9ybSIsInJhd0RhdGEiLCJpbml0IiwicmVzdWx0cyIsImFkanVzdGVkTG9jYWxDb25uZWN0aXZpdHkiLCJzaWdtYXMiLCJyaG9zIiwic21vb3RoS05ORGlzdGFuY2UiLCJjb21wdXRlTWVtYmVyc2hpcFN0cmVuZ3RocyIsImNzck1hdHJpeCIsIl96IiwiaW5pdFRyYW5zZm9ybSIsImdyYXBoTWF4IiwibWFrZUVwb2Noc1BlclNhbXBsZSIsImFzc2lnbk9wdGltaXphdGlvblN0YXRlUGFyYW1ldGVycyIsImhlYWRFbWJlZGRpbmciLCJ0YWlsRW1iZWRkaW5nIiwiY3VycmVudEVwb2NoIiwiZmFyRGlzdCIsImNhdGVnb3JpY2FsU2ltcGxpY2lhbFNldEludGVyc2VjdGlvbiIsInN0ZXAiLCJvcHRpbWl6ZUxheW91dFN0ZXAiLCJnZXRFbWJlZGRpbmciLCJtZXRyaWNOTkRlc2NlbnQiLCJsZWFmQXJyYXkiLCJuSXRlcnMiLCJkZWx0YSIsInJobyIsInJwVHJlZUluaXQiLCJjIiwiY2oiLCJjayIsInJvdW5kIiwibG9nIiwibG9nMiIsInNwYXJzZU1hdHJpeCIsInRyYW5zcG9zZSIsInByb2RNYXRyaXgiLCJzaW1wbGljaWFsU2V0IiwidGFyZ2V0IiwidW5rbm93bkRpc3QiLCJpbnRlcnNlY3Rpb24iLCJleHAiLCJmYXN0SW50ZXJzZWN0aW9uIiwicmVzZXRMb2NhbENvbm5lY3Rpdml0eSIsIm5JdGVyIiwiYmFuZHdpZHRoIiwibG8iLCJoaSIsIm1pZCIsIml0aERpc3RhbmNlcyIsIm5vblplcm9EaXN0cyIsImludGVycG9sYXRpb24iLCJwc3VtIiwibWVhbkl0aERpc3RhbmNlcyIsIm1lYW5EaXN0YW5jZXMiLCJncmFwaFZhbHVlcyIsImVudHJ5IiwidyIsInN0YXRlIiwiYXNzaWduIiwiZGltIiwibW92ZU90aGVyIiwiZXBvY2hzUGVyTmVnYXRpdmVTYW1wbGUiLCJlcG9jaE9mTmV4dE5lZ2F0aXZlU2FtcGxlIiwiZXBvY2hPZk5leHRTYW1wbGUiLCJpbml0aWFsQWxwaGEiLCJhbHBoYSIsImdhbW1hIiwieHYiLCJ5diIsInBhcmFtZXRlclZhbHVlcyIsInBhcmFtZXRlcml6ZWRGdW5jdGlvbiIsIm9wdGlvbnMiLCJtYXhJdGVyYXRpb25zIiwiZ3JhZGllbnREaWZmZXJlbmNlIiwiZGFtcGluZyIsImVycm9yVG9sZXJhbmNlIiwibWluVmFsdWVzIiwibWF4VmFsdWVzIiwiaW5pdGlhbFZhbHVlcyIsInBhcmFtZXRlcnMiLCJwYXJMZW4iLCJNQVhfU0FGRV9JTlRFR0VSIiwiTUlOX1NBRkVfSU5URUdFUiIsIml0ZXJhdGlvbiIsImVycm9yQ2FsY3VsYXRpb24iLCJjb252ZXJnZWQiLCJpc05hTiIsInBhcmFtZXRlckVycm9yIiwiaXRlcmF0aW9ucyIsImZpbmRBQlBhcmFtcyIsImN1cnJlbnQiLCJvdGhlciIsImRpc3RTcXVhcmVkIiwickRpc3QiLCJncmFkQ29lZmYiLCJncmFkRCIsImNsaXAiLCJuTmVnU2FtcGxlcyIsImVwb2NoQ2FsbGJhY2siLCJlcG9jaENvbXBsZXRlZCIsInNob3VsZFN0b3AiLCJpc0ZpbmlzaGVkIiwic2V0VGltZW91dCIsImVyciIsImNsaXBWYWx1ZSIsIlNwYXJzZU1hdHJpeFNlcnZpY2UiLCJ0aHJlc2hvbGQiLCJtYXRTaXplIiwibWluVGhyZXNob2xkIiwiZ2V0TWluaW1hbFRocmVzaG9sZCIsImNvbnNvbGUiLCJ3b3JrZXJzIiwic3RhcnRJZHgiLCJlbmRJZHgiLCJmdWxsU2l6ZSIsImFjYyIsIm5OZWlnaGJvdXJzIiwibXVsdGlDb2x1bW5LTk4iLCJmbk5hbWVzIiwiYWdncmVnYXRpb25NZXRob2QiLCJFVUNMSURFQU4iLCJzb21lIiwia25uSW5kZXhlcyIsImtublJlcyIsInRocmVzaG9sZFdvcmtlcnMiLCJzaHVmZmxlZFZhbHVlcyIsIm1heFNhbXBsZVNpemUiLCJzYW1wbGVTaXNlIiwidGVzdFNldFNpemVQZXJXb3JrZXIiLCJ0UHJvbWlzZXMiLCJzYW1wbGVMZW5ndGgiLCJnZXRTYW1wbGVEaXN0YW5jZXMiLCJjbnQiLCJtaSIsIm1qIiwiTXVsdGlDb2x1bW5SZWR1Y2VyIiwiVFNORVJlZHVjZXIiLCJyZWR1Y2VyIiwiZGlzdGFuY2VGbmFtZXMiLCJkaXN0YW5jZUZucyIsImRpc3RhbmNlRm5BcmdzIiwic3VwZXIiLCJtYXRyaXhTZXJ2aWNlIiwiYWdncmVnYXRlIiwiTUFOSEFUVEFOIiwidnMiLCJjYWxjIiwibWF0cml4UHJveHkiLCJjb25kZW5zZWRBcnJheSIsImxpbmVhckZ1bmMiLCJkbUxpbmVhckluZGV4IiwibGluZWFySW5kZXgiLCJpTnVtIiwiak51bSIsImlkeDFIYW5kbGVyIiwiaWR4MSIsIl9yZWNlaXZlciIsIlByb3h5IiwiaWR4MiIsImlkeDJIYW5kbGVyIiwiZGlzdGFuY2VNYXRyaXhQcm94eSIsImluaXREYXRhRGlzdCIsImdldFNvbHV0aW9uIiwiVU1BUFJlZHVjZXIiLCJ2ZWN0b3JzIiwicHJvZ3Jlc3NGdW5jIiwicmFuZG9tU2VlZCIsIkRhdGUiLCJyYW5kb21GbiIsIl9wYXJhbGxlbERpc3RhbmNlV29ya2VycyIsInRpbWUiLCJ0aW1lRW5kIiwiZml0QXN5bmMiLCJlcG9jIiwiQXZhaWxhYmxlUmVkdWNlcnMiLCJNdWx0aUNvbERpbVJlZHVjZXIiLCJtZXRyaWNzIiwiZGlzdGFuY2VBZ2dyZWdhdGlvbiIsIm1lYXN1cmVzIiwibWVhc3VyZSIsImJpdEFycmF5TGVuZ3RoIiwiX2xlbmd0aCIsIl9kYXRhIiwidHlwZU5hbWUiLCJhdmFpbGFibGVNZXRob2RzIiwiYXZhaWxhYmxlTWV0cmljcyIsImFucyIsIm9iaiIsImFycmF5IiwiZXBvY2hOdW0iLCJlcG9jaHNMZW5ndGgiLCJzZWxmIiwiY29sdW1uc0RhdGEiLCJkaXN0YW5jZU1ldHJpY3MiLCJvbk1lc3NhZ2UiLCJleHBvcnRzIiwidHNuZV8xIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiVFNORSIsIm9wdCIsInJldHVyblYiLCJ2VmFsdWUiLCJpdGVyIiwicGVycGxleGl0eSIsImdldG9wdCIsImVwc2lsb24iLCJmaWVsZCIsImRlZmF1bHR2YWwiLCJnYXVzc1JhbmRvbSIsInUiLCJyIiwicmFuZG4iLCJtdSIsInN0ZCIsIkFycmF5QnVmZmVyIiwiYXJyIiwiRmxvYXQ2NEFycmF5IiwicmFuZG4yZCIsInMiLCJ1c2VzIiwieGhlcmUiLCJMMiIsIngxIiwieDIiLCJEIiwieDFpIiwieDJpIiwieHRvZCIsIk4iLCJkMnAiLCJ0b2wiLCJuZiIsImhUYXJnZXQiLCJQIiwicHJvdyIsImJldGFtaW4iLCJiZXRhbWF4IiwiYmV0YSIsImRvbmUiLCJtYXh0cmllcyIsInBqIiwibkhlcmUiLCJwT3V0IiwiTjIiLCJzaWduIiwiaW5pdERhdGFSYXciLCJkaXN0cyIsImluaXRTb2x1dGlvbiIsImdhaW5zIiwieXN0ZXAiLCJjZyIsImNvc3RHcmFkIiwiY29zdCIsImdyYWQiLCJ5bWVhbiIsImdpZCIsInNpZCIsImdhaW5pZCIsIm5ld2dhaW4iLCJuZXdzaWQiLCJkZWJ1Z0dyYWQiLCJ5b2xkIiwiY2cwIiwiY2cxIiwiYW5hbHl0aWMiLCJudW1lcmljYWwiLCJwbXVsIiwicXVBcnIiLCJxc3VtIiwiZHN1bSIsImRoZXJlIiwicXUiLCJOTiIsIlEiLCJnc3VtIiwicHJlbXVsdCIsImFsZWEiLCJ4b3IxMjgiLCJ4b3J3b3ciLCJ4b3JzaGlmdDciLCJ4b3I0MDk2IiwidHljaGVpIiwic3IiLCJtb2R1bGUiLCJnbG9iYWwiLCJkZWZpbmUiLCJBbGVhIiwic2VlZCIsIm1lIiwibWFzaCIsIlN0cmluZyIsImgiLCJjaGFyQ29kZUF0IiwibmV4dCIsInQiLCJzMCIsImNvcHkiLCJmIiwiaW1wbCIsInhnIiwicHJuZyIsImludDMyIiwiZG91YmxlIiwicXVpY2siLCJYb3JHZW4iLCJzdHJzZWVkIiwieiIsImxpbWl0IiwicG9vbCIsIm1hdGgiLCJub2RlY3J5cHRvIiwid2lkdGgiLCJzdGFydGRlbm9tIiwic2lnbmlmaWNhbmNlIiwib3ZlcmZsb3ciLCJtYXNrIiwic2VlZHJhbmRvbSIsInNob3J0c2VlZCIsIm1peGtleSIsImZsYXR0ZW4iLCJlbnRyb3B5IiwidG9zdHJpbmciLCJvdXQiLCJyYW5kb21CeXRlcyIsIlVpbnQ4QXJyYXkiLCJjcnlwdG8iLCJtc0NyeXB0byIsImdldFJhbmRvbVZhbHVlcyIsImJyb3dzZXIiLCJwbHVnaW5zIiwic2NyZWVuIiwiYXV0b3NlZWQiLCJhcmM0IiwiQVJDNCIsImciLCJTIiwicGFzcyIsImlzX21hdGhfY2FsbCIsImtleWxlbiIsImNvdW50IiwiZGVwdGgiLCJwcm9wIiwidHlwIiwic21lYXIiLCJzdHJpbmdzZWVkIiwiZnJvbUNoYXJDb2RlIiwiYXBwbHkiLCJleCJdLCJzb3VyY2VSb290IjoiIn0=