@datagrok/eda 1.1.16 → 1.1.18

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/590.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunkeda=self.webpackChunkeda||[]).push([[590],{2590:(e,n,t)=>{t.d(n,{_:()=>a});var r=t(7862),s=t(6814);class a{constructor(){this._workerCount=Math.max(navigator.hardwareConcurrency-2,1)}async calcMultiColumn(e,n,s,a=[{}],o=[1],l=r.y.EUCLIDEAN){const h=e[0].length*(e[0].length-1)/2,i=Math.floor(h/this._workerCount),c=e[0].length>2e4?await this.getMinimalThreshold(e,n,a,o,l):0;s<c&&(console.log(`using threshold ${c}`),s=c),a.forEach(((e,n)=>a[n].threshold=s));const w=new Array(this._workerCount),g=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(t.p+t.u(23),t.b))));for(let t=0;t<this._workerCount;t++)w[t]=new Promise(((r,c)=>{const w=t*i,u=t===this._workerCount-1?h:(t+1)*i;u<=w&&r({i:new Int32Array(0),j:new Int32Array(0),distance:new Float32Array(0),idx:t}),g[t].postMessage({values:e,startIdx:w,endIdx:u,threshold:s,fnNames:n,opts:a,weights:o,aggregationMethod:l}),g[t].onmessage=({data:{error:e,i:n,j:s,distance:a}})=>{e?(g[t].terminate(),c(e)):(g[t].terminate(),r({i:n,j:s,distance:a,idx:t}))}}));const u=await Promise.all(w),d=u.reduce(((e,n)=>e+n.i.length),0),k=new Int32Array(d),m=new Int32Array(d),y=new Float32Array(d);let f=0;for(const e of u)k.set(e.i,f),m.set(e.j,f),y.set(e.distance,f),f+=e.i.length;return{i:k,j:m,distance:y}}async calc(e,n,t,r={}){return await this.calcMultiColumn([e],[n],t,[r],[1])}async getKNN(e,n,t=15,r={}){return await this.multiColumnKNN([e],[n],t,[r],[1])}async getThresholdKNN(e,n,t=.8,r={}){return await this.multiColumnThresholdKnn([e],[n],t,[r],[1])}async multiColumnThresholdKnn(e,n,s=.8,a,o,l=r.y.EUCLIDEAN){if(e.length!==n.length||e.length!==a.length||e.length!==o.length)throw new Error("values, distance functions, options and weights arrays should have the same length");if(e.some((n=>n.length!==e[0].length)))throw new Error("all values arrays should have the same length");const h=e[0].length*(e[0].length-1)/2,i=Math.floor(h/this._workerCount),c=new Array(this._workerCount),w=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(t.p+t.u(427),t.b))));for(let t=0;t<this._workerCount;t++)c[t]=new Promise(((r,c)=>{const g=t*i,u=t===this._workerCount-1?h:(t+1)*i;u<=g&&r({knnDistances:new Array(0),knnIndexes:new Array(0)}),w[t].postMessage({values:e,startIdx:g,endIdx:u,fnNames:n,opts:a,threshold:s,weights:o,aggregationMethod:l}),w[t].onmessage=({data:{error:e,knnDistances:n,knnIndexes:s}})=>{e?(w[t].terminate(),c(e)):(w[t].terminate(),r({knnDistances:n,knnIndexes:s}))}}));const g=await Promise.all(c),u=new Int32Array(e[0].length);for(const n of g)for(let t=0;t<e[0].length;++t)u[t]+=n.knnIndexes[t]?.length??0;const d={knnDistances:new Array(e[0].length).fill(null).map(((e,n)=>new Array(u[n]))),knnIndexes:new Array(e[0].length).fill(null).map(((e,n)=>new Array(u[n])))};for(const n of g)for(let t=0;t<e[0].length;++t)for(let e=0;e<n.knnDistances[t]?.length;++e)d.knnDistances[t][u[t]-1]=n.knnDistances[t][e],d.knnIndexes[t][u[t]-1]=n.knnIndexes[t][e],u[t]-=1;return d}async multiColumnKNN(e,n,a=15,o,l,h=r.y.EUCLIDEAN){if(e.length!==n.length||e.length!==o.length||e.length!==l.length)throw new Error("values, distance functions, options and weights arrays should have the same length");if(e.some((n=>n.length!==e[0].length)))throw new Error("all values arrays should have the same length");const i=e[0].length*(e[0].length-1)/2,c=Math.floor(i/this._workerCount),w=new Array(this._workerCount),g=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(t.p+t.u(282),t.b))));for(let t=0;t<this._workerCount;t++)w[t]=new Promise(((r,s)=>{const w=t*c,u=t===this._workerCount-1?i:(t+1)*c;u<=w&&r({knnDistances:new Array(0),knnIndexes:new Array(0)}),g[t].postMessage({values:e,startIdx:w,endIdx:u,fnNames:n,opts:o,nNeighbours:a,weights:l,aggregationMethod:h}),g[t].onmessage=({data:{error:e,knnDistances:n,knnIndexes:a}})=>{e?(g[t].terminate(),s(e)):(g[t].terminate(),r({knnDistances:n,knnIndexes:a}))}}));const u=await Promise.all(w),d={knnDistances:new Array(e[0].length).fill(null).map((()=>new Array(a).fill(99999))),knnIndexes:new Array(e[0].length).fill(null).map((()=>new Array(a).fill(-1)))};for(const n of u)for(let t=0;t<e[0].length;++t)for(let e=0;e<n.knnDistances[t]?.length;++e)(0,s.cZ)(d.knnDistances[t],d.knnIndexes[t],n.knnDistances[t][e],n.knnIndexes[t][e]);return d}async getSampleDistances(e,n,s=[],a,o=r.y.EUCLIDEAN){const l=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(t.p+t.u(40),t.b))));try{const t=e[0].length*(e[0].length-1)/2,r=Math.floor(t/this._workerCount),h=1e6,i=Math.max(Math.min(t/1e3,h),Math.min(t,h)),c=Math.floor(i/this._workerCount),w=new Array(this._workerCount);for(let h=0;h<this._workerCount;h++)w[h]=new Promise(((i,w)=>{const g=h*r,u=h===this._workerCount-1?t:(h+1)*r;l[h].postMessage({values:e,startIdx:g,endIdx:u,sampleLength:c,fnNames:n,opts:s,weights:a,aggregationMethod:o}),l[h].onmessage=({data:{error:e,distance:n}})=>{l[h].terminate(),e?w(e):i({distance:n})}}));const g=await Promise.all(w),u=g.reduce(((e,n)=>e+n.distance.length),0),d=new Float32Array(u);let k=0;for(const e of g)d.set(e.distance,k),k+=e.distance.length;return d.sort(),d}catch(e){return l?.forEach((e=>e?.terminate())),console.error(e),new Float32Array(1).fill(.5)}}async getMinimalThreshold(e,n,t=[],s,a=r.y.EUCLIDEAN){try{const r=e.length*(e.length-1)/2,o=await this.getSampleDistances(e,n,t,s,a);return 1-o[Math.floor(7e7/r*o.length)]}catch(e){return console.error(e),.5}}static calcSync(e,n,t,r){const a=[],o=[],l=[];let h=0,i=0,c=0;const w=e.length*(e.length-1)/2;for(;h<w;){const n=(0,s.kK)(e[i])||(0,s.kK)(e[c])?1:t(e[i],e[c]);1-n>=r&&(a.push(i),o.push(c),l.push(n)),h++,c++,c===e.length&&(i++,c=i+1)}return{i:new Int32Array(a),j:new Int32Array(o),distance:new Float32Array(l)}}}},7862:(e,n,t)=>{var r;t.d(n,{y:()=>r}),function(e){e.EUCLIDEAN="EUCLIDEAN",e.MANHATTAN="MANHATTAN"}(r||(r={}))}}]);
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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R0FDeEMsTUFBTWMsRUFBSSxHQUNKZSxFQUFJLEdBQ0owQyxFQUFZLEdBQ2xCLElBQUlDLEVBQU0sRUFDTkMsRUFBSyxFQUNMQyxFQUFLLEVBQ1QsTUFBTW5DLEVBQVd6QyxFQUFPTyxRQUFVUCxFQUFPTyxPQUFTLEdBQUssRUFDdkQsS0FBT21FLEVBQU1qQyxHQUFVLENBRW5CLE1BQU1vQyxHQUFTLFFBQU03RSxFQUFPMkUsTUFBUyxRQUFNM0UsRUFBTzRFLElBQ1QsRUFBckNKLEVBQVd4RSxFQUFPMkUsR0FBSzNFLEVBQU80RSxJQUNmLEVBQUlDLEdBQ0wzRSxJQUNkYyxFQUFFOEQsS0FBS0gsR0FDUDVDLEVBQUUrQyxLQUFLRixHQUNQSCxFQUFVSyxLQUFLRCxJQUVuQkgsSUFDQUUsSUFDSUEsSUFBTzVFLEVBQU9PLFNBQ2RvRSxJQUNBQyxFQUFLRCxFQUFLLEVBRWxCLENBSUEsTUFBTyxDQUFFM0QsRUFITSxJQUFJYyxXQUFXZCxHQUdWZSxFQUZMLElBQUlELFdBQVdDLEdBRUNDLFNBRFQsSUFBSUMsYUFBYXdDLEdBRTNDLEUsaUJDdFBHLElBQUlNLEUsaUJBQ1gsU0FBV0EsR0FDUEEsRUFBc0MsVUFBSSxZQUMxQ0EsRUFBc0MsVUFBSSxXQUM3QyxDQUhELENBR0dBLElBQStCQSxFQUE2QixDQUFDLEciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L3NwYXJzZS1tYXRyaXgtc2VydmljZS5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L3R5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBpbnNlcnRTbWFsbGVyLCBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IGNsYXNzIFNwYXJzZU1hdHJpeFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl93b3JrZXJDb3VudCA9IE1hdGgubWF4KG5hdmlnYXRvci5oYXJkd2FyZUNvbmN1cnJlbmN5IC0gMiwgMSk7XG4gICAgfVxuICAgIGFzeW5jIGNhbGNNdWx0aUNvbHVtbih2YWx1ZXMsIGZuTmFtZXMsIHRocmVzaG9sZCwgb3B0cyA9IFt7fV0sIHdlaWdodHMgPSBbMV0sIGFnZ3JlZ2F0aW9uTWV0aG9kID0gRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMuRVVDTElERUFOKSB7XG4gICAgICAgIGNvbnN0IG1hdFNpemUgPSB2YWx1ZXNbMF0ubGVuZ3RoICogKHZhbHVlc1swXS5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGguZmxvb3IobWF0U2l6ZSAvIHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3QgbWluVGhyZXNob2xkID0gdmFsdWVzWzBdLmxlbmd0aCA+IDIwMDAwID9cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0TWluaW1hbFRocmVzaG9sZCh2YWx1ZXMsIGZuTmFtZXMsIG9wdHMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kKSA6IDA7XG4gICAgICAgIGlmICh0aHJlc2hvbGQgPCBtaW5UaHJlc2hvbGQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGB1c2luZyB0aHJlc2hvbGQgJHttaW5UaHJlc2hvbGR9YCk7XG4gICAgICAgICAgICB0aHJlc2hvbGQgPSBtaW5UaHJlc2hvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgb3B0cy5mb3JFYWNoKChfLCBpKSA9PiBvcHRzW2ldWyd0aHJlc2hvbGQnXSA9IHRocmVzaG9sZCk7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3Qgd29ya2VycyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudClcbiAgICAgICAgICAgIC5maWxsKG51bGwpLm1hcCgoKSA9PiBuZXcgV29ya2VyKG5ldyBVUkwoJy4vc3BhcnNlLW1hdHJpeC13b3JrZXInLCBpbXBvcnQubWV0YS51cmwpKSk7XG4gICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHRoaXMuX3dvcmtlckNvdW50OyBpZHgrKykge1xuICAgICAgICAgICAgcHJvbWlzZXNbaWR4XSA9IG5ldyBQcm9taXNlKChyZXNvbHZlV29ya2VyLCByZWplY3RXb3JrZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydElkeCA9IGlkeCAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRJZHggPSBpZHggPT09IHRoaXMuX3dvcmtlckNvdW50IC0gMSA/IG1hdFNpemUgOiAoaWR4ICsgMSkgKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgaWYgKGVuZElkeCA8PSBzdGFydElkeClcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZVdvcmtlcih7IGk6IG5ldyBJbnQzMkFycmF5KDApLCBqOiBuZXcgSW50MzJBcnJheSgwKSwgZGlzdGFuY2U6IG5ldyBGbG9hdDMyQXJyYXkoMCksIGlkeCB9KTtcbiAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0ucG9zdE1lc3NhZ2UoeyB2YWx1ZXMsIHN0YXJ0SWR4LCBlbmRJZHgsIHRocmVzaG9sZCwgZm5OYW1lcywgb3B0cywgd2VpZ2h0cywgYWdncmVnYXRpb25NZXRob2QgfSk7XG4gICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGksIGosIGRpc3RhbmNlIH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdFdvcmtlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0udGVybWluYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlV29ya2VyKHsgaSwgaiwgZGlzdGFuY2UsIGlkeCB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgICAgICBjb25zdCBmdWxsU2l6ZSA9IHJlc3VsdHMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLmkubGVuZ3RoLCAwKTtcbiAgICAgICAgY29uc3QgaSA9IG5ldyBJbnQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgY29uc3QgaiA9IG5ldyBJbnQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBuZXcgRmxvYXQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICAgIC8vIHNldHRpbmcgdGhlIHJlc3VsdHNcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgaS5zZXQocmVzLmksIG9mZnNldCk7XG4gICAgICAgICAgICBqLnNldChyZXMuaiwgb2Zmc2V0KTtcbiAgICAgICAgICAgIGRpc3RhbmNlLnNldChyZXMuZGlzdGFuY2UsIG9mZnNldCk7XG4gICAgICAgICAgICBvZmZzZXQgKz0gcmVzLmkubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGksIGosIGRpc3RhbmNlIH07XG4gICAgfVxuICAgIGFzeW5jIGNhbGModmFsdWVzLCBmbk5hbWUsIHRocmVzaG9sZCwgb3B0cyA9IHt9KSB7XG4gICAgICAgIC8vc2l6ZSBvZiBmdWxsIG1hdHJpeFxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5jYWxjTXVsdGlDb2x1bW4oW3ZhbHVlc10sIFtmbk5hbWVdLCB0aHJlc2hvbGQsIFtvcHRzXSwgWzFdKTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0S05OKHZhbHVlcywgZm5OYW1lLCBuTmVpZ2hib3VycyA9IDE1LCBvcHRzID0ge30pIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMubXVsdGlDb2x1bW5LTk4oW3ZhbHVlc10sIFtmbk5hbWVdLCBuTmVpZ2hib3VycywgW29wdHNdLCBbMV0pO1xuICAgIH1cbiAgICBhc3luYyBnZXRUaHJlc2hvbGRLTk4odmFsdWVzLCBmbk5hbWUsIHRocmVzaG9sZCA9IDAuOCwgb3B0cyA9IHt9KSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLm11bHRpQ29sdW1uVGhyZXNob2xkS25uKFt2YWx1ZXNdLCBbZm5OYW1lXSwgdGhyZXNob2xkLCBbb3B0c10sIFsxXSk7XG4gICAgfVxuICAgIGFzeW5jIG11bHRpQ29sdW1uVGhyZXNob2xkS25uKHZhbHVlcywgZm5OYW1lcywgdGhyZXNob2xkID0gMC44LCBvcHRzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCA9IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzLkVVQ0xJREVBTikge1xuICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCAhPT0gZm5OYW1lcy5sZW5ndGggfHwgdmFsdWVzLmxlbmd0aCAhPT0gb3B0cy5sZW5ndGggfHwgdmFsdWVzLmxlbmd0aCAhPT0gd2VpZ2h0cy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhbHVlcywgZGlzdGFuY2UgZnVuY3Rpb25zLCBvcHRpb25zIGFuZCB3ZWlnaHRzIGFycmF5cyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBsZW5ndGgnKTtcbiAgICAgICAgaWYgKHZhbHVlcy5zb21lKCh2KSA9PiB2Lmxlbmd0aCAhPT0gdmFsdWVzWzBdLmxlbmd0aCkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2FsbCB2YWx1ZXMgYXJyYXlzIHNob3VsZCBoYXZlIHRoZSBzYW1lIGxlbmd0aCcpO1xuICAgICAgICBjb25zdCBtYXRTaXplID0gdmFsdWVzWzBdLmxlbmd0aCAqICh2YWx1ZXNbMF0ubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICBjb25zdCBjaHVua1NpemUgPSBNYXRoLmZsb29yKG1hdFNpemUgLyB0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3Qgd29ya2VycyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudClcbiAgICAgICAgICAgIC5maWxsKG51bGwpLm1hcCgoKSA9PiBuZXcgV29ya2VyKG5ldyBVUkwoJy4va25uLXRocmVzaG9sZC13b3JrZXInLCBpbXBvcnQubWV0YS51cmwpKSk7XG4gICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHRoaXMuX3dvcmtlckNvdW50OyBpZHgrKykge1xuICAgICAgICAgICAgcHJvbWlzZXNbaWR4XSA9IG5ldyBQcm9taXNlKChyZXNvbHZlV29ya2VyLCByZWplY3RXb3JrZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydElkeCA9IGlkeCAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRJZHggPSBpZHggPT09IHRoaXMuX3dvcmtlckNvdW50IC0gMSA/IG1hdFNpemUgOiAoaWR4ICsgMSkgKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgaWYgKGVuZElkeCA8PSBzdGFydElkeClcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZVdvcmtlcih7IGtubkRpc3RhbmNlczogbmV3IEFycmF5KDApLCBrbm5JbmRleGVzOiBuZXcgQXJyYXkoMCkgfSk7XG4gICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnBvc3RNZXNzYWdlKHsgdmFsdWVzLCBzdGFydElkeCwgZW5kSWR4LCBmbk5hbWVzLCBvcHRzLCB0aHJlc2hvbGQsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kIH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5vbm1lc3NhZ2UgPSAoeyBkYXRhOiB7IGVycm9yLCBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0V29ya2VyKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICAgICAgY29uc3Qga25uU2l6ZXMgPSBuZXcgSW50MzJBcnJheSh2YWx1ZXNbMF0ubGVuZ3RoKTtcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNbMF0ubGVuZ3RoOyArK2kpXG4gICAgICAgICAgICAgICAga25uU2l6ZXNbaV0gKz0gcmVzLmtubkluZGV4ZXNbaV0/Lmxlbmd0aCA/PyAwO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGtublJlcyA9IHtcbiAgICAgICAgICAgIGtubkRpc3RhbmNlczogbmV3IEFycmF5KHZhbHVlc1swXS5sZW5ndGgpLmZpbGwobnVsbCkubWFwKChfLCBpKSA9PiBuZXcgQXJyYXkoa25uU2l6ZXNbaV0pKSxcbiAgICAgICAgICAgIGtubkluZGV4ZXM6IG5ldyBBcnJheSh2YWx1ZXNbMF0ubGVuZ3RoKS5maWxsKG51bGwpLm1hcCgoXywgaSkgPT4gbmV3IEFycmF5KGtublNpemVzW2ldKSlcbiAgICAgICAgfTtcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNbMF0ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHJlcy5rbm5EaXN0YW5jZXNbaV0/Lmxlbmd0aCA/PyAwOyArK2opIHtcbiAgICAgICAgICAgICAgICAgICAga25uUmVzLmtubkRpc3RhbmNlc1tpXVtrbm5TaXplc1tpXSAtIDFdID0gcmVzLmtubkRpc3RhbmNlc1tpXVtqXTtcbiAgICAgICAgICAgICAgICAgICAga25uUmVzLmtubkluZGV4ZXNbaV1ba25uU2l6ZXNbaV0gLSAxXSA9IHJlcy5rbm5JbmRleGVzW2ldW2pdO1xuICAgICAgICAgICAgICAgICAgICBrbm5TaXplc1tpXSAtPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ga25uUmVzO1xuICAgIH1cbiAgICBhc3luYyBtdWx0aUNvbHVtbktOTih2YWx1ZXMsIGZuTmFtZXMsIG5OZWlnaGJvdXJzID0gMTUsIG9wdHMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kID0gRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMuRVVDTElERUFOKSB7XG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoICE9PSBmbk5hbWVzLmxlbmd0aCB8fCB2YWx1ZXMubGVuZ3RoICE9PSBvcHRzLmxlbmd0aCB8fCB2YWx1ZXMubGVuZ3RoICE9PSB3ZWlnaHRzLmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndmFsdWVzLCBkaXN0YW5jZSBmdW5jdGlvbnMsIG9wdGlvbnMgYW5kIHdlaWdodHMgYXJyYXlzIHNob3VsZCBoYXZlIHRoZSBzYW1lIGxlbmd0aCcpO1xuICAgICAgICBpZiAodmFsdWVzLnNvbWUoKHYpID0+IHYubGVuZ3RoICE9PSB2YWx1ZXNbMF0ubGVuZ3RoKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYWxsIHZhbHVlcyBhcnJheXMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgbGVuZ3RoJyk7XG4gICAgICAgIGNvbnN0IG1hdFNpemUgPSB2YWx1ZXNbMF0ubGVuZ3RoICogKHZhbHVlc1swXS5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGguZmxvb3IobWF0U2l6ZSAvIHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICBjb25zdCB3b3JrZXJzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KVxuICAgICAgICAgICAgLmZpbGwobnVsbCkubWFwKCgpID0+IG5ldyBXb3JrZXIobmV3IFVSTCgnLi9rbm4td29ya2VyJywgaW1wb3J0Lm1ldGEudXJsKSkpO1xuICAgICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCB0aGlzLl93b3JrZXJDb3VudDsgaWR4KyspIHtcbiAgICAgICAgICAgIHByb21pc2VzW2lkeF0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZVdvcmtlciwgcmVqZWN0V29ya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRJZHggPSBpZHggKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kSWR4ID0gaWR4ID09PSB0aGlzLl93b3JrZXJDb3VudCAtIDEgPyBtYXRTaXplIDogKGlkeCArIDEpICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgIGlmIChlbmRJZHggPD0gc3RhcnRJZHgpXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBrbm5EaXN0YW5jZXM6IG5ldyBBcnJheSgwKSwga25uSW5kZXhlczogbmV3IEFycmF5KDApIH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5wb3N0TWVzc2FnZSh7IHZhbHVlcywgc3RhcnRJZHgsIGVuZElkeCwgZm5OYW1lcywgb3B0cywgbk5laWdoYm91cnMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kIH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5vbm1lc3NhZ2UgPSAoeyBkYXRhOiB7IGVycm9yLCBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0V29ya2VyKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICAgICAgY29uc3Qga25uUmVzID0ge1xuICAgICAgICAgICAga25uRGlzdGFuY2VzOiBuZXcgQXJyYXkodmFsdWVzWzBdLmxlbmd0aCkuZmlsbChudWxsKS5tYXAoKCkgPT4gbmV3IEFycmF5KG5OZWlnaGJvdXJzKS5maWxsKDk5OTk5KSksXG4gICAgICAgICAgICBrbm5JbmRleGVzOiBuZXcgQXJyYXkodmFsdWVzWzBdLmxlbmd0aCkuZmlsbChudWxsKS5tYXAoKCkgPT4gbmV3IEFycmF5KG5OZWlnaGJvdXJzKS5maWxsKC0xKSlcbiAgICAgICAgfTtcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNbMF0ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHJlcy5rbm5EaXN0YW5jZXNbaV0/Lmxlbmd0aCA/PyAwOyArK2opXG4gICAgICAgICAgICAgICAgICAgIGluc2VydFNtYWxsZXIoa25uUmVzLmtubkRpc3RhbmNlc1tpXSwga25uUmVzLmtubkluZGV4ZXNbaV0sIHJlcy5rbm5EaXN0YW5jZXNbaV1bal0sIHJlcy5rbm5JbmRleGVzW2ldW2pdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ga25uUmVzO1xuICAgIH1cbiAgICBhc3luYyBnZXRTYW1wbGVEaXN0YW5jZXModmFsdWVzLCBmbk5hbWVzLCBvcHRzID0gW10sIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kID0gRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMuRVVDTElERUFOKSB7XG4gICAgICAgIGNvbnN0IHRocmVzaG9sZFdvcmtlcnMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpLmZpbGwobnVsbClcbiAgICAgICAgICAgIC5tYXAoKCkgPT4gbmV3IFdvcmtlcihuZXcgVVJMKCcuL3NwYXJzZS1tYXRyaXgtdGhyZXNob2xkLXdvcmtlcicsIGltcG9ydC5tZXRhLnVybCkpKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG1hdFNpemUgPSB2YWx1ZXNbMF0ubGVuZ3RoICogKHZhbHVlc1swXS5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgICAgICBjb25zdCBjaHVua1NpemUgPSBNYXRoLmZsb29yKG1hdFNpemUgLyB0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgICAgICBjb25zdCBtYXhTYW1wbGVTaXplID0gMTAwMDAwMDtcbiAgICAgICAgICAgIGNvbnN0IHNhbXBsZVNpc2UgPSBNYXRoLm1heChNYXRoLm1pbihtYXRTaXplIC8gMTAwMCwgbWF4U2FtcGxlU2l6ZSksIE1hdGgubWluKG1hdFNpemUsIG1heFNhbXBsZVNpemUpKTtcbiAgICAgICAgICAgIGNvbnN0IHRlc3RTZXRTaXplUGVyV29ya2VyID0gTWF0aC5mbG9vcihzYW1wbGVTaXNlIC8gdGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICAgICAgY29uc3QgdFByb21pc2VzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHRoaXMuX3dvcmtlckNvdW50OyBpZHgrKykge1xuICAgICAgICAgICAgICAgIHRQcm9taXNlc1tpZHhdID0gbmV3IFByb21pc2UoKHJlc29sdmVXb3JrZXIsIHJlamVjdFdvcmtlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydElkeCA9IGlkeCAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kSWR4ID0gaWR4ID09PSB0aGlzLl93b3JrZXJDb3VudCAtIDEgPyBtYXRTaXplIDogKGlkeCArIDEpICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgICAgICB0aHJlc2hvbGRXb3JrZXJzW2lkeF0ucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiB2YWx1ZXMsIHN0YXJ0SWR4LCBlbmRJZHgsIHNhbXBsZUxlbmd0aDogdGVzdFNldFNpemVQZXJXb3JrZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBmbk5hbWVzLCBvcHRzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vyc1tpZHhdLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGRpc3RhbmNlIH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdFdvcmtlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZVdvcmtlcih7IGRpc3RhbmNlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHRQcm9taXNlcyk7XG4gICAgICAgICAgICBjb25zdCBmdWxsU2l6ZSA9IHJlc3VsdHMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLmRpc3RhbmNlLmxlbmd0aCwgMCk7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IG5ldyBGbG9hdDMyQXJyYXkoZnVsbFNpemUpO1xuICAgICAgICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlcyBvZiByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgZGlzdGFuY2Uuc2V0KHJlcy5kaXN0YW5jZSwgb2Zmc2V0KTtcbiAgICAgICAgICAgICAgICBvZmZzZXQgKz0gcmVzLmRpc3RhbmNlLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpc3RhbmNlLnNvcnQoKTtcbiAgICAgICAgICAgIHJldHVybiBkaXN0YW5jZTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vycz8uZm9yRWFjaCgodykgPT4gdz8udGVybWluYXRlKCkpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmxvYXQzMkFycmF5KDEpLmZpbGwoMC41KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBnZXRNaW5pbWFsVGhyZXNob2xkKHZhbHVlcywgZm5OYW1lcywgb3B0cyA9IFtdLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCA9IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzLkVVQ0xJREVBTikge1xuICAgICAgICAvL1dlIG5lZWQgdG8gY2FsY3VsYXRlIHRoZSBtaW5pbWFsIHRocmVzaG9sZCBmaXJzdCxcbiAgICAgICAgLy9pbiBvcmRlciB0byBnZXQgbWF0cml4IHN1Y2ggdGhhdCBpdCBkb2VzIG5vdCBleGNlZWQgdGhlIG1heGltdW0gc2l6ZSBvZiAxR0JcbiAgICAgICAgLy93ZSBoYXZlIDMgcmV0dXJuIGFycmF5cywgZWFjaCA0IGJpdGVzIHBlciBlbGVtZW50LCBzbyBpZiB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSBtYXRyaXggaXMgMUdCLFxuICAgICAgICBjb25zdCBtYXhTcGFyc2VNYXRyaXhTaXplID0gNzAwMDAwMDA7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBtYXRTaXplID0gdmFsdWVzLmxlbmd0aCAqICh2YWx1ZXMubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBhd2FpdCB0aGlzLmdldFNhbXBsZURpc3RhbmNlcyh2YWx1ZXMsIGZuTmFtZXMsIG9wdHMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kKTtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uSW5kZXggPSBNYXRoLmZsb29yKG1heFNwYXJzZU1hdHJpeFNpemUgLyBtYXRTaXplICogZGlzdGFuY2UubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHRocmVzaG9sZCA9IDEgLSBkaXN0YW5jZVtmcmFjdGlvbkluZGV4XTtcbiAgICAgICAgICAgIC8vIHRocmVzaG9sZCA9IE1hdGgubWF4KHRocmVzaG9sZCwgMC4zKTtcbiAgICAgICAgICAgIHJldHVybiB0aHJlc2hvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICByZXR1cm4gMC41O1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0YXRpYyBjYWxjU3luYyh2YWx1ZXMsIGZuTmFtZSwgZGlzdGFuY2VGbiwgdGhyZXNob2xkKSB7XG4gICAgICAgIGNvbnN0IGkgPSBbXTtcbiAgICAgICAgY29uc3QgaiA9IFtdO1xuICAgICAgICBjb25zdCBkaXN0YW5jZXMgPSBbXTtcbiAgICAgICAgbGV0IGNudCA9IDA7XG4gICAgICAgIGxldCBtaSA9IDA7XG4gICAgICAgIGxldCBtaiA9IDA7XG4gICAgICAgIGNvbnN0IGZ1bGxTaXplID0gdmFsdWVzLmxlbmd0aCAqICh2YWx1ZXMubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICB3aGlsZSAoY250IDwgZnVsbFNpemUpIHtcbiAgICAgICAgICAgIC8vY29uc3QgdmFsdWUgPSBzZXExTGlzdFttaV0gJiYgc2VxMUxpc3RbbWpdID8gaGFtbWluZyhzZXExTGlzdFttaV0sIHNlcTFMaXN0W21qXSkgOiAwO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAhaXNOaWwodmFsdWVzW21pXSkgJiYgIWlzTmlsKHZhbHVlc1ttal0pID9cbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuKHZhbHVlc1ttaV0sIHZhbHVlc1ttal0pIDogMTtcbiAgICAgICAgICAgIGNvbnN0IHNpbWlsYXJpdHkgPSAxIC0gdmFsdWU7XG4gICAgICAgICAgICBpZiAoc2ltaWxhcml0eSA+PSB0aHJlc2hvbGQpIHtcbiAgICAgICAgICAgICAgICBpLnB1c2gobWkpO1xuICAgICAgICAgICAgICAgIGoucHVzaChtaik7XG4gICAgICAgICAgICAgICAgZGlzdGFuY2VzLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY250Kys7XG4gICAgICAgICAgICBtaisrO1xuICAgICAgICAgICAgaWYgKG1qID09PSB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbWkrKztcbiAgICAgICAgICAgICAgICBtaiA9IG1pICsgMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpQXJyYXkgPSBuZXcgSW50MzJBcnJheShpKTtcbiAgICAgICAgY29uc3QgakFycmF5ID0gbmV3IEludDMyQXJyYXkoaik7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KGRpc3RhbmNlcyk7XG4gICAgICAgIHJldHVybiB7IGk6IGlBcnJheSwgajogakFycmF5LCBkaXN0YW5jZTogZGlzdGFuY2VBcnJheSB9O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWMzQmhjbk5sTFcxaGRISnBlQzF6WlhKMmFXTmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaWMzQmhjbk5sTFcxaGRISnBlQzF6WlhKMmFXTmxMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVOQkxFOUJRVThzUlVGQk5FSXNNRUpCUVRCQ0xFVkJRVU1zVFVGQlRTeFRRVUZUTEVOQlFVTTdRVUZET1VVc1QwRkJUeXhGUVVGRExHRkJRV0VzUlVGQlJTeExRVUZMTEVWQlFVTXNUVUZCVFN4VFFVRlRMRU5CUVVNN1FVRmhOME1zVFVGQlRTeFBRVUZQTEcxQ1FVRnRRanRKUVVVMVFqdFJRVU5GTEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eFRRVUZUTEVOQlFVTXNiVUpCUVcxQ0xFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTNKRkxFTkJRVU03U1VGRlRTeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRTFCUVc5Q0xFVkJRVVVzVDBGQmRVSXNSVUZEZUVVc1UwRkJhVUlzUlVGQlJTeFBRVUUyUWl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxGVkJRVzlDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUXpkRkxHOUNRVUVyUXl3d1FrRkJNRUlzUTBGQlF5eFRRVUZUTzFGQlJXNUdMRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU01UkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRk1VUXNUVUZCVFN4WlFVRlpMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSMEZCUnl4TFFVRk5MRU5CUVVNc1EwRkJRenRaUVVNNVF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWxCUVVrc1JVRkJSU3hQUVVGUExFVkJRVVVzYVVKQlFXbENMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzaEdMRWxCUVVrc1UwRkJVeXhIUVVGSExGbEJRVmtzUlVGQlJUdFpRVU0xUWl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExHMUNRVUZ0UWl4WlFVRlpMRVZCUVVVc1EwRkJReXhEUVVGRE8xbEJReTlETEZOQlFWTXNSMEZCUnl4WlFVRlpMRU5CUVVNN1UwRkRNVUk3VVVGRFJDeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUTNwRUxFMUJRVTBzVVVGQlVTeEhRVU5hTEVsQlFVa3NTMEZCU3l4RFFVRTRRaXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdVVUZGTlVRc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJRenRoUVVONlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExIZENRVUYzUWl4RlFVRkZMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNoR0xFdEJRVXNzU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXl4RlFVRkZMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZPMWxCUTJoRUxGRkJRVkVzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4SlFVRkpMRTlCUVU4c1EwRkJReXhEUVVGRExHRkJRV0VzUlVGQlJTeFpRVUZaTEVWQlFVVXNSVUZCUlR0blFrRkRNVVFzVFVGQlRTeFJRVUZSTEVkQlFVY3NSMEZCUnl4SFFVRkhMRk5CUVZNc1EwRkJRenRuUWtGRGFrTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1IwRkJSeXhMUVVGTExFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF6dG5Ra0ZETDBVc1NVRkJTU3hOUVVGTkxFbEJRVWtzVVVGQlVUdHZRa0ZEY0VJc1lVRkJZU3hEUVVGRExFVkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEpRVUZKTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hSUVVGUkxFVkJRVVVzU1VGQlNTeFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1IwRkJSeXhGUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZEYkVjc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZkQlFWY3NRMEZCUXl4RlFVRkRMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzVFVGQlRTeEZRVUZGTEZOQlFWTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRkxFOUJRVThzUlVGQlJTeHBRa0ZCYVVJc1JVRkJReXhEUVVGRExFTkJRVU03WjBKQlF6TkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVkQlFVY3NRMEZCUXl4RlFVRkRMRWxCUVVrc1JVRkJSU3hGUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRkZCUVZFc1JVRkJReXhGUVVGRExFVkJRVkVzUlVGQlJUdHZRa0ZEYWtVc1NVRkJTU3hMUVVGTExFVkJRVVU3ZDBKQlExUXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzNkQ1FVTjZRaXhaUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdjVUpCUTNKQ08zbENRVUZOTzNkQ1FVTk1MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0M1FrRkRla0lzWVVGQllTeERRVUZETEVWQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hSUVVGUkxFVkJRVVVzUjBGQlJ5eEZRVUZETEVOQlFVTXNRMEZCUXp0eFFrRkRkRU03WjBKQlEwZ3NRMEZCUXl4RFFVRkRPMWxCUTBvc1EwRkJReXhEUVVGRExFTkJRVU03VTBGRFNqdFJRVVZFTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTFCUVUwc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVTTFReXhOUVVGTkxGRkJRVkVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNKRkxFMUJRVTBzUTBGQlF5eEhRVUZITEVsQlFVa3NWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8xRkJRMjVETEUxQlFVMHNRMEZCUXl4SFFVRkhMRWxCUVVrc1ZVRkJWU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlEyNURMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUXpWRExFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTm1MSE5DUVVGelFqdFJRVU4wUWl4TFFVRkxMRTFCUVUwc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdFpRVU42UWl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRja0lzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFsQlEzSkNMRkZCUVZFc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEZGQlFWRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVOdVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU03VTBGRGVFSTdVVUZEUkN4UFFVRlBMRVZCUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeFJRVUZSTEVWQlFVTXNRMEZCUXp0SlFVTXhRaXhEUVVGRE8wbEJSVTBzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCU1N4TlFVRm5RaXhGUVVGRkxFMUJRVzlDTEVWQlFVVXNVMEZCYVVJc1JVRkJSU3hQUVVFeVFpeEZRVUZGTzFGQlF6TkhMSEZDUVVGeFFqdFJRVU55UWl4UFFVRlBMRTFCUVUwc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzVTBGQlV5eEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEyaEdMRU5CUVVNN1NVRkZUU3hMUVVGTExFTkJRVU1zVFVGQlRTeERRVU5xUWl4TlFVRnJRaXhGUVVGRkxFMUJRVzlDTEVWQlFVVXNZMEZCYzBJc1JVRkJSU3hGUVVGRkxFOUJRVEpDTEVWQlFVVTdVVUZGYWtjc1QwRkJUeXhOUVVGTkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEZkQlFWY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTnFSaXhEUVVGRE8wbEJSVTBzUzBGQlN5eERRVUZETEdWQlFXVXNRMEZETVVJc1RVRkJhMElzUlVGQlJTeE5RVUZ2UWl4RlFVRkZMRmxCUVc5Q0xFZEJRVWNzUlVGQlJTeFBRVUV5UWl4RlFVRkZPMUZCUldoSExFOUJRVThzVFVGQlRTeEpRVUZKTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxGTkJRVk1zUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU40Uml4RFFVRkRPMGxCUlUwc1MwRkJTeXhEUVVGRExIVkNRVUYxUWl4RFFVRkRMRTFCUVhsQ0xFVkJRVVVzVDBGQmRVSXNSVUZCUlN4WlFVRnZRaXhIUVVGSExFVkJRemxITEVsQlFUQkNMRVZCUVVVc1QwRkJhVUlzUlVGRE4wTXNiMEpCUVN0RExEQkNRVUV3UWl4RFFVRkRMRk5CUVZNN1VVRkZia1lzU1VGQlNTeE5RVUZOTEVOQlFVTXNUVUZCVFN4TFFVRkxMRTlCUVU4c1EwRkJReXhOUVVGTkxFbEJRVWtzVFVGQlRTeERRVUZETEUxQlFVMHNTMEZCU3l4SlFVRkpMRU5CUVVNc1RVRkJUU3hKUVVGSkxFMUJRVTBzUTBGQlF5eE5RVUZOTEV0QlFVc3NUMEZCVHl4RFFVRkRMRTFCUVUwN1dVRkRka2NzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4dlJrRkJiMFlzUTBGQlF5eERRVUZETzFGQlJYaEhMRWxCUVVrc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUzBGQlN5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8xbEJRMjVFTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc0swTkJRU3RETEVOQlFVTXNRMEZCUXp0UlFVVnVSU3hOUVVGTkxFOUJRVThzUjBGQlJ5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZET1VRc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlF6RkVMRTFCUVUwc1VVRkJVU3hIUVVOYUxFbEJRVWtzUzBGQlN5eERRVUZ4UWl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRGJrUXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXp0aFFVTjZReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzVFVGQlRTeERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMSGRDUVVGM1FpeEZRVUZGTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzaEdMRXRCUVVzc1NVRkJTU3hIUVVGSExFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTzFsQlEyaEVMRkZCUVZFc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMR0ZCUVdFc1JVRkJSU3haUVVGWkxFVkJRVVVzUlVGQlJUdG5Ra0ZETVVRc1RVRkJUU3hSUVVGUkxFZEJRVWNzUjBGQlJ5eEhRVUZITEZOQlFWTXNRMEZCUXp0blFrRkRha01zVFVGQlRTeE5RVUZOTEVkQlFVY3NSMEZCUnl4TFFVRkxMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJRenRuUWtGREwwVXNTVUZCU1N4TlFVRk5MRWxCUVVrc1VVRkJVVHR2UWtGRGNFSXNZVUZCWVN4RFFVRkRMRVZCUVVNc1dVRkJXU3hGUVVGRkxFbEJRVWtzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRlZCUVZVc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM2hGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlF5eE5RVUZOTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzU1VGQlNTeEZRVUZGTEZOQlFWTXNSVUZCUlN4UFFVRlBMRVZCUVVVc2FVSkJRV2xDTEVWQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVNelJ5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhIUVVGSExFTkJRVU1zUlVGQlF5eEpRVUZKTEVWQlFVVXNSVUZCUXl4TFFVRkxMRVZCUVVVc1dVRkJXU3hGUVVGRkxGVkJRVlVzUlVGQlF5eEZRVUZETEVWQlFWRXNSVUZCUlR0dlFrRkRNMFVzU1VGQlNTeExRVUZMTEVWQlFVVTdkMEpCUTFRc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPM2RDUVVONlFpeFpRVUZaTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN2NVSkJRM0pDTzNsQ1FVRk5PM2RDUVVOTUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenQzUWtGRGVrSXNZVUZCWVN4RFFVRkRMRVZCUVVNc1dVRkJXU3hGUVVGRkxGVkJRVlVzUlVGQlF5eERRVUZETEVOQlFVTTdjVUpCUXpORE8yZENRVU5JTEVOQlFVTXNRMEZCUXp0WlFVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRMG83VVVGRlJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdVVUZETlVNc1RVRkJUU3hSUVVGUkxFZEJRVWNzU1VGQlNTeFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlEyeEVMRXRCUVVzc1RVRkJUU3hIUVVGSExFbEJRVWtzVDBGQlR5eEZRVUZGTzFsQlEzcENMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXp0blFrRkRka01zVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRWRCUVVjc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJRenRUUVVOcVJEdFJRVU5FTEUxQlFVMHNUVUZCVFN4SFFVRmpPMWxCUTNoQ0xGbEJRVmtzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZUTEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMnhITEZWQlFWVXNSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVsQlFVa3NTMEZCU3l4RFFVRlRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFOQlFVTXNRMEZCUXp0UlFVTndSeXhMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEU5QlFVOHNSVUZCUlR0WlFVTjZRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHRuUWtGRGVrTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzVFVGQlRTeEpRVUZKTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHR2UWtGRGVrUXNUVUZCVFN4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dHZRa0ZEYWtVc1RVRkJUU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkROMFFzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRwUWtGRGJFSTdZVUZEUmp0VFFVTkdPMUZCUTBRc1QwRkJUeXhOUVVGTkxFTkJRVU03U1VGRGFFSXNRMEZCUXp0SlFVVk5MRXRCUVVzc1EwRkJReXhqUVVGakxFTkJRVU1zVFVGQmVVSXNSVUZCUlN4UFFVRjFRaXhGUVVGRkxHTkJRWE5DTEVWQlFVVXNSVUZEZEVjc1NVRkJNRUlzUlVGQlJTeFBRVUZwUWl4RlFVTTNReXh2UWtGQkswTXNNRUpCUVRCQ0xFTkJRVU1zVTBGQlV6dFJRVVZ1Uml4SlFVRkpMRTFCUVUwc1EwRkJReXhOUVVGTkxFdEJRVXNzVDBGQlR5eERRVUZETEUxQlFVMHNTVUZCU1N4TlFVRk5MRU5CUVVNc1RVRkJUU3hMUVVGTExFbEJRVWtzUTBGQlF5eE5RVUZOTEVsQlFVa3NUVUZCVFN4RFFVRkRMRTFCUVUwc1MwRkJTeXhQUVVGUExFTkJRVU1zVFVGQlRUdFpRVU4yUnl4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExHOUdRVUZ2Uml4RFFVRkRMRU5CUVVNN1VVRkZlRWNzU1VGQlNTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4TFFVRkxMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTTdXVUZEYmtRc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5d3JRMEZCSzBNc1EwRkJReXhEUVVGRE8xRkJSVzVGTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVNNVJDeE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1VVRkRNVVFzVFVGQlRTeFJRVUZSTEVkQlExb3NTVUZCU1N4TFFVRkxMRU5CUVhGQ0xFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVTnVSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRE8yRkJRM3BETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNTVUZCU1N4TlFVRk5MRU5CUVVNc1NVRkJTU3hIUVVGSExFTkJRVU1zWTBGQll5eEZRVUZGTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6bEZMRXRCUVVzc1NVRkJTU3hIUVVGSExFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTzFsQlEyaEVMRkZCUVZFc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMR0ZCUVdFc1JVRkJSU3haUVVGWkxFVkJRVVVzUlVGQlJUdG5Ra0ZETVVRc1RVRkJUU3hSUVVGUkxFZEJRVWNzUjBGQlJ5eEhRVUZITEZOQlFWTXNRMEZCUXp0blFrRkRha01zVFVGQlRTeE5RVUZOTEVkQlFVY3NSMEZCUnl4TFFVRkxMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJRenRuUWtGREwwVXNTVUZCU1N4TlFVRk5MRWxCUVVrc1VVRkJVVHR2UWtGRGNFSXNZVUZCWVN4RFFVRkRMRVZCUVVNc1dVRkJXU3hGUVVGRkxFbEJRVWtzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRlZCUVZVc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM2hGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlF5eE5RVUZOTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzU1VGQlNTeEZRVUZGTEZkQlFWY3NSVUZCUlN4UFFVRlBMRVZCUVVVc2FVSkJRV2xDTEVWQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVNM1J5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhIUVVGSExFTkJRVU1zUlVGQlF5eEpRVUZKTEVWQlFVVXNSVUZCUXl4TFFVRkxMRVZCUVVVc1dVRkJXU3hGUVVGRkxGVkJRVlVzUlVGQlF5eEZRVUZETEVWQlFWRXNSVUZCUlR0dlFrRkRNMFVzU1VGQlNTeExRVUZMTEVWQlFVVTdkMEpCUTFRc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPM2RDUVVONlFpeFpRVUZaTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN2NVSkJRM0pDTzNsQ1FVRk5PM2RDUVVOTUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenQzUWtGRGVrSXNZVUZCWVN4RFFVRkRMRVZCUVVNc1dVRkJXU3hGUVVGRkxGVkJRVlVzUlVGQlF5eERRVUZETEVOQlFVTTdjVUpCUXpORE8yZENRVU5JTEVOQlFVTXNRMEZCUXp0WlFVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRMG83VVVGRlJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdVVUZETlVNc1RVRkJUU3hOUVVGTkxFZEJRV003V1VGRGVFSXNXVUZCV1N4RlFVRkZMRWxCUVVrc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZUTEZkQlFWY3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFpRVU14Unl4VlFVRlZMRVZCUVVVc1NVRkJTU3hMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNTeExRVUZMTEVOQlFWTXNWMEZCVnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVMEZCUXl4RFFVRkRPMUZCUTNwSExFdEJRVXNzVFVGQlRTeEhRVUZITEVsQlFVa3NUMEZCVHl4RlFVRkZPMWxCUTNwQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUVVVc1EwRkJReXhGUVVGRk8yZENRVU42UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeE5RVUZOTEVsQlFVa3NRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJRenR2UWtGRGRrUXNZVUZCWVN4RFFVRkRMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTTNSenRUUVVOR08xRkJRMFFzVDBGQlR5eE5RVUZOTEVOQlFVTTdTVUZEYUVJc1EwRkJRenRKUVVWTkxFdEJRVXNzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhOUVVGdlFpeEZRVU5zUkN4UFFVRjFRaXhGUVVGRkxFOUJRVFpDTEVWQlFVVXNSVUZCUlN4UFFVRnBRaXhGUVVNelJTeHZRa0ZCSzBNc01FSkJRVEJDTEVOQlFVTXNVMEZCVXp0UlFVTnVSaXhOUVVGTkxHZENRVUZuUWl4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRE8yRkJRemRFTEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhKUVVGSkxFMUJRVTBzUTBGQlF5eEpRVUZKTEVkQlFVY3NRMEZCUXl4clEwRkJhME1zUlVGQlJTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVYyUml4SlFVRkpPMWxCUTBZc1RVRkJUU3hQUVVGUExFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlF6bEVMRTFCUVUwc1UwRkJVeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dFpRVU14UkN4TlFVRk5MR0ZCUVdFc1IwRkJSeXhQUVVGVExFTkJRVU03V1VGRGFFTXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1IwRkJSeXhKUVVGSkxFVkJRVVVzWVVGQllTeERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFVkJRVVVzWVVGQllTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTjJSeXhOUVVGTkxHOUNRVUZ2UWl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRaUVVONFJTeE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJiME1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMWxCUld4R0xFdEJRVXNzU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXl4RlFVRkZMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZPMmRDUVVOb1JDeFRRVUZUTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlF5eGhRVUZoTEVWQlFVVXNXVUZCV1N4RlFVRkZMRVZCUVVVN2IwSkJRek5FTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWRCUVVjc1IwRkJSeXhUUVVGVExFTkJRVU03YjBKQlEycERMRTFCUVUwc1RVRkJUU3hIUVVGSExFZEJRVWNzUzBGQlN5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTTdiMEpCUXk5RkxHZENRVUZuUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExGZEJRVmNzUTBGQlF6dDNRa0ZEYUVNc1RVRkJUU3hGUVVGRkxFMUJRVTBzUlVGQlJTeFJRVUZSTEVWQlFVVXNUVUZCVFN4RlFVRkZMRmxCUVZrc1JVRkJSU3h2UWtGQmIwSTdkMEpCUTNCRkxFOUJRVThzUlVGQlJTeEpRVUZKTEVWQlFVVXNUMEZCVHl4RlFVRkZMR2xDUVVGcFFqdHhRa0ZETVVNc1EwRkJReXhEUVVGRE8yOUNRVU5JTEdkQ1FVRm5RaXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSMEZCUnl4RFFVRkRMRVZCUVVNc1NVRkJTU3hGUVVGRkxFVkJRVU1zUzBGQlN5eEZRVUZGTEZGQlFWRXNSVUZCUXl4RlFVRkRMRVZCUVZFc1JVRkJSVHQzUWtGRGNFVXNaMEpCUVdkQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN2QwSkJRMnhETEVsQlFVa3NTMEZCU3pzMFFrRkJSU3haUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdPelJDUVVNM1FpeGhRVUZoTEVOQlFVTXNSVUZCUXl4UlFVRlJMRVZCUVVNc1EwRkJReXhEUVVGRE8yOUNRVU01UWl4RFFVRkRMRU5CUVVNN1owSkJRMG9zUTBGQlF5eERRVUZETEVOQlFVTTdZVUZEU2p0WlFVVkVMRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVTBzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVNM1F5eE5RVUZOTEZGQlFWRXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eFJRVUZSTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRelZGTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1dVRkJXU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFsQlF6VkRMRWxCUVVrc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU5tTEV0QlFVc3NUVUZCVFN4SFFVRkhMRWxCUVVrc1QwRkJUeXhGUVVGRk8yZENRVU42UWl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1owSkJRMjVETEUxQlFVMHNTVUZCU1N4SFFVRkhMRU5CUVVNc1VVRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF6dGhRVU12UWp0WlFVTkVMRkZCUVZFc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dFpRVVZvUWl4UFFVRlBMRkZCUVZFc1EwRkJRenRUUVVOcVFqdFJRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZPMWxCUTFZc1owSkJRV2RDTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNVMEZCVXl4RlFVRkZMRU5CUVVNc1EwRkJRenRaUVVOcVJDeFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMnBDTEU5QlFVOHNTVUZCU1N4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMU5CUTNSRE8wbEJRMGdzUTBGQlF6dEpRVVZQTEV0QlFVc3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eE5RVUZ2UWl4RlFVTndSQ3hQUVVGMVFpeEZRVUZGTEU5QlFUWkNMRVZCUVVVc1JVRkJSU3hQUVVGcFFpeEZRVU16UlN4dlFrRkJLME1zTUVKQlFUQkNMRU5CUVVNc1UwRkJVenRSUVVOdVJpeHRSRUZCYlVRN1VVRkRia1FzTmtWQlFUWkZPMUZCUXpkRkxHbEhRVUZwUnp0UlFVTnFSeXhOUVVGTkxHMUNRVUZ0UWl4SFFVRkhMRkZCUVZVc1EwRkJRenRSUVVOMlF5eEpRVUZKTzFsQlEwWXNUVUZCVFN4UFFVRlBMRWRCUVVjc1RVRkJUU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzaEVMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTlCUVU4c1JVRkJSU3hwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMWxCUTJ4SExFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc2JVSkJRVzFDTEVkQlFVY3NUMEZCVHl4SFFVRkhMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU5zUml4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGRExFZEJRVWNzVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRPMWxCUXpsRExIZERRVUYzUXp0WlFVTjRReXhQUVVGUExGTkJRVk1zUTBGQlF6dFRRVU5zUWp0UlFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRk8xbEJRMVlzVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOcVFpeFBRVUZQTEVkQlFVY3NRMEZCUXp0VFFVTmFPMGxCUTBnc1EwRkJRenRKUVVWTkxFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlEzQkNMRTFCUVN0Q0xFVkJRVVVzVFVGQmIwSXNSVUZCUlN4VlFVRnZRaXhGUVVGRkxGTkJRV2xDTzFGQlJUbEdMRTFCUVUwc1EwRkJReXhIUVVGaExFVkJRVVVzUTBGQlF6dFJRVU4yUWl4TlFVRk5MRU5CUVVNc1IwRkJZU3hGUVVGRkxFTkJRVU03VVVGRGRrSXNUVUZCVFN4VFFVRlRMRWRCUVdFc1JVRkJSU3hEUVVGRE8xRkJReTlDTEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOYUxFbEJRVWtzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTllMRWxCUVVrc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5ZTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU42UkN4UFFVRlBMRWRCUVVjc1IwRkJSeXhSUVVGUkxFVkJRVVU3V1VGRGNrSXNkVVpCUVhWR08xbEJRM1pHTEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM1JFTEZWQlFWVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU42UXl4TlFVRk5MRlZCUVZVc1IwRkJSeXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETzFsQlF6ZENMRWxCUVVrc1ZVRkJWU3hKUVVGSkxGTkJRVk1zUlVGQlJUdG5Ra0ZETTBJc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0blFrRkRXQ3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMmRDUVVOWUxGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1lVRkRka0k3V1VGRFJDeEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTk9MRVZCUVVVc1JVRkJSU3hEUVVGRE8xbEJRMHdzU1VGQlNTeEZRVUZGTEV0QlFVc3NUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSVHRuUWtGRGVFSXNSVUZCUlN4RlFVRkZMRU5CUVVNN1owSkJRMHdzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1lVRkRZanRUUVVOR08xRkJSVVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGFrTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYWtNc1RVRkJUU3hoUVVGaExFZEJRVWNzU1VGQlNTeFpRVUZaTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1VVRkZiRVFzVDBGQlR5eEZRVUZETEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFJRVUZSTEVWQlFVVXNZVUZCWVN4RlFVRkRMRU5CUVVNN1NVRkRla1FzUTBGQlF6dERRVU5LSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0TGJtOTNiazFsZEhKcFkzTjlJR1p5YjIwZ0p5NHVMM1I1Y0dWa0xXMWxkSEpwWTNNbk8xeHVhVzF3YjNKMElIdEVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a0xDQkVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a2MzMGdabkp2YlNBbkxpOTBlWEJsY3ljN1hHNXBiWEJ2Y25RZ2UybHVjMlZ5ZEZOdFlXeHNaWElzSUdselRtbHNmU0JtY205dElDY3VMM1YwYVd4ekp6dGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1UzQmhjbk5sVFdGMGNtbDRVbVZ6ZFd4MElEMGdlMXh1SUNCcE9pQkpiblF6TWtGeWNtRjVMRnh1SUNCcU9pQkpiblF6TWtGeWNtRjVMRnh1SUNCa2FYTjBZVzVqWlRvZ1JteHZZWFF6TWtGeWNtRjVMRnh1SUNCcFpIZy9PaUJ1ZFcxaVpYSmNibjA3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRXR1YmxKbGMzVnNkQ0E5SUh0Y2JpQWdhMjV1UkdsemRHRnVZMlZ6T2lCdWRXMWlaWEpiWFZ0ZExGeHVJQ0JyYm01SmJtUmxlR1Z6T2lCdWRXMWlaWEpiWFZ0ZFhHNTlYRzVsZUhCdmNuUWdZMnhoYzNNZ1UzQmhjbk5sVFdGMGNtbDRVMlZ5ZG1salpTQjdYRzRnSUNBZ2NISnBkbUYwWlNCZmQyOXlhMlZ5UTI5MWJuUTZJRzUxYldKbGNqdGNiaUFnSUNCamIyNXpkSEoxWTNSdmNpZ3BJSHRjYmlBZ0lDQWdJSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBJRDBnVFdGMGFDNXRZWGdvYm1GMmFXZGhkRzl5TG1oaGNtUjNZWEpsUTI5dVkzVnljbVZ1WTNrZ0xTQXlMQ0F4S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdZWE41Ym1NZ1kyRnNZMDExYkhScFEyOXNkVzF1S0haaGJIVmxjem9nUVhKeVlYazhZVzU1VzEwK0xDQm1iazVoYldWek9pQkxibTkzYmsxbGRISnBZM05iWFN4Y2JpQWdJQ0FnSUhSb2NtVnphRzlzWkRvZ2JuVnRZbVZ5TENCdmNIUnpPaUI3VzE4NklITjBjbWx1WjEwNklHRnVlWDFiWFNBOUlGdDdmVjBzSUhkbGFXZG9kSE02SUc1MWJXSmxjbHRkSUQwZ1d6RmRMRnh1SUNBZ0lDQWdZV2RuY21WbllYUnBiMjVOWlhSb2IyUTZJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUWdQU0JFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtjeTVGVlVOTVNVUkZRVTVjYmlBZ0lDQXBJSHRjYmlBZ0lDQWdJR052Ym5OMElHMWhkRk5wZW1VZ1BTQjJZV3gxWlhOYk1GMHViR1Z1WjNSb0lDb2dLSFpoYkhWbGMxc3dYUzVzWlc1bmRHZ2dMU0F4S1NBdklESTdYRzRnSUNBZ0lDQmpiMjV6ZENCamFIVnVhMU5wZW1VZ1BTQk5ZWFJvTG1ac2IyOXlLRzFoZEZOcGVtVWdMeUIwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ2s3WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJRzFwYmxSb2NtVnphRzlzWkNBOUlIWmhiSFZsYzFzd1hTNXNaVzVuZEdnZ1BpQXlNRjh3TURBZ1AxeHVJQ0FnSUNBZ0lDQmhkMkZwZENCMGFHbHpMbWRsZEUxcGJtbHRZV3hVYUhKbGMyaHZiR1FvZG1Gc2RXVnpMQ0JtYms1aGJXVnpMQ0J2Y0hSekxDQjNaV2xuYUhSekxDQmhaMmR5WldkaGRHbHZiazFsZEdodlpDa2dPaUF3TzF4dUlDQWdJQ0FnYVdZZ0tIUm9jbVZ6YUc5c1pDQThJRzFwYmxSb2NtVnphRzlzWkNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExteHZaeWhnZFhOcGJtY2dkR2h5WlhOb2IyeGtJQ1I3YldsdVZHaHlaWE5vYjJ4a2ZXQXBPMXh1SUNBZ0lDQWdJQ0IwYUhKbGMyaHZiR1FnUFNCdGFXNVVhSEpsYzJodmJHUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnZjSFJ6TG1admNrVmhZMmdvS0Y4c0lHa3BJRDArSUc5d2RITmJhVjFiSjNSb2NtVnphRzlzWkNkZElEMGdkR2h5WlhOb2IyeGtLVHRjYmlBZ0lDQWdJR052Ym5OMElIQnliMjFwYzJWeklEMWNiaUFnSUNBZ0lDQWdibVYzSUVGeWNtRjVQRkJ5YjIxcGMyVThVM0JoY25ObFRXRjBjbWw0VW1WemRXeDBQajRvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0IzYjNKclpYSnpJRDBnYm1WM0lFRnljbUY1S0hSb2FYTXVYM2R2Y210bGNrTnZkVzUwS1Z4dUlDQWdJQ0FnSUNBdVptbHNiQ2h1ZFd4c0tTNXRZWEFvS0NrZ1BUNGdibVYzSUZkdmNtdGxjaWh1WlhjZ1ZWSk1LQ2N1TDNOd1lYSnpaUzF0WVhSeWFYZ3RkMjl5YTJWeUp5d2dhVzF3YjNKMExtMWxkR0V1ZFhKc0tTa3BPMXh1SUNBZ0lDQWdabTl5SUNoc1pYUWdhV1I0SUQwZ01Ec2dhV1I0SUR3Z2RHaHBjeTVmZDI5eWEyVnlRMjkxYm5RN0lHbGtlQ3NyS1NCN1hHNGdJQ0FnSUNBZ0lIQnliMjFwYzJWelcybGtlRjBnUFNCdVpYY2dVSEp2YldselpTZ29jbVZ6YjJ4MlpWZHZjbXRsY2l3Z2NtVnFaV04wVjI5eWEyVnlLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2MzUmhjblJKWkhnZ1BTQnBaSGdnS2lCamFIVnVhMU5wZW1VN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1pXNWtTV1I0SUQwZ2FXUjRJRDA5UFNCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENBdElERWdQeUJ0WVhSVGFYcGxJRG9nS0dsa2VDQXJJREVwSUNvZ1kyaDFibXRUYVhwbE8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNobGJtUkpaSGdnUEQwZ2MzUmhjblJKWkhncFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxWMjl5YTJWeUtIdHBPaUJ1WlhjZ1NXNTBNekpCY25KaGVTZ3dLU3dnYWpvZ2JtVjNJRWx1ZERNeVFYSnlZWGtvTUNrc0lHUnBjM1JoYm1ObE9pQnVaWGNnUm14dllYUXpNa0Z5Y21GNUtEQXBMQ0JwWkhoOUtUdGNiaUFnSUNBZ0lDQWdJQ0IzYjNKclpYSnpXMmxrZUYwdWNHOXpkRTFsYzNOaFoyVW9lM1poYkhWbGN5d2djM1JoY25SSlpIZ3NJR1Z1WkVsa2VDd2dkR2h5WlhOb2IyeGtMQ0JtYms1aGJXVnpMQ0J2Y0hSekxDQjNaV2xuYUhSekxDQmhaMmR5WldkaGRHbHZiazFsZEdodlpIMHBPMXh1SUNBZ0lDQWdJQ0FnSUhkdmNtdGxjbk5iYVdSNFhTNXZibTFsYzNOaFoyVWdQU0FvZTJSaGRHRTZJSHRsY25KdmNpd2dhU3dnYWl3Z1pHbHpkR0Z1WTJWOWZTazZJSFp2YVdRZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1Z5Y205eUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIZHZjbXRsY25OYmFXUjRYUzUwWlhKdGFXNWhkR1VvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WcVpXTjBWMjl5YTJWeUtHVnljbTl5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIZHZjbXRsY25OYmFXUjRYUzUwWlhKdGFXNWhkR1VvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WemIyeDJaVmR2Y210bGNpaDdhU3dnYWl3Z1pHbHpkR0Z1WTJVc0lHbGtlSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JqYjI1emRDQnlaWE4xYkhSeklEMGdZWGRoYVhRZ1VISnZiV2x6WlM1aGJHd29jSEp2YldselpYTXBPMXh1SUNBZ0lDQWdZMjl1YzNRZ1puVnNiRk5wZW1VZ1BTQnlaWE4xYkhSekxuSmxaSFZqWlNnb1lXTmpMQ0IyWVd3cElEMCtJR0ZqWXlBcklIWmhiQzVwTG14bGJtZDBhQ3dnTUNrN1hHNGdJQ0FnSUNCamIyNXpkQ0JwSUQwZ2JtVjNJRWx1ZERNeVFYSnlZWGtvWm5Wc2JGTnBlbVVwTzF4dUlDQWdJQ0FnWTI5dWMzUWdhaUE5SUc1bGR5QkpiblF6TWtGeWNtRjVLR1oxYkd4VGFYcGxLVHRjYmlBZ0lDQWdJR052Ym5OMElHUnBjM1JoYm1ObElEMGdibVYzSUVac2IyRjBNekpCY25KaGVTaG1kV3hzVTJsNlpTazdYRzRnSUNBZ0lDQnNaWFFnYjJabWMyVjBJRDBnTUR0Y2JpQWdJQ0FnSUM4dklITmxkSFJwYm1jZ2RHaGxJSEpsYzNWc2RITmNiaUFnSUNBZ0lHWnZjaUFvWTI5dWMzUWdjbVZ6SUc5bUlISmxjM1ZzZEhNcElIdGNiaUFnSUNBZ0lDQWdhUzV6WlhRb2NtVnpMbWtzSUc5bVpuTmxkQ2s3WEc0Z0lDQWdJQ0FnSUdvdWMyVjBLSEpsY3k1cUxDQnZabVp6WlhRcE8xeHVJQ0FnSUNBZ0lDQmthWE4wWVc1alpTNXpaWFFvY21WekxtUnBjM1JoYm1ObExDQnZabVp6WlhRcE8xeHVJQ0FnSUNBZ0lDQnZabVp6WlhRZ0t6MGdjbVZ6TG1rdWJHVnVaM1JvTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnY21WMGRYSnVJSHRwTENCcUxDQmthWE4wWVc1alpYMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NIVmliR2xqSUdGemVXNWpJR05oYkdNOFZENG9kbUZzZFdWek9pQkJjbkpoZVR4VVBpd2dabTVPWVcxbE9pQkxibTkzYmsxbGRISnBZM01zSUhSb2NtVnphRzlzWkRvZ2JuVnRZbVZ5TENCdmNIUnpPaUI3VzE4NklITjBjbWx1WjEwNklHRnVlWDBnUFNCN2ZTa2dlMXh1SUNBZ0lDQWdMeTl6YVhwbElHOW1JR1oxYkd3Z2JXRjBjbWw0WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZWGRoYVhRZ2RHaHBjeTVqWVd4alRYVnNkR2xEYjJ4MWJXNG9XM1poYkhWbGMxMHNJRnRtYms1aGJXVmRMQ0IwYUhKbGMyaHZiR1FzSUZ0dmNIUnpYU3dnV3pGZEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCd2RXSnNhV01nWVhONWJtTWdaMlYwUzA1T0tGeHVJQ0FnSUNBZ2RtRnNkV1Z6T2lCQmNuSmhlVHhoYm5rK0xDQm1iazVoYldVNklFdHViM2R1VFdWMGNtbGpjeXdnYms1bGFXZG9ZbTkxY25NNklHNTFiV0psY2lBOUlERTFMQ0J2Y0hSek9pQjdXMTg2SUhOMGNtbHVaMTA2SUdGdWVYMGdQU0I3ZlZ4dUlDQWdJQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR0YzWVdsMElIUm9hWE11YlhWc2RHbERiMngxYlc1TFRrNG9XM1poYkhWbGMxMHNJRnRtYms1aGJXVmRMQ0J1VG1WcFoyaGliM1Z5Y3l3Z1cyOXdkSE5kTENCYk1WMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIQjFZbXhwWXlCaGMzbHVZeUJuWlhSVWFISmxjMmh2YkdSTFRrNG9YRzRnSUNBZ0lDQjJZV3gxWlhNNklFRnljbUY1UEdGdWVUNHNJR1p1VG1GdFpUb2dTMjV2ZDI1TlpYUnlhV056TENCMGFISmxjMmh2YkdRNklHNTFiV0psY2lBOUlEQXVPQ3dnYjNCMGN6b2dlMXRmT2lCemRISnBibWRkT2lCaGJubDlJRDBnZTMxY2JpQWdJQ0FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoZDJGcGRDQjBhR2x6TG0xMWJIUnBRMjlzZFcxdVZHaHlaWE5vYjJ4a1MyNXVLRnQyWVd4MVpYTmRMQ0JiWm01T1lXMWxYU3dnZEdoeVpYTm9iMnhrTENCYmIzQjBjMTBzSUZzeFhTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NIVmliR2xqSUdGemVXNWpJRzExYkhScFEyOXNkVzF1VkdoeVpYTm9iMnhrUzI1dUtIWmhiSFZsY3pvZ1FYSnlZWGs4UVhKeVlYazhZVzU1UGo0c0lHWnVUbUZ0WlhNNklFdHViM2R1VFdWMGNtbGpjMXRkTENCMGFISmxjMmh2YkdRNklHNTFiV0psY2lBOUlEQXVPQ3hjYmlBZ0lDQWdJRzl3ZEhNNklIdGJYem9nYzNSeWFXNW5YVG9nWVc1NWZWdGRMQ0IzWldsbmFIUnpPaUJ1ZFcxaVpYSmJYU3hjYmlBZ0lDQWdJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtPaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtJRDBnUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaSE11UlZWRFRFbEVSVUZPWEc0Z0lDQWdLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RtRnNkV1Z6TG14bGJtZDBhQ0FoUFQwZ1ptNU9ZVzFsY3k1c1pXNW5kR2dnZkh3Z2RtRnNkV1Z6TG14bGJtZDBhQ0FoUFQwZ2IzQjBjeTVzWlc1bmRHZ2dmSHdnZG1Gc2RXVnpMbXhsYm1kMGFDQWhQVDBnZDJWcFoyaDBjeTVzWlc1bmRHZ3BYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25kbUZzZFdWekxDQmthWE4wWVc1alpTQm1kVzVqZEdsdmJuTXNJRzl3ZEdsdmJuTWdZVzVrSUhkbGFXZG9kSE1nWVhKeVlYbHpJSE5vYjNWc1pDQm9ZWFpsSUhSb1pTQnpZVzFsSUd4bGJtZDBhQ2NwTzF4dVhHNGdJQ0FnSUNCcFppQW9kbUZzZFdWekxuTnZiV1VvS0hZcElEMCtJSFl1YkdWdVozUm9JQ0U5UFNCMllXeDFaWE5iTUYwdWJHVnVaM1JvS1NsY2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkaGJHd2dkbUZzZFdWeklHRnljbUY1Y3lCemFHOTFiR1FnYUdGMlpTQjBhR1VnYzJGdFpTQnNaVzVuZEdnbktUdGNibHh1SUNBZ0lDQWdZMjl1YzNRZ2JXRjBVMmw2WlNBOUlIWmhiSFZsYzFzd1hTNXNaVzVuZEdnZ0tpQW9kbUZzZFdWeld6QmRMbXhsYm1kMGFDQXRJREVwSUM4Z01qdGNiaUFnSUNBZ0lHTnZibk4wSUdOb2RXNXJVMmw2WlNBOUlFMWhkR2d1Wm14dmIzSW9iV0YwVTJsNlpTQXZJSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBLVHRjYmlBZ0lDQWdJR052Ym5OMElIQnliMjFwYzJWeklEMWNiaUFnSUNBZ0lDQWdibVYzSUVGeWNtRjVQRkJ5YjIxcGMyVThTMjV1VW1WemRXeDBQajRvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTzF4dUlDQWdJQ0FnWTI5dWMzUWdkMjl5YTJWeWN5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ2xjYmlBZ0lDQWdJQ0FnTG1acGJHd29iblZzYkNrdWJXRndLQ2dwSUQwK0lHNWxkeUJYYjNKclpYSW9ibVYzSUZWU1RDZ25MaTlyYm00dGRHaHlaWE5vYjJ4a0xYZHZjbXRsY2ljc0lHbHRjRzl5ZEM1dFpYUmhMblZ5YkNrcEtUdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHbGtlQ0E5SURBN0lHbGtlQ0E4SUhSb2FYTXVYM2R2Y210bGNrTnZkVzUwT3lCcFpIZ3JLeWtnZTF4dUlDQWdJQ0FnSUNCd2NtOXRhWE5sYzF0cFpIaGRJRDBnYm1WM0lGQnliMjFwYzJVb0tISmxjMjlzZG1WWGIzSnJaWElzSUhKbGFtVmpkRmR2Y210bGNpa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUhOMFlYSjBTV1I0SUQwZ2FXUjRJQ29nWTJoMWJtdFRhWHBsTzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdWdVpFbGtlQ0E5SUdsa2VDQTlQVDBnZEdocGN5NWZkMjl5YTJWeVEyOTFiblFnTFNBeElEOGdiV0YwVTJsNlpTQTZJQ2hwWkhnZ0t5QXhLU0FxSUdOb2RXNXJVMmw2WlR0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWlc1a1NXUjRJRHc5SUhOMFlYSjBTV1I0S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVZ6YjJ4MlpWZHZjbXRsY2loN2EyNXVSR2x6ZEdGdVkyVnpPaUJ1WlhjZ1FYSnlZWGtvTUNrc0lHdHVia2x1WkdWNFpYTTZJRzVsZHlCQmNuSmhlU2d3S1gwcE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1d2IzTjBUV1Z6YzJGblpTaDdkbUZzZFdWekxDQnpkR0Z5ZEVsa2VDd2daVzVrU1dSNExDQm1iazVoYldWekxDQnZjSFJ6TENCMGFISmxjMmh2YkdRc0lIZGxhV2RvZEhNc0lHRm5aM0psWjJGMGFXOXVUV1YwYUc5a2ZTazdYRzRnSUNBZ0lDQWdJQ0FnZDI5eWEyVnljMXRwWkhoZExtOXViV1Z6YzJGblpTQTlJQ2g3WkdGMFlUb2dlMlZ5Y205eUxDQnJibTVFYVhOMFlXNWpaWE1zSUd0dWJrbHVaR1Y0WlhOOWZTazZJSFp2YVdRZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1Z5Y205eUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIZHZjbXRsY25OYmFXUjRYUzUwWlhKdGFXNWhkR1VvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WcVpXTjBWMjl5YTJWeUtHVnljbTl5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIZHZjbXRsY25OYmFXUjRYUzUwWlhKdGFXNWhkR1VvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WemIyeDJaVmR2Y210bGNpaDdhMjV1UkdsemRHRnVZMlZ6TENCcmJtNUpibVJsZUdWemZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTnZibk4wSUhKbGMzVnNkSE1nUFNCaGQyRnBkQ0JRY205dGFYTmxMbUZzYkNod2NtOXRhWE5sY3lrN1hHNGdJQ0FnSUNCamIyNXpkQ0JyYm01VGFYcGxjeUE5SUc1bGR5QkpiblF6TWtGeWNtRjVLSFpoYkhWbGMxc3dYUzVzWlc1bmRHZ3BPMXh1SUNBZ0lDQWdabTl5SUNoamIyNXpkQ0J5WlhNZ2IyWWdjbVZ6ZFd4MGN5a2dlMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhaaGJIVmxjMXN3WFM1c1pXNW5kR2c3SUNzcmFTbGNiaUFnSUNBZ0lDQWdJQ0JyYm01VGFYcGxjMXRwWFNBclBTQnlaWE11YTI1dVNXNWtaWGhsYzF0cFhUOHViR1Z1WjNSb0lEOC9JREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JqYjI1emRDQnJibTVTWlhNNklFdHVibEpsYzNWc2RDQTlJSHRjYmlBZ0lDQWdJQ0FnYTI1dVJHbHpkR0Z1WTJWek9pQnVaWGNnUVhKeVlYa29kbUZzZFdWeld6QmRMbXhsYm1kMGFDa3VabWxzYkNodWRXeHNLUzV0WVhBb0tGOHNJR2twSUQwK0lHNWxkeUJCY25KaGVUeHVkVzFpWlhJK0tHdHVibE5wZW1WelcybGRLU2tzWEc0Z0lDQWdJQ0FnSUd0dWJrbHVaR1Y0WlhNNklHNWxkeUJCY25KaGVTaDJZV3gxWlhOYk1GMHViR1Z1WjNSb0tTNW1hV3hzS0c1MWJHd3BMbTFoY0Nnb1h5d2dhU2tnUFQ0Z2JtVjNJRUZ5Y21GNVBHNTFiV0psY2o0b2EyNXVVMmw2WlhOYmFWMHBLWDA3WEc0Z0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUhKbGN5QnZaaUJ5WlhOMWJIUnpLU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2RtRnNkV1Z6V3pCZExteGxibWQwYURzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnlaWE11YTI1dVJHbHpkR0Z1WTJWelcybGRQeTVzWlc1bmRHZ2dQejhnTURzZ0t5dHFLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnJibTVTWlhNdWEyNXVSR2x6ZEdGdVkyVnpXMmxkVzJ0dWJsTnBlbVZ6VzJsZElDMGdNVjBnUFNCeVpYTXVhMjV1UkdsemRHRnVZMlZ6VzJsZFcycGRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2EyNXVVbVZ6TG10dWJrbHVaR1Y0WlhOYmFWMWJhMjV1VTJsNlpYTmJhVjBnTFNBeFhTQTlJSEpsY3k1cmJtNUpibVJsZUdWelcybGRXMnBkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhMjV1VTJsNlpYTmJhVjBnTFQwZ01UdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJyYm01U1pYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NIVmliR2xqSUdGemVXNWpJRzExYkhScFEyOXNkVzF1UzA1T0tIWmhiSFZsY3pvZ1FYSnlZWGs4UVhKeVlYazhZVzU1UGo0c0lHWnVUbUZ0WlhNNklFdHViM2R1VFdWMGNtbGpjMXRkTENCdVRtVnBaMmhpYjNWeWN6b2diblZ0WW1WeUlEMGdNVFVzWEc0Z0lDQWdJQ0J2Y0hSek9pQjdXMTg2SUhOMGNtbHVaMTA2SUdGdWVYMWJYU3dnZDJWcFoyaDBjem9nYm5WdFltVnlXMTBzWEc0Z0lDQWdJQ0JoWjJkeVpXZGhkR2x2YmsxbGRHaHZaRG9nUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaQ0E5SUVScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlJ6TGtWVlEweEpSRVZCVGx4dUlDQWdJQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tIWmhiSFZsY3k1c1pXNW5kR2dnSVQwOUlHWnVUbUZ0WlhNdWJHVnVaM1JvSUh4OElIWmhiSFZsY3k1c1pXNW5kR2dnSVQwOUlHOXdkSE11YkdWdVozUm9JSHg4SUhaaGJIVmxjeTVzWlc1bmRHZ2dJVDA5SUhkbGFXZG9kSE11YkdWdVozUm9LVnh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KM1poYkhWbGN5d2daR2x6ZEdGdVkyVWdablZ1WTNScGIyNXpMQ0J2Y0hScGIyNXpJR0Z1WkNCM1pXbG5hSFJ6SUdGeWNtRjVjeUJ6YUc5MWJHUWdhR0YyWlNCMGFHVWdjMkZ0WlNCc1pXNW5kR2duS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLSFpoYkhWbGN5NXpiMjFsS0NoMktTQTlQaUIyTG14bGJtZDBhQ0FoUFQwZ2RtRnNkV1Z6V3pCZExteGxibWQwYUNrcFhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnbllXeHNJSFpoYkhWbGN5QmhjbkpoZVhNZ2MyaHZkV3hrSUdoaGRtVWdkR2hsSUhOaGJXVWdiR1Z1WjNSb0p5azdYRzVjYmlBZ0lDQWdJR052Ym5OMElHMWhkRk5wZW1VZ1BTQjJZV3gxWlhOYk1GMHViR1Z1WjNSb0lDb2dLSFpoYkhWbGMxc3dYUzVzWlc1bmRHZ2dMU0F4S1NBdklESTdYRzRnSUNBZ0lDQmpiMjV6ZENCamFIVnVhMU5wZW1VZ1BTQk5ZWFJvTG1ac2IyOXlLRzFoZEZOcGVtVWdMeUIwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ2s3WEc0Z0lDQWdJQ0JqYjI1emRDQndjbTl0YVhObGN5QTlYRzRnSUNBZ0lDQWdJRzVsZHlCQmNuSmhlVHhRY205dGFYTmxQRXR1YmxKbGMzVnNkRDQrS0hSb2FYTXVYM2R2Y210bGNrTnZkVzUwS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJSGR2Y210bGNuTWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwWEc0Z0lDQWdJQ0FnSUM1bWFXeHNLRzUxYkd3cExtMWhjQ2dvS1NBOVBpQnVaWGNnVjI5eWEyVnlLRzVsZHlCVlVrd29KeTR2YTI1dUxYZHZjbXRsY2ljc0lHbHRjRzl5ZEM1dFpYUmhMblZ5YkNrcEtUdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHbGtlQ0E5SURBN0lHbGtlQ0E4SUhSb2FYTXVYM2R2Y210bGNrTnZkVzUwT3lCcFpIZ3JLeWtnZTF4dUlDQWdJQ0FnSUNCd2NtOXRhWE5sYzF0cFpIaGRJRDBnYm1WM0lGQnliMjFwYzJVb0tISmxjMjlzZG1WWGIzSnJaWElzSUhKbGFtVmpkRmR2Y210bGNpa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUhOMFlYSjBTV1I0SUQwZ2FXUjRJQ29nWTJoMWJtdFRhWHBsTzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdWdVpFbGtlQ0E5SUdsa2VDQTlQVDBnZEdocGN5NWZkMjl5YTJWeVEyOTFiblFnTFNBeElEOGdiV0YwVTJsNlpTQTZJQ2hwWkhnZ0t5QXhLU0FxSUdOb2RXNXJVMmw2WlR0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWlc1a1NXUjRJRHc5SUhOMFlYSjBTV1I0S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVZ6YjJ4MlpWZHZjbXRsY2loN2EyNXVSR2x6ZEdGdVkyVnpPaUJ1WlhjZ1FYSnlZWGtvTUNrc0lHdHVia2x1WkdWNFpYTTZJRzVsZHlCQmNuSmhlU2d3S1gwcE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1d2IzTjBUV1Z6YzJGblpTaDdkbUZzZFdWekxDQnpkR0Z5ZEVsa2VDd2daVzVrU1dSNExDQm1iazVoYldWekxDQnZjSFJ6TENCdVRtVnBaMmhpYjNWeWN5d2dkMlZwWjJoMGN5d2dZV2RuY21WbllYUnBiMjVOWlhSb2IyUjlLVHRjYmlBZ0lDQWdJQ0FnSUNCM2IzSnJaWEp6VzJsa2VGMHViMjV0WlhOellXZGxJRDBnS0h0a1lYUmhPaUI3WlhKeWIzSXNJR3R1YmtScGMzUmhibU5sY3l3Z2EyNXVTVzVrWlhobGMzMTlLVG9nZG05cFpDQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTJWeWMxdHBaSGhkTG5SbGNtMXBibUYwWlNncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpXcGxZM1JYYjNKclpYSW9aWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTJWeWMxdHBaSGhkTG5SbGNtMXBibUYwWlNncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTnZiSFpsVjI5eWEyVnlLSHRyYm01RWFYTjBZVzVqWlhNc0lHdHVia2x1WkdWNFpYTjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdZMjl1YzNRZ2NtVnpkV3gwY3lBOUlHRjNZV2wwSUZCeWIyMXBjMlV1WVd4c0tIQnliMjFwYzJWektUdGNiaUFnSUNBZ0lHTnZibk4wSUd0dWJsSmxjem9nUzI1dVVtVnpkV3gwSUQwZ2UxeHVJQ0FnSUNBZ0lDQnJibTVFYVhOMFlXNWpaWE02SUc1bGR5QkJjbkpoZVNoMllXeDFaWE5iTUYwdWJHVnVaM1JvS1M1bWFXeHNLRzUxYkd3cExtMWhjQ2dvS1NBOVBpQnVaWGNnUVhKeVlYazhiblZ0WW1WeVBpaHVUbVZwWjJoaWIzVnljeWt1Wm1sc2JDZzVPVGs1T1NrcExGeHVJQ0FnSUNBZ0lDQnJibTVKYm1SbGVHVnpPaUJ1WlhjZ1FYSnlZWGtvZG1Gc2RXVnpXekJkTG14bGJtZDBhQ2t1Wm1sc2JDaHVkV3hzS1M1dFlYQW9LQ2tnUFQ0Z2JtVjNJRUZ5Y21GNVBHNTFiV0psY2o0b2JrNWxhV2RvWW05MWNuTXBMbVpwYkd3b0xURXBLWDA3WEc0Z0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUhKbGN5QnZaaUJ5WlhOMWJIUnpLU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2RtRnNkV1Z6V3pCZExteGxibWQwYURzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnlaWE11YTI1dVJHbHpkR0Z1WTJWelcybGRQeTVzWlc1bmRHZ2dQejhnTURzZ0t5dHFLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNXpaWEowVTIxaGJHeGxjaWhyYm01U1pYTXVhMjV1UkdsemRHRnVZMlZ6VzJsZExDQnJibTVTWlhNdWEyNXVTVzVrWlhobGMxdHBYU3dnY21WekxtdHVia1JwYzNSaGJtTmxjMXRwWFZ0cVhTd2djbVZ6TG10dWJrbHVaR1Y0WlhOYmFWMWJhbDBwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnYTI1dVVtVnpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIQjFZbXhwWXlCaGMzbHVZeUJuWlhSVFlXMXdiR1ZFYVhOMFlXNWpaWE1vZG1Gc2RXVnpPaUJCY25KaGVUeGhibmxiWFQ0c1hHNGdJQ0FnSUNCbWJrNWhiV1Z6T2lCTGJtOTNiazFsZEhKcFkzTmJYU3dnYjNCMGN6b2dlMXRmT2lCemRISnBibWRkT2lCaGJubDlXMTBnUFNCYlhTd2dkMlZwWjJoMGN6b2diblZ0WW1WeVcxMHNYRzRnSUNBZ0lDQmhaMmR5WldkaGRHbHZiazFsZEdodlpEb2dSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpDQTlJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUnpMa1ZWUTB4SlJFVkJUaWs2SUZCeWIyMXBjMlU4Um14dllYUXpNa0Z5Y21GNVBpQjdYRzRnSUNBZ0lDQmpiMjV6ZENCMGFISmxjMmh2YkdSWGIzSnJaWEp6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11WDNkdmNtdGxja052ZFc1MEtTNW1hV3hzS0c1MWJHd3BYRzRnSUNBZ0lDQWdJQzV0WVhBb0tDa2dQVDRnYm1WM0lGZHZjbXRsY2lodVpYY2dWVkpNS0NjdUwzTndZWEp6WlMxdFlYUnlhWGd0ZEdoeVpYTm9iMnhrTFhkdmNtdGxjaWNzSUdsdGNHOXlkQzV0WlhSaExuVnliQ2twS1R0Y2JseHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdiV0YwVTJsNlpTQTlJSFpoYkhWbGMxc3dYUzVzWlc1bmRHZ2dLaUFvZG1Gc2RXVnpXekJkTG14bGJtZDBhQ0F0SURFcElDOGdNanRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZMmgxYm10VGFYcGxJRDBnVFdGMGFDNW1iRzl2Y2lodFlYUlRhWHBsSUM4Z2RHaHBjeTVmZDI5eWEyVnlRMjkxYm5RcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdFlYaFRZVzF3YkdWVGFYcGxJRDBnTVY4d01EQmZNREF3TzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J6WVcxd2JHVlRhWE5sSUQwZ1RXRjBhQzV0WVhnb1RXRjBhQzV0YVc0b2JXRjBVMmw2WlNBdklERXdNREFzSUcxaGVGTmhiWEJzWlZOcGVtVXBMQ0JOWVhSb0xtMXBiaWh0WVhSVGFYcGxMQ0J0WVhoVFlXMXdiR1ZUYVhwbEtTazdYRzRnSUNBZ0lDQWdJR052Ym5OMElIUmxjM1JUWlhSVGFYcGxVR1Z5VjI5eWEyVnlJRDBnVFdGMGFDNW1iRzl2Y2loellXMXdiR1ZUYVhObElDOGdkR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjBVSEp2YldselpYTWdQU0J1WlhjZ1FYSnlZWGs4VUhKdmJXbHpaVHg3WkdsemRHRnVZMlU2SUVac2IyRjBNekpCY25KaGVYMCtQaWgwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ2s3WEc1Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FXUjRJRDBnTURzZ2FXUjRJRHdnZEdocGN5NWZkMjl5YTJWeVEyOTFiblE3SUdsa2VDc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RGQnliMjFwYzJWelcybGtlRjBnUFNCdVpYY2dVSEp2YldselpTZ29jbVZ6YjJ4MlpWZHZjbXRsY2l3Z2NtVnFaV04wVjI5eWEyVnlLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnpkR0Z5ZEVsa2VDQTlJR2xrZUNBcUlHTm9kVzVyVTJsNlpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR1Z1WkVsa2VDQTlJR2xrZUNBOVBUMGdkR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUWdMU0F4SUQ4Z2JXRjBVMmw2WlNBNklDaHBaSGdnS3lBeEtTQXFJR05vZFc1clUybDZaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9jbVZ6YUc5c1pGZHZjbXRsY25OYmFXUjRYUzV3YjNOMFRXVnpjMkZuWlNoN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxjem9nZG1Gc2RXVnpMQ0J6ZEdGeWRFbGtlQ3dnWlc1a1NXUjRMQ0J6WVcxd2JHVk1aVzVuZEdnNklIUmxjM1JUWlhSVGFYcGxVR1Z5VjI5eWEyVnlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQm1iazVoYldWekxDQnZjSFJ6TENCM1pXbG5hSFJ6TENCaFoyZHlaV2RoZEdsdmJrMWxkR2h2WkZ4dUlDQWdJQ0FnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEpsYzJodmJHUlhiM0pyWlhKelcybGtlRjB1YjI1dFpYTnpZV2RsSUQwZ0tIdGtZWFJoT2lCN1pYSnliM0lzSUdScGMzUmhibU5sZlgwcE9pQjJiMmxrSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHlaWE5vYjJ4a1YyOXlhMlZ5YzF0cFpIaGRMblJsY20xcGJtRjBaU2dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1pYSnliM0lwSUhKbGFtVmpkRmR2Y210bGNpaGxjbkp2Y2lrN0lHVnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxWMjl5YTJWeUtIdGthWE4wWVc1alpYMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR052Ym5OMElISmxjM1ZzZEhNZ1BTQmhkMkZwZENCUWNtOXRhWE5sTG1Gc2JDaDBVSEp2YldselpYTXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQm1kV3hzVTJsNlpTQTlJSEpsYzNWc2RITXVjbVZrZFdObEtDaGhZMk1zSUhaaGJDa2dQVDRnWVdOaklDc2dkbUZzTG1ScGMzUmhibU5sTG14bGJtZDBhQ3dnTUNrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdScGMzUmhibU5sSUQwZ2JtVjNJRVpzYjJGME16SkJjbkpoZVNobWRXeHNVMmw2WlNrN1hHNGdJQ0FnSUNBZ0lHeGxkQ0J2Wm1aelpYUWdQU0F3TzF4dUlDQWdJQ0FnSUNCbWIzSWdLR052Ym5OMElISmxjeUJ2WmlCeVpYTjFiSFJ6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdaR2x6ZEdGdVkyVXVjMlYwS0hKbGN5NWthWE4wWVc1alpTd2diMlptYzJWMEtUdGNiaUFnSUNBZ0lDQWdJQ0J2Wm1aelpYUWdLejBnY21WekxtUnBjM1JoYm1ObExteGxibWQwYUR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmthWE4wWVc1alpTNXpiM0owS0NrN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUnBjM1JoYm1ObE8xeHVJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdJQ0IwYUhKbGMyaHZiR1JYYjNKclpYSnpQeTVtYjNKRllXTm9LQ2gzS1NBOVBpQjNQeTUwWlhKdGFXNWhkR1VvS1NrN1hHNGdJQ0FnSUNBZ0lHTnZibk52YkdVdVpYSnliM0lvWlNrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2dSbXh2WVhRek1rRnljbUY1S0RFcExtWnBiR3dvTUM0MUtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCd2NtbDJZWFJsSUdGemVXNWpJR2RsZEUxcGJtbHRZV3hVYUhKbGMyaHZiR1FvZG1Gc2RXVnpPaUJCY25KaGVUeGhibmxiWFQ0c1hHNGdJQ0FnSUNCbWJrNWhiV1Z6T2lCTGJtOTNiazFsZEhKcFkzTmJYU3dnYjNCMGN6b2dlMXRmT2lCemRISnBibWRkT2lCaGJubDlXMTBnUFNCYlhTd2dkMlZwWjJoMGN6b2diblZ0WW1WeVcxMHNYRzRnSUNBZ0lDQmhaMmR5WldkaGRHbHZiazFsZEdodlpEb2dSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpDQTlJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUnpMa1ZWUTB4SlJFVkJUaWtnZTF4dUlDQWdJQ0FnTHk5WFpTQnVaV1ZrSUhSdklHTmhiR04xYkdGMFpTQjBhR1VnYldsdWFXMWhiQ0IwYUhKbGMyaHZiR1FnWm1seWMzUXNYRzRnSUNBZ0lDQXZMMmx1SUc5eVpHVnlJSFJ2SUdkbGRDQnRZWFJ5YVhnZ2MzVmphQ0IwYUdGMElHbDBJR1J2WlhNZ2JtOTBJR1Y0WTJWbFpDQjBhR1VnYldGNGFXMTFiU0J6YVhwbElHOW1JREZIUWx4dUlDQWdJQ0FnTHk5M1pTQm9ZWFpsSURNZ2NtVjBkWEp1SUdGeWNtRjVjeXdnWldGamFDQTBJR0pwZEdWeklIQmxjaUJsYkdWdFpXNTBMQ0J6YnlCcFppQjBhR1VnYldGNGFXMTFiU0J6YVhwbElHOW1JSFJvWlNCdFlYUnlhWGdnYVhNZ01VZENMRnh1SUNBZ0lDQWdZMjl1YzNRZ2JXRjRVM0JoY25ObFRXRjBjbWw0VTJsNlpTQTlJRGN3WHpBd01GOHdNREE3WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdFlYUlRhWHBsSUQwZ2RtRnNkV1Z6TG14bGJtZDBhQ0FxSUNoMllXeDFaWE11YkdWdVozUm9JQzBnTVNrZ0x5QXlPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmthWE4wWVc1alpTQTlJR0YzWVdsMElIUm9hWE11WjJWMFUyRnRjR3hsUkdsemRHRnVZMlZ6S0haaGJIVmxjeXdnWm01T1lXMWxjeXdnYjNCMGN5d2dkMlZwWjJoMGN5d2dZV2RuY21WbllYUnBiMjVOWlhSb2IyUXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQm1jbUZqZEdsdmJrbHVaR1Y0SUQwZ1RXRjBhQzVtYkc5dmNpaHRZWGhUY0dGeWMyVk5ZWFJ5YVhoVGFYcGxJQzhnYldGMFUybDZaU0FxSUdScGMzUmhibU5sTG14bGJtZDBhQ2s3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSFJvY21WemFHOXNaQ0E5SURFZ0xTQmthWE4wWVc1alpWdG1jbUZqZEdsdmJrbHVaR1Y0WFR0Y2JpQWdJQ0FnSUNBZ0x5OGdkR2h5WlhOb2IyeGtJRDBnVFdGMGFDNXRZWGdvZEdoeVpYTm9iMnhrTENBd0xqTXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2h5WlhOb2IyeGtPMXh1SUNBZ0lDQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpiMnhsTG1WeWNtOXlLR1VwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnTUM0MU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhCMVlteHBZeUJ6ZEdGMGFXTWdZMkZzWTFONWJtTThWRDRvWEc0Z0lDQWdJQ0IyWVd4MVpYTTZJRUZ5Y21GNVBGUStJSHdnUVhKeVlYbE1hV3RsUEZRK0xDQm1iazVoYldVNklFdHViM2R1VFdWMGNtbGpjeXdnWkdsemRHRnVZMlZHYmpvZ1JuVnVZM1JwYjI0c0lIUm9jbVZ6YUc5c1pEb2diblZ0WW1WeVhHNGdJQ0FnS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0JwT2lCdWRXMWlaWEpiWFNBOUlGdGRPMXh1SUNBZ0lDQWdZMjl1YzNRZ2Fqb2diblZ0WW1WeVcxMGdQU0JiWFR0Y2JpQWdJQ0FnSUdOdmJuTjBJR1JwYzNSaGJtTmxjem9nYm5WdFltVnlXMTBnUFNCYlhUdGNiaUFnSUNBZ0lHeGxkQ0JqYm5RZ1BTQXdPMXh1SUNBZ0lDQWdiR1YwSUcxcElEMGdNRHRjYmlBZ0lDQWdJR3hsZENCdGFpQTlJREE3WEc0Z0lDQWdJQ0JqYjI1emRDQm1kV3hzVTJsNlpTQTlJSFpoYkhWbGN5NXNaVzVuZEdnZ0tpQW9kbUZzZFdWekxteGxibWQwYUNBdElERXBJQzhnTWp0Y2JpQWdJQ0FnSUhkb2FXeGxJQ2hqYm5RZ1BDQm1kV3hzVTJsNlpTa2dlMXh1SUNBZ0lDQWdJQ0F2TDJOdmJuTjBJSFpoYkhWbElEMGdjMlZ4TVV4cGMzUmJiV2xkSUNZbUlITmxjVEZNYVhOMFcyMXFYU0EvSUdoaGJXMXBibWNvYzJWeE1VeHBjM1JiYldsZExDQnpaWEV4VEdsemRGdHRhbDBwSURvZ01EdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2RtRnNkV1VnUFNBaGFYTk9hV3dvZG1Gc2RXVnpXMjFwWFNrZ0ppWWdJV2x6VG1sc0tIWmhiSFZsYzF0dGFsMHBJRDljYmlBZ0lDQWdJQ0FnSUNCa2FYTjBZVzVqWlVadUtIWmhiSFZsYzF0dGFWMHNJSFpoYkhWbGMxdHRhbDBwSURvZ01UdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2MybHRhV3hoY21sMGVTQTlJREVnTFNCMllXeDFaVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITnBiV2xzWVhKcGRIa2dQajBnZEdoeVpYTm9iMnhrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhUzV3ZFhOb0tHMXBLVHRjYmlBZ0lDQWdJQ0FnSUNCcUxuQjFjMmdvYldvcE8xeHVJQ0FnSUNBZ0lDQWdJR1JwYzNSaGJtTmxjeTV3ZFhOb0tIWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQmpiblFyS3p0Y2JpQWdJQ0FnSUNBZ2JXb3JLenRjYmlBZ0lDQWdJQ0FnYVdZZ0tHMXFJRDA5UFNCMllXeDFaWE11YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXa3JLenRjYmlBZ0lDQWdJQ0FnSUNCdGFpQTlJRzFwSUNzZ01UdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JqYjI1emRDQnBRWEp5WVhrZ1BTQnVaWGNnU1c1ME16SkJjbkpoZVNocEtUdGNiaUFnSUNBZ0lHTnZibk4wSUdwQmNuSmhlU0E5SUc1bGR5QkpiblF6TWtGeWNtRjVLR29wTzF4dUlDQWdJQ0FnWTI5dWMzUWdaR2x6ZEdGdVkyVkJjbkpoZVNBOUlHNWxkeUJHYkc5aGRETXlRWEp5WVhrb1pHbHpkR0Z1WTJWektUdGNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdHBPaUJwUVhKeVlYa3NJR282SUdwQmNuSmhlU3dnWkdsemRHRnVZMlU2SUdScGMzUmhibU5sUVhKeVlYbDlPMXh1SUNBZ0lIMWNibjFjYmlKZGZRPT0iLCJleHBvcnQgdmFyIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzO1xuKGZ1bmN0aW9uIChEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcykge1xuICAgIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzW1wiRVVDTElERUFOXCJdID0gXCJFVUNMSURFQU5cIjtcbiAgICBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kc1tcIk1BTkhBVFRBTlwiXSA9IFwiTUFOSEFUVEFOXCI7XG59KShEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyB8fCAoRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMgPSB7fSkpO1xuO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pYTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMGVYQmxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeE5RVUZOTEVOQlFVNHNTVUZCV1N3d1FrRkhWRHRCUVVoSUxGZEJRVmtzTUVKQlFUQkNPMGxCUTJ4RExIRkVRVUYxUWl4RFFVRkJPMGxCUTNaQ0xIRkVRVUYxUWl4RFFVRkJPMEZCUTNwQ0xFTkJRVU1zUlVGSVV5d3dRa0ZCTUVJc1MwRkJNVUlzTUVKQlFUQkNMRkZCUjI1RE8wRkJRVUVzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbVY0Y0c5eWRDQmxiblZ0SUVScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlJ6SUh0Y2JpQWdJQ0JGVlVOTVNVUkZRVTRnUFNBblJWVkRURWxFUlVGT0p5eGNiaUFnSUNCTlFVNUlRVlJVUVU0Z1BTQW5UVUZPU0VGVVZFRk9KeXhjYmlBZ2ZUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1JHbHpkR0Z1WTJWQloyZHlaV2RoZEdsdmJrMWxkR2h2WkNBOUlHdGxlVzltSUhSNWNHVnZaaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtjenRjYmlKZGZRPT0iXSwibmFtZXMiOlsiU3BhcnNlTWF0cml4U2VydmljZSIsImNvbnN0cnVjdG9yIiwidGhpcyIsIl93b3JrZXJDb3VudCIsIk1hdGgiLCJtYXgiLCJuYXZpZ2F0b3IiLCJoYXJkd2FyZUNvbmN1cnJlbmN5IiwiYXN5bmMiLCJ2YWx1ZXMiLCJmbk5hbWVzIiwidGhyZXNob2xkIiwib3B0cyIsIndlaWdodHMiLCJhZ2dyZWdhdGlvbk1ldGhvZCIsIm1hdFNpemUiLCJsZW5ndGgiLCJjaHVua1NpemUiLCJmbG9vciIsIm1pblRocmVzaG9sZCIsImdldE1pbmltYWxUaHJlc2hvbGQiLCJjb25zb2xlIiwibG9nIiwiZm9yRWFjaCIsIl8iLCJpIiwicHJvbWlzZXMiLCJBcnJheSIsIndvcmtlcnMiLCJmaWxsIiwibWFwIiwiV29ya2VyIiwiVVJMIiwiaWR4IiwiUHJvbWlzZSIsInJlc29sdmVXb3JrZXIiLCJyZWplY3RXb3JrZXIiLCJzdGFydElkeCIsImVuZElkeCIsIkludDMyQXJyYXkiLCJqIiwiZGlzdGFuY2UiLCJGbG9hdDMyQXJyYXkiLCJwb3N0TWVzc2FnZSIsIm9ubWVzc2FnZSIsImRhdGEiLCJlcnJvciIsInRlcm1pbmF0ZSIsInJlc3VsdHMiLCJhbGwiLCJmdWxsU2l6ZSIsInJlZHVjZSIsImFjYyIsInZhbCIsIm9mZnNldCIsInJlcyIsInNldCIsImZuTmFtZSIsImNhbGNNdWx0aUNvbHVtbiIsIm5OZWlnaGJvdXJzIiwibXVsdGlDb2x1bW5LTk4iLCJtdWx0aUNvbHVtblRocmVzaG9sZEtubiIsIkVycm9yIiwic29tZSIsInYiLCJrbm5EaXN0YW5jZXMiLCJrbm5JbmRleGVzIiwia25uU2l6ZXMiLCJrbm5SZXMiLCJ0aHJlc2hvbGRXb3JrZXJzIiwibWF4U2FtcGxlU2l6ZSIsInNhbXBsZVNpc2UiLCJtaW4iLCJ0ZXN0U2V0U2l6ZVBlcldvcmtlciIsInRQcm9taXNlcyIsInNhbXBsZUxlbmd0aCIsInNvcnQiLCJlIiwidyIsImdldFNhbXBsZURpc3RhbmNlcyIsInN0YXRpYyIsImRpc3RhbmNlRm4iLCJkaXN0YW5jZXMiLCJjbnQiLCJtaSIsIm1qIiwidmFsdWUiLCJwdXNoIiwiRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMiXSwic291cmNlUm9vdCI6IiJ9
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,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R0FDeEMsTUFBTWMsRUFBSSxHQUNKZSxFQUFJLEdBQ0owQyxFQUFZLEdBQ2xCLElBQUlDLEVBQU0sRUFDTkMsRUFBSyxFQUNMQyxFQUFLLEVBQ1QsTUFBTW5DLEVBQVd6QyxFQUFPTyxRQUFVUCxFQUFPTyxPQUFTLEdBQUssRUFDdkQsS0FBT21FLEVBQU1qQyxHQUFVLENBRW5CLE1BQU1vQyxHQUFTLFFBQU03RSxFQUFPMkUsTUFBUyxRQUFNM0UsRUFBTzRFLElBQ1QsRUFBckNKLEVBQVd4RSxFQUFPMkUsR0FBSzNFLEVBQU80RSxJQUNmLEVBQUlDLEdBQ0wzRSxJQUNkYyxFQUFFOEQsS0FBS0gsR0FDUDVDLEVBQUUrQyxLQUFLRixHQUNQSCxFQUFVSyxLQUFLRCxJQUVuQkgsSUFDQUUsSUFDSUEsSUFBTzVFLEVBQU9PLFNBQ2RvRSxJQUNBQyxFQUFLRCxFQUFLLEVBRWxCLENBSUEsTUFBTyxDQUFFM0QsRUFITSxJQUFJYyxXQUFXZCxHQUdWZSxFQUZMLElBQUlELFdBQVdDLEdBRUNDLFNBRFQsSUFBSUMsYUFBYXdDLEdBRTNDLEUsaUJDdFBHLElBQUlNLEUsaUJBQ1gsU0FBV0EsR0FDUEEsRUFBc0MsVUFBSSxZQUMxQ0EsRUFBc0MsVUFBSSxXQUM3QyxDQUhELENBR0dBLElBQStCQSxFQUE2QixDQUFDLEciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L3NwYXJzZS1tYXRyaXgtc2VydmljZS5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L3R5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBpbnNlcnRTbWFsbGVyLCBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IGNsYXNzIFNwYXJzZU1hdHJpeFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl93b3JrZXJDb3VudCA9IE1hdGgubWF4KG5hdmlnYXRvci5oYXJkd2FyZUNvbmN1cnJlbmN5IC0gMiwgMSk7XG4gICAgfVxuICAgIGFzeW5jIGNhbGNNdWx0aUNvbHVtbih2YWx1ZXMsIGZuTmFtZXMsIHRocmVzaG9sZCwgb3B0cyA9IFt7fV0sIHdlaWdodHMgPSBbMV0sIGFnZ3JlZ2F0aW9uTWV0aG9kID0gRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMuRVVDTElERUFOKSB7XG4gICAgICAgIGNvbnN0IG1hdFNpemUgPSB2YWx1ZXNbMF0ubGVuZ3RoICogKHZhbHVlc1swXS5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGguZmxvb3IobWF0U2l6ZSAvIHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3QgbWluVGhyZXNob2xkID0gdmFsdWVzWzBdLmxlbmd0aCA+IDIwMDAwID9cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0TWluaW1hbFRocmVzaG9sZCh2YWx1ZXMsIGZuTmFtZXMsIG9wdHMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kKSA6IDA7XG4gICAgICAgIGlmICh0aHJlc2hvbGQgPCBtaW5UaHJlc2hvbGQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGB1c2luZyB0aHJlc2hvbGQgJHttaW5UaHJlc2hvbGR9YCk7XG4gICAgICAgICAgICB0aHJlc2hvbGQgPSBtaW5UaHJlc2hvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgb3B0cy5mb3JFYWNoKChfLCBpKSA9PiBvcHRzW2ldWyd0aHJlc2hvbGQnXSA9IHRocmVzaG9sZCk7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3Qgd29ya2VycyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudClcbiAgICAgICAgICAgIC5maWxsKG51bGwpLm1hcCgoKSA9PiBuZXcgV29ya2VyKG5ldyBVUkwoJy4vc3BhcnNlLW1hdHJpeC13b3JrZXInLCBpbXBvcnQubWV0YS51cmwpKSk7XG4gICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHRoaXMuX3dvcmtlckNvdW50OyBpZHgrKykge1xuICAgICAgICAgICAgcHJvbWlzZXNbaWR4XSA9IG5ldyBQcm9taXNlKChyZXNvbHZlV29ya2VyLCByZWplY3RXb3JrZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydElkeCA9IGlkeCAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRJZHggPSBpZHggPT09IHRoaXMuX3dvcmtlckNvdW50IC0gMSA/IG1hdFNpemUgOiAoaWR4ICsgMSkgKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgaWYgKGVuZElkeCA8PSBzdGFydElkeClcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZVdvcmtlcih7IGk6IG5ldyBJbnQzMkFycmF5KDApLCBqOiBuZXcgSW50MzJBcnJheSgwKSwgZGlzdGFuY2U6IG5ldyBGbG9hdDMyQXJyYXkoMCksIGlkeCB9KTtcbiAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0ucG9zdE1lc3NhZ2UoeyB2YWx1ZXMsIHN0YXJ0SWR4LCBlbmRJZHgsIHRocmVzaG9sZCwgZm5OYW1lcywgb3B0cywgd2VpZ2h0cywgYWdncmVnYXRpb25NZXRob2QgfSk7XG4gICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGksIGosIGRpc3RhbmNlIH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdFdvcmtlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0udGVybWluYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlV29ya2VyKHsgaSwgaiwgZGlzdGFuY2UsIGlkeCB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgICAgICBjb25zdCBmdWxsU2l6ZSA9IHJlc3VsdHMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLmkubGVuZ3RoLCAwKTtcbiAgICAgICAgY29uc3QgaSA9IG5ldyBJbnQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgY29uc3QgaiA9IG5ldyBJbnQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBuZXcgRmxvYXQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICAgIC8vIHNldHRpbmcgdGhlIHJlc3VsdHNcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgaS5zZXQocmVzLmksIG9mZnNldCk7XG4gICAgICAgICAgICBqLnNldChyZXMuaiwgb2Zmc2V0KTtcbiAgICAgICAgICAgIGRpc3RhbmNlLnNldChyZXMuZGlzdGFuY2UsIG9mZnNldCk7XG4gICAgICAgICAgICBvZmZzZXQgKz0gcmVzLmkubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGksIGosIGRpc3RhbmNlIH07XG4gICAgfVxuICAgIGFzeW5jIGNhbGModmFsdWVzLCBmbk5hbWUsIHRocmVzaG9sZCwgb3B0cyA9IHt9KSB7XG4gICAgICAgIC8vc2l6ZSBvZiBmdWxsIG1hdHJpeFxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5jYWxjTXVsdGlDb2x1bW4oW3ZhbHVlc10sIFtmbk5hbWVdLCB0aHJlc2hvbGQsIFtvcHRzXSwgWzFdKTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0S05OKHZhbHVlcywgZm5OYW1lLCBuTmVpZ2hib3VycyA9IDE1LCBvcHRzID0ge30pIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMubXVsdGlDb2x1bW5LTk4oW3ZhbHVlc10sIFtmbk5hbWVdLCBuTmVpZ2hib3VycywgW29wdHNdLCBbMV0pO1xuICAgIH1cbiAgICBhc3luYyBnZXRUaHJlc2hvbGRLTk4odmFsdWVzLCBmbk5hbWUsIHRocmVzaG9sZCA9IDAuOCwgb3B0cyA9IHt9KSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLm11bHRpQ29sdW1uVGhyZXNob2xkS25uKFt2YWx1ZXNdLCBbZm5OYW1lXSwgdGhyZXNob2xkLCBbb3B0c10sIFsxXSk7XG4gICAgfVxuICAgIGFzeW5jIG11bHRpQ29sdW1uVGhyZXNob2xkS25uKHZhbHVlcywgZm5OYW1lcywgdGhyZXNob2xkID0gMC44LCBvcHRzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCA9IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzLkVVQ0xJREVBTikge1xuICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCAhPT0gZm5OYW1lcy5sZW5ndGggfHwgdmFsdWVzLmxlbmd0aCAhPT0gb3B0cy5sZW5ndGggfHwgdmFsdWVzLmxlbmd0aCAhPT0gd2VpZ2h0cy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhbHVlcywgZGlzdGFuY2UgZnVuY3Rpb25zLCBvcHRpb25zIGFuZCB3ZWlnaHRzIGFycmF5cyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBsZW5ndGgnKTtcbiAgICAgICAgaWYgKHZhbHVlcy5zb21lKCh2KSA9PiB2Lmxlbmd0aCAhPT0gdmFsdWVzWzBdLmxlbmd0aCkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2FsbCB2YWx1ZXMgYXJyYXlzIHNob3VsZCBoYXZlIHRoZSBzYW1lIGxlbmd0aCcpO1xuICAgICAgICBjb25zdCBtYXRTaXplID0gdmFsdWVzWzBdLmxlbmd0aCAqICh2YWx1ZXNbMF0ubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICBjb25zdCBjaHVua1NpemUgPSBNYXRoLmZsb29yKG1hdFNpemUgLyB0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3Qgd29ya2VycyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudClcbiAgICAgICAgICAgIC5maWxsKG51bGwpLm1hcCgoKSA9PiBuZXcgV29ya2VyKG5ldyBVUkwoJy4va25uLXRocmVzaG9sZC13b3JrZXInLCBpbXBvcnQubWV0YS51cmwpKSk7XG4gICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHRoaXMuX3dvcmtlckNvdW50OyBpZHgrKykge1xuICAgICAgICAgICAgcHJvbWlzZXNbaWR4XSA9IG5ldyBQcm9taXNlKChyZXNvbHZlV29ya2VyLCByZWplY3RXb3JrZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydElkeCA9IGlkeCAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRJZHggPSBpZHggPT09IHRoaXMuX3dvcmtlckNvdW50IC0gMSA/IG1hdFNpemUgOiAoaWR4ICsgMSkgKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgaWYgKGVuZElkeCA8PSBzdGFydElkeClcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZVdvcmtlcih7IGtubkRpc3RhbmNlczogbmV3IEFycmF5KDApLCBrbm5JbmRleGVzOiBuZXcgQXJyYXkoMCkgfSk7XG4gICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnBvc3RNZXNzYWdlKHsgdmFsdWVzLCBzdGFydElkeCwgZW5kSWR4LCBmbk5hbWVzLCBvcHRzLCB0aHJlc2hvbGQsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kIH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5vbm1lc3NhZ2UgPSAoeyBkYXRhOiB7IGVycm9yLCBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0V29ya2VyKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICAgICAgY29uc3Qga25uU2l6ZXMgPSBuZXcgSW50MzJBcnJheSh2YWx1ZXNbMF0ubGVuZ3RoKTtcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNbMF0ubGVuZ3RoOyArK2kpXG4gICAgICAgICAgICAgICAga25uU2l6ZXNbaV0gKz0gcmVzLmtubkluZGV4ZXNbaV0/Lmxlbmd0aCA/PyAwO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGtublJlcyA9IHtcbiAgICAgICAgICAgIGtubkRpc3RhbmNlczogbmV3IEFycmF5KHZhbHVlc1swXS5sZW5ndGgpLmZpbGwobnVsbCkubWFwKChfLCBpKSA9PiBuZXcgQXJyYXkoa25uU2l6ZXNbaV0pKSxcbiAgICAgICAgICAgIGtubkluZGV4ZXM6IG5ldyBBcnJheSh2YWx1ZXNbMF0ubGVuZ3RoKS5maWxsKG51bGwpLm1hcCgoXywgaSkgPT4gbmV3IEFycmF5KGtublNpemVzW2ldKSlcbiAgICAgICAgfTtcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNbMF0ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHJlcy5rbm5EaXN0YW5jZXNbaV0/Lmxlbmd0aCA/PyAwOyArK2opIHtcbiAgICAgICAgICAgICAgICAgICAga25uUmVzLmtubkRpc3RhbmNlc1tpXVtrbm5TaXplc1tpXSAtIDFdID0gcmVzLmtubkRpc3RhbmNlc1tpXVtqXTtcbiAgICAgICAgICAgICAgICAgICAga25uUmVzLmtubkluZGV4ZXNbaV1ba25uU2l6ZXNbaV0gLSAxXSA9IHJlcy5rbm5JbmRleGVzW2ldW2pdO1xuICAgICAgICAgICAgICAgICAgICBrbm5TaXplc1tpXSAtPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ga25uUmVzO1xuICAgIH1cbiAgICBhc3luYyBtdWx0aUNvbHVtbktOTih2YWx1ZXMsIGZuTmFtZXMsIG5OZWlnaGJvdXJzID0gMTUsIG9wdHMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kID0gRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMuRVVDTElERUFOKSB7XG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoICE9PSBmbk5hbWVzLmxlbmd0aCB8fCB2YWx1ZXMubGVuZ3RoICE9PSBvcHRzLmxlbmd0aCB8fCB2YWx1ZXMubGVuZ3RoICE9PSB3ZWlnaHRzLmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndmFsdWVzLCBkaXN0YW5jZSBmdW5jdGlvbnMsIG9wdGlvbnMgYW5kIHdlaWdodHMgYXJyYXlzIHNob3VsZCBoYXZlIHRoZSBzYW1lIGxlbmd0aCcpO1xuICAgICAgICBpZiAodmFsdWVzLnNvbWUoKHYpID0+IHYubGVuZ3RoICE9PSB2YWx1ZXNbMF0ubGVuZ3RoKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYWxsIHZhbHVlcyBhcnJheXMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgbGVuZ3RoJyk7XG4gICAgICAgIGNvbnN0IG1hdFNpemUgPSB2YWx1ZXNbMF0ubGVuZ3RoICogKHZhbHVlc1swXS5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGguZmxvb3IobWF0U2l6ZSAvIHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICBjb25zdCB3b3JrZXJzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KVxuICAgICAgICAgICAgLmZpbGwobnVsbCkubWFwKCgpID0+IG5ldyBXb3JrZXIobmV3IFVSTCgnLi9rbm4td29ya2VyJywgaW1wb3J0Lm1ldGEudXJsKSkpO1xuICAgICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCB0aGlzLl93b3JrZXJDb3VudDsgaWR4KyspIHtcbiAgICAgICAgICAgIHByb21pc2VzW2lkeF0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZVdvcmtlciwgcmVqZWN0V29ya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRJZHggPSBpZHggKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kSWR4ID0gaWR4ID09PSB0aGlzLl93b3JrZXJDb3VudCAtIDEgPyBtYXRTaXplIDogKGlkeCArIDEpICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgIGlmIChlbmRJZHggPD0gc3RhcnRJZHgpXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBrbm5EaXN0YW5jZXM6IG5ldyBBcnJheSgwKSwga25uSW5kZXhlczogbmV3IEFycmF5KDApIH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5wb3N0TWVzc2FnZSh7IHZhbHVlcywgc3RhcnRJZHgsIGVuZElkeCwgZm5OYW1lcywgb3B0cywgbk5laWdoYm91cnMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kIH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5vbm1lc3NhZ2UgPSAoeyBkYXRhOiB7IGVycm9yLCBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0V29ya2VyKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICAgICAgY29uc3Qga25uUmVzID0ge1xuICAgICAgICAgICAga25uRGlzdGFuY2VzOiBuZXcgQXJyYXkodmFsdWVzWzBdLmxlbmd0aCkuZmlsbChudWxsKS5tYXAoKCkgPT4gbmV3IEFycmF5KG5OZWlnaGJvdXJzKS5maWxsKDk5OTk5KSksXG4gICAgICAgICAgICBrbm5JbmRleGVzOiBuZXcgQXJyYXkodmFsdWVzWzBdLmxlbmd0aCkuZmlsbChudWxsKS5tYXAoKCkgPT4gbmV3IEFycmF5KG5OZWlnaGJvdXJzKS5maWxsKC0xKSlcbiAgICAgICAgfTtcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNbMF0ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHJlcy5rbm5EaXN0YW5jZXNbaV0/Lmxlbmd0aCA/PyAwOyArK2opXG4gICAgICAgICAgICAgICAgICAgIGluc2VydFNtYWxsZXIoa25uUmVzLmtubkRpc3RhbmNlc1tpXSwga25uUmVzLmtubkluZGV4ZXNbaV0sIHJlcy5rbm5EaXN0YW5jZXNbaV1bal0sIHJlcy5rbm5JbmRleGVzW2ldW2pdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ga25uUmVzO1xuICAgIH1cbiAgICBhc3luYyBnZXRTYW1wbGVEaXN0YW5jZXModmFsdWVzLCBmbk5hbWVzLCBvcHRzID0gW10sIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kID0gRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMuRVVDTElERUFOKSB7XG4gICAgICAgIGNvbnN0IHRocmVzaG9sZFdvcmtlcnMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpLmZpbGwobnVsbClcbiAgICAgICAgICAgIC5tYXAoKCkgPT4gbmV3IFdvcmtlcihuZXcgVVJMKCcuL3NwYXJzZS1tYXRyaXgtdGhyZXNob2xkLXdvcmtlcicsIGltcG9ydC5tZXRhLnVybCkpKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG1hdFNpemUgPSB2YWx1ZXNbMF0ubGVuZ3RoICogKHZhbHVlc1swXS5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgICAgICBjb25zdCBjaHVua1NpemUgPSBNYXRoLmZsb29yKG1hdFNpemUgLyB0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgICAgICBjb25zdCBtYXhTYW1wbGVTaXplID0gMTAwMDAwMDtcbiAgICAgICAgICAgIGNvbnN0IHNhbXBsZVNpc2UgPSBNYXRoLm1heChNYXRoLm1pbihtYXRTaXplIC8gMTAwMCwgbWF4U2FtcGxlU2l6ZSksIE1hdGgubWluKG1hdFNpemUsIG1heFNhbXBsZVNpemUpKTtcbiAgICAgICAgICAgIGNvbnN0IHRlc3RTZXRTaXplUGVyV29ya2VyID0gTWF0aC5mbG9vcihzYW1wbGVTaXNlIC8gdGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICAgICAgY29uc3QgdFByb21pc2VzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHRoaXMuX3dvcmtlckNvdW50OyBpZHgrKykge1xuICAgICAgICAgICAgICAgIHRQcm9taXNlc1tpZHhdID0gbmV3IFByb21pc2UoKHJlc29sdmVXb3JrZXIsIHJlamVjdFdvcmtlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydElkeCA9IGlkeCAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kSWR4ID0gaWR4ID09PSB0aGlzLl93b3JrZXJDb3VudCAtIDEgPyBtYXRTaXplIDogKGlkeCArIDEpICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgICAgICB0aHJlc2hvbGRXb3JrZXJzW2lkeF0ucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiB2YWx1ZXMsIHN0YXJ0SWR4LCBlbmRJZHgsIHNhbXBsZUxlbmd0aDogdGVzdFNldFNpemVQZXJXb3JrZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBmbk5hbWVzLCBvcHRzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vyc1tpZHhdLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGRpc3RhbmNlIH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdFdvcmtlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZVdvcmtlcih7IGRpc3RhbmNlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHRQcm9taXNlcyk7XG4gICAgICAgICAgICBjb25zdCBmdWxsU2l6ZSA9IHJlc3VsdHMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLmRpc3RhbmNlLmxlbmd0aCwgMCk7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IG5ldyBGbG9hdDMyQXJyYXkoZnVsbFNpemUpO1xuICAgICAgICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlcyBvZiByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgZGlzdGFuY2Uuc2V0KHJlcy5kaXN0YW5jZSwgb2Zmc2V0KTtcbiAgICAgICAgICAgICAgICBvZmZzZXQgKz0gcmVzLmRpc3RhbmNlLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpc3RhbmNlLnNvcnQoKTtcbiAgICAgICAgICAgIHJldHVybiBkaXN0YW5jZTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vycz8uZm9yRWFjaCgodykgPT4gdz8udGVybWluYXRlKCkpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmxvYXQzMkFycmF5KDEpLmZpbGwoMC41KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBnZXRNaW5pbWFsVGhyZXNob2xkKHZhbHVlcywgZm5OYW1lcywgb3B0cyA9IFtdLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCA9IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzLkVVQ0xJREVBTikge1xuICAgICAgICAvL1dlIG5lZWQgdG8gY2FsY3VsYXRlIHRoZSBtaW5pbWFsIHRocmVzaG9sZCBmaXJzdCxcbiAgICAgICAgLy9pbiBvcmRlciB0byBnZXQgbWF0cml4IHN1Y2ggdGhhdCBpdCBkb2VzIG5vdCBleGNlZWQgdGhlIG1heGltdW0gc2l6ZSBvZiAxR0JcbiAgICAgICAgLy93ZSBoYXZlIDMgcmV0dXJuIGFycmF5cywgZWFjaCA0IGJpdGVzIHBlciBlbGVtZW50LCBzbyBpZiB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSBtYXRyaXggaXMgMUdCLFxuICAgICAgICBjb25zdCBtYXhTcGFyc2VNYXRyaXhTaXplID0gNzAwMDAwMDA7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBtYXRTaXplID0gdmFsdWVzLmxlbmd0aCAqICh2YWx1ZXMubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBhd2FpdCB0aGlzLmdldFNhbXBsZURpc3RhbmNlcyh2YWx1ZXMsIGZuTmFtZXMsIG9wdHMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kKTtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uSW5kZXggPSBNYXRoLmZsb29yKG1heFNwYXJzZU1hdHJpeFNpemUgLyBtYXRTaXplICogZGlzdGFuY2UubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHRocmVzaG9sZCA9IDEgLSBkaXN0YW5jZVtmcmFjdGlvbkluZGV4XTtcbiAgICAgICAgICAgIC8vIHRocmVzaG9sZCA9IE1hdGgubWF4KHRocmVzaG9sZCwgMC4zKTtcbiAgICAgICAgICAgIHJldHVybiB0aHJlc2hvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICByZXR1cm4gMC41O1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0YXRpYyBjYWxjU3luYyh2YWx1ZXMsIGZuTmFtZSwgZGlzdGFuY2VGbiwgdGhyZXNob2xkKSB7XG4gICAgICAgIGNvbnN0IGkgPSBbXTtcbiAgICAgICAgY29uc3QgaiA9IFtdO1xuICAgICAgICBjb25zdCBkaXN0YW5jZXMgPSBbXTtcbiAgICAgICAgbGV0IGNudCA9IDA7XG4gICAgICAgIGxldCBtaSA9IDA7XG4gICAgICAgIGxldCBtaiA9IDA7XG4gICAgICAgIGNvbnN0IGZ1bGxTaXplID0gdmFsdWVzLmxlbmd0aCAqICh2YWx1ZXMubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICB3aGlsZSAoY250IDwgZnVsbFNpemUpIHtcbiAgICAgICAgICAgIC8vY29uc3QgdmFsdWUgPSBzZXExTGlzdFttaV0gJiYgc2VxMUxpc3RbbWpdID8gaGFtbWluZyhzZXExTGlzdFttaV0sIHNlcTFMaXN0W21qXSkgOiAwO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAhaXNOaWwodmFsdWVzW21pXSkgJiYgIWlzTmlsKHZhbHVlc1ttal0pID9cbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuKHZhbHVlc1ttaV0sIHZhbHVlc1ttal0pIDogMTtcbiAgICAgICAgICAgIGNvbnN0IHNpbWlsYXJpdHkgPSAxIC0gdmFsdWU7XG4gICAgICAgICAgICBpZiAoc2ltaWxhcml0eSA+PSB0aHJlc2hvbGQpIHtcbiAgICAgICAgICAgICAgICBpLnB1c2gobWkpO1xuICAgICAgICAgICAgICAgIGoucHVzaChtaik7XG4gICAgICAgICAgICAgICAgZGlzdGFuY2VzLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY250Kys7XG4gICAgICAgICAgICBtaisrO1xuICAgICAgICAgICAgaWYgKG1qID09PSB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbWkrKztcbiAgICAgICAgICAgICAgICBtaiA9IG1pICsgMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpQXJyYXkgPSBuZXcgSW50MzJBcnJheShpKTtcbiAgICAgICAgY29uc3QgakFycmF5ID0gbmV3IEludDMyQXJyYXkoaik7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KGRpc3RhbmNlcyk7XG4gICAgICAgIHJldHVybiB7IGk6IGlBcnJheSwgajogakFycmF5LCBkaXN0YW5jZTogZGlzdGFuY2VBcnJheSB9O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWMzQmhjbk5sTFcxaGRISnBlQzF6WlhKMmFXTmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaWMzQmhjbk5sTFcxaGRISnBlQzF6WlhKMmFXTmxMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVOQkxFOUJRVThzUlVGQk5FSXNNRUpCUVRCQ0xFVkJRVU1zVFVGQlRTeFRRVUZUTEVOQlFVTTdRVUZET1VVc1QwRkJUeXhGUVVGRExHRkJRV0VzUlVGQlJTeExRVUZMTEVWQlFVTXNUVUZCVFN4VFFVRlRMRU5CUVVNN1FVRmhOME1zVFVGQlRTeFBRVUZQTEcxQ1FVRnRRanRKUVVVMVFqdFJRVU5GTEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eFRRVUZUTEVOQlFVTXNiVUpCUVcxQ0xFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTNKRkxFTkJRVU03U1VGRlRTeExRVUZMTEVOQlFVTXNaVUZCWlN4RFFVRkRMRTFCUVc5Q0xFVkJRVVVzVDBGQmRVSXNSVUZEZUVVc1UwRkJhVUlzUlVGQlJTeFBRVUUyUWl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxGVkJRVzlDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUXpkRkxHOUNRVUVyUXl3d1FrRkJNRUlzUTBGQlF5eFRRVUZUTzFGQlJXNUdMRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU01UkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRk1VUXNUVUZCVFN4WlFVRlpMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSMEZCUnl4TFFVRk5MRU5CUVVNc1EwRkJRenRaUVVNNVF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWxCUVVrc1JVRkJSU3hQUVVGUExFVkJRVVVzYVVKQlFXbENMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzaEdMRWxCUVVrc1UwRkJVeXhIUVVGSExGbEJRVmtzUlVGQlJUdFpRVU0xUWl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExHMUNRVUZ0UWl4WlFVRlpMRVZCUVVVc1EwRkJReXhEUVVGRE8xbEJReTlETEZOQlFWTXNSMEZCUnl4WlFVRlpMRU5CUVVNN1UwRkRNVUk3VVVGRFJDeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUTNwRUxFMUJRVTBzVVVGQlVTeEhRVU5hTEVsQlFVa3NTMEZCU3l4RFFVRTRRaXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdVVUZGTlVRc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJRenRoUVVONlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExIZENRVUYzUWl4RlFVRkZMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNoR0xFdEJRVXNzU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXl4RlFVRkZMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZPMWxCUTJoRUxGRkJRVkVzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4SlFVRkpMRTlCUVU4c1EwRkJReXhEUVVGRExHRkJRV0VzUlVGQlJTeFpRVUZaTEVWQlFVVXNSVUZCUlR0blFrRkRNVVFzVFVGQlRTeFJRVUZSTEVkQlFVY3NSMEZCUnl4SFFVRkhMRk5CUVZNc1EwRkJRenRuUWtGRGFrTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1IwRkJSeXhMUVVGTExFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF6dG5Ra0ZETDBVc1NVRkJTU3hOUVVGTkxFbEJRVWtzVVVGQlVUdHZRa0ZEY0VJc1lVRkJZU3hEUVVGRExFVkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEpRVUZKTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hSUVVGUkxFVkJRVVVzU1VGQlNTeFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1IwRkJSeXhGUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZEYkVjc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZkQlFWY3NRMEZCUXl4RlFVRkRMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzVFVGQlRTeEZRVUZGTEZOQlFWTXNSVUZCUlN4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRkxFOUJRVThzUlVGQlJTeHBRa0ZCYVVJc1JVRkJReXhEUVVGRExFTkJRVU03WjBKQlF6TkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVkQlFVY3NRMEZCUXl4RlFVRkRMRWxCUVVrc1JVRkJSU3hGUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRkZCUVZFc1JVRkJReXhGUVVGRExFVkJRVkVzUlVGQlJUdHZRa0ZEYWtVc1NVRkJTU3hMUVVGTExFVkJRVVU3ZDBKQlExUXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzNkQ1FVTjZRaXhaUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdjVUpCUTNKQ08zbENRVUZOTzNkQ1FVTk1MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0M1FrRkRla0lzWVVGQllTeERRVUZETEVWQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hSUVVGUkxFVkJRVVVzUjBGQlJ5eEZRVUZETEVOQlFVTXNRMEZCUXp0eFFrRkRkRU03WjBKQlEwZ3NRMEZCUXl4RFFVRkRPMWxCUTBvc1EwRkJReXhEUVVGRExFTkJRVU03VTBGRFNqdFJRVVZFTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTFCUVUwc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVTTFReXhOUVVGTkxGRkJRVkVzUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNKRkxFMUJRVTBzUTBGQlF5eEhRVUZITEVsQlFVa3NWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8xRkJRMjVETEUxQlFVMHNRMEZCUXl4SFFVRkhMRWxCUVVrc1ZVRkJWU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlEyNURMRTFCUVUwc1VVRkJVU3hIUVVGSExFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUXpWRExFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTm1MSE5DUVVGelFqdFJRVU4wUWl4TFFVRkxMRTFCUVUwc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdFpRVU42UWl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRja0lzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFsQlEzSkNMRkZCUVZFc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEZGQlFWRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVOdVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU03VTBGRGVFSTdVVUZEUkN4UFFVRlBMRVZCUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeFJRVUZSTEVWQlFVTXNRMEZCUXp0SlFVTXhRaXhEUVVGRE8wbEJSVTBzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCU1N4TlFVRm5RaXhGUVVGRkxFMUJRVzlDTEVWQlFVVXNVMEZCYVVJc1JVRkJSU3hQUVVFeVFpeEZRVUZGTzFGQlF6TkhMSEZDUVVGeFFqdFJRVU55UWl4UFFVRlBMRTFCUVUwc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzVTBGQlV5eEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEyaEdMRU5CUVVNN1NVRkZUU3hMUVVGTExFTkJRVU1zVFVGQlRTeERRVU5xUWl4TlFVRnJRaXhGUVVGRkxFMUJRVzlDTEVWQlFVVXNZMEZCYzBJc1JVRkJSU3hGUVVGRkxFOUJRVEpDTEVWQlFVVTdVVUZGYWtjc1QwRkJUeXhOUVVGTkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEZkQlFWY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTnFSaXhEUVVGRE8wbEJSVTBzUzBGQlN5eERRVUZETEdWQlFXVXNRMEZETVVJc1RVRkJhMElzUlVGQlJTeE5RVUZ2UWl4RlFVRkZMRmxCUVc5Q0xFZEJRVWNzUlVGQlJTeFBRVUV5UWl4RlFVRkZPMUZCUldoSExFOUJRVThzVFVGQlRTeEpRVUZKTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxGTkJRVk1zUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU40Uml4RFFVRkRPMGxCUlUwc1MwRkJTeXhEUVVGRExIVkNRVUYxUWl4RFFVRkRMRTFCUVhsQ0xFVkJRVVVzVDBGQmRVSXNSVUZCUlN4WlFVRnZRaXhIUVVGSExFVkJRemxITEVsQlFUQkNMRVZCUVVVc1QwRkJhVUlzUlVGRE4wTXNiMEpCUVN0RExEQkNRVUV3UWl4RFFVRkRMRk5CUVZNN1VVRkZia1lzU1VGQlNTeE5RVUZOTEVOQlFVTXNUVUZCVFN4TFFVRkxMRTlCUVU4c1EwRkJReXhOUVVGTkxFbEJRVWtzVFVGQlRTeERRVUZETEUxQlFVMHNTMEZCU3l4SlFVRkpMRU5CUVVNc1RVRkJUU3hKUVVGSkxFMUJRVTBzUTBGQlF5eE5RVUZOTEV0QlFVc3NUMEZCVHl4RFFVRkRMRTFCUVUwN1dVRkRka2NzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4dlJrRkJiMFlzUTBGQlF5eERRVUZETzFGQlJYaEhMRWxCUVVrc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUzBGQlN5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8xbEJRMjVFTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc0swTkJRU3RETEVOQlFVTXNRMEZCUXp0UlFVVnVSU3hOUVVGTkxFOUJRVThzUjBGQlJ5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZET1VRc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlF6RkVMRTFCUVUwc1VVRkJVU3hIUVVOYUxFbEJRVWtzUzBGQlN5eERRVUZ4UWl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRGJrUXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXp0aFFVTjZReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzVFVGQlRTeERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMSGRDUVVGM1FpeEZRVUZGTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzaEdMRXRCUVVzc1NVRkJTU3hIUVVGSExFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTzFsQlEyaEVMRkZCUVZFc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMR0ZCUVdFc1JVRkJSU3haUVVGWkxFVkJRVVVzUlVGQlJUdG5Ra0ZETVVRc1RVRkJUU3hSUVVGUkxFZEJRVWNzUjBGQlJ5eEhRVUZITEZOQlFWTXNRMEZCUXp0blFrRkRha01zVFVGQlRTeE5RVUZOTEVkQlFVY3NSMEZCUnl4TFFVRkxMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJRenRuUWtGREwwVXNTVUZCU1N4TlFVRk5MRWxCUVVrc1VVRkJVVHR2UWtGRGNFSXNZVUZCWVN4RFFVRkRMRVZCUVVNc1dVRkJXU3hGUVVGRkxFbEJRVWtzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRlZCUVZVc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM2hGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlF5eE5RVUZOTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzU1VGQlNTeEZRVUZGTEZOQlFWTXNSVUZCUlN4UFFVRlBMRVZCUVVVc2FVSkJRV2xDTEVWQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVNelJ5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhIUVVGSExFTkJRVU1zUlVGQlF5eEpRVUZKTEVWQlFVVXNSVUZCUXl4TFFVRkxMRVZCUVVVc1dVRkJXU3hGUVVGRkxGVkJRVlVzUlVGQlF5eEZRVUZETEVWQlFWRXNSVUZCUlR0dlFrRkRNMFVzU1VGQlNTeExRVUZMTEVWQlFVVTdkMEpCUTFRc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPM2RDUVVONlFpeFpRVUZaTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN2NVSkJRM0pDTzNsQ1FVRk5PM2RDUVVOTUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenQzUWtGRGVrSXNZVUZCWVN4RFFVRkRMRVZCUVVNc1dVRkJXU3hGUVVGRkxGVkJRVlVzUlVGQlF5eERRVUZETEVOQlFVTTdjVUpCUXpORE8yZENRVU5JTEVOQlFVTXNRMEZCUXp0WlFVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRMG83VVVGRlJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdVVUZETlVNc1RVRkJUU3hSUVVGUkxFZEJRVWNzU1VGQlNTeFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlEyeEVMRXRCUVVzc1RVRkJUU3hIUVVGSExFbEJRVWtzVDBGQlR5eEZRVUZGTzFsQlEzcENMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXp0blFrRkRka01zVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRWRCUVVjc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJRenRUUVVOcVJEdFJRVU5FTEUxQlFVMHNUVUZCVFN4SFFVRmpPMWxCUTNoQ0xGbEJRVmtzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZUTEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMnhITEZWQlFWVXNSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVsQlFVa3NTMEZCU3l4RFFVRlRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFOQlFVTXNRMEZCUXp0UlFVTndSeXhMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEU5QlFVOHNSVUZCUlR0WlFVTjZRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHRuUWtGRGVrTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzVFVGQlRTeEpRVUZKTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHR2UWtGRGVrUXNUVUZCVFN4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dHZRa0ZEYWtVc1RVRkJUU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkROMFFzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRwUWtGRGJFSTdZVUZEUmp0VFFVTkdPMUZCUTBRc1QwRkJUeXhOUVVGTkxFTkJRVU03U1VGRGFFSXNRMEZCUXp0SlFVVk5MRXRCUVVzc1EwRkJReXhqUVVGakxFTkJRVU1zVFVGQmVVSXNSVUZCUlN4UFFVRjFRaXhGUVVGRkxHTkJRWE5DTEVWQlFVVXNSVUZEZEVjc1NVRkJNRUlzUlVGQlJTeFBRVUZwUWl4RlFVTTNReXh2UWtGQkswTXNNRUpCUVRCQ0xFTkJRVU1zVTBGQlV6dFJRVVZ1Uml4SlFVRkpMRTFCUVUwc1EwRkJReXhOUVVGTkxFdEJRVXNzVDBGQlR5eERRVUZETEUxQlFVMHNTVUZCU1N4TlFVRk5MRU5CUVVNc1RVRkJUU3hMUVVGTExFbEJRVWtzUTBGQlF5eE5RVUZOTEVsQlFVa3NUVUZCVFN4RFFVRkRMRTFCUVUwc1MwRkJTeXhQUVVGUExFTkJRVU1zVFVGQlRUdFpRVU4yUnl4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExHOUdRVUZ2Uml4RFFVRkRMRU5CUVVNN1VVRkZlRWNzU1VGQlNTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4TFFVRkxMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTTdXVUZEYmtRc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5d3JRMEZCSzBNc1EwRkJReXhEUVVGRE8xRkJSVzVGTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVNNVJDeE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1VVRkRNVVFzVFVGQlRTeFJRVUZSTEVkQlExb3NTVUZCU1N4TFFVRkxMRU5CUVhGQ0xFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVTnVSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRE8yRkJRM3BETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNTVUZCU1N4TlFVRk5MRU5CUVVNc1NVRkJTU3hIUVVGSExFTkJRVU1zWTBGQll5eEZRVUZGTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6bEZMRXRCUVVzc1NVRkJTU3hIUVVGSExFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTzFsQlEyaEVMRkZCUVZFc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMR0ZCUVdFc1JVRkJSU3haUVVGWkxFVkJRVVVzUlVGQlJUdG5Ra0ZETVVRc1RVRkJUU3hSUVVGUkxFZEJRVWNzUjBGQlJ5eEhRVUZITEZOQlFWTXNRMEZCUXp0blFrRkRha01zVFVGQlRTeE5RVUZOTEVkQlFVY3NSMEZCUnl4TFFVRkxMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJRenRuUWtGREwwVXNTVUZCU1N4TlFVRk5MRWxCUVVrc1VVRkJVVHR2UWtGRGNFSXNZVUZCWVN4RFFVRkRMRVZCUVVNc1dVRkJXU3hGUVVGRkxFbEJRVWtzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRlZCUVZVc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM2hGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlF5eE5RVUZOTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzU1VGQlNTeEZRVUZGTEZkQlFWY3NSVUZCUlN4UFFVRlBMRVZCUVVVc2FVSkJRV2xDTEVWQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVNM1J5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhIUVVGSExFTkJRVU1zUlVGQlF5eEpRVUZKTEVWQlFVVXNSVUZCUXl4TFFVRkxMRVZCUVVVc1dVRkJXU3hGUVVGRkxGVkJRVlVzUlVGQlF5eEZRVUZETEVWQlFWRXNSVUZCUlR0dlFrRkRNMFVzU1VGQlNTeExRVUZMTEVWQlFVVTdkMEpCUTFRc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPM2RDUVVONlFpeFpRVUZaTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN2NVSkJRM0pDTzNsQ1FVRk5PM2RDUVVOTUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenQzUWtGRGVrSXNZVUZCWVN4RFFVRkRMRVZCUVVNc1dVRkJXU3hGUVVGRkxGVkJRVlVzUlVGQlF5eERRVUZETEVOQlFVTTdjVUpCUXpORE8yZENRVU5JTEVOQlFVTXNRMEZCUXp0WlFVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRMG83VVVGRlJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdVVUZETlVNc1RVRkJUU3hOUVVGTkxFZEJRV003V1VGRGVFSXNXVUZCV1N4RlFVRkZMRWxCUVVrc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZUTEZkQlFWY3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFpRVU14Unl4VlFVRlZMRVZCUVVVc1NVRkJTU3hMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNTeExRVUZMTEVOQlFWTXNWMEZCVnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVMEZCUXl4RFFVRkRPMUZCUTNwSExFdEJRVXNzVFVGQlRTeEhRVUZITEVsQlFVa3NUMEZCVHl4RlFVRkZPMWxCUTNwQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUVVVc1EwRkJReXhGUVVGRk8yZENRVU42UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeE5RVUZOTEVsQlFVa3NRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJRenR2UWtGRGRrUXNZVUZCWVN4RFFVRkRMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTTNSenRUUVVOR08xRkJRMFFzVDBGQlR5eE5RVUZOTEVOQlFVTTdTVUZEYUVJc1EwRkJRenRKUVVWTkxFdEJRVXNzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhOUVVGdlFpeEZRVU5zUkN4UFFVRjFRaXhGUVVGRkxFOUJRVFpDTEVWQlFVVXNSVUZCUlN4UFFVRnBRaXhGUVVNelJTeHZRa0ZCSzBNc01FSkJRVEJDTEVOQlFVTXNVMEZCVXp0UlFVTnVSaXhOUVVGTkxHZENRVUZuUWl4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRE8yRkJRemRFTEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhKUVVGSkxFMUJRVTBzUTBGQlF5eEpRVUZKTEVkQlFVY3NRMEZCUXl4clEwRkJhME1zUlVGQlJTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVYyUml4SlFVRkpPMWxCUTBZc1RVRkJUU3hQUVVGUExFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlF6bEVMRTFCUVUwc1UwRkJVeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dFpRVU14UkN4TlFVRk5MR0ZCUVdFc1IwRkJSeXhQUVVGVExFTkJRVU03V1VGRGFFTXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1IwRkJSeXhKUVVGSkxFVkJRVVVzWVVGQllTeERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFVkJRVVVzWVVGQllTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTjJSeXhOUVVGTkxHOUNRVUZ2UWl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRaUVVONFJTeE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJiME1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMWxCUld4R0xFdEJRVXNzU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXl4RlFVRkZMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZPMmRDUVVOb1JDeFRRVUZUTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlF5eGhRVUZoTEVWQlFVVXNXVUZCV1N4RlFVRkZMRVZCUVVVN2IwSkJRek5FTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWRCUVVjc1IwRkJSeXhUUVVGVExFTkJRVU03YjBKQlEycERMRTFCUVUwc1RVRkJUU3hIUVVGSExFZEJRVWNzUzBGQlN5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTTdiMEpCUXk5RkxHZENRVUZuUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExGZEJRVmNzUTBGQlF6dDNRa0ZEYUVNc1RVRkJUU3hGUVVGRkxFMUJRVTBzUlVGQlJTeFJRVUZSTEVWQlFVVXNUVUZCVFN4RlFVRkZMRmxCUVZrc1JVRkJSU3h2UWtGQmIwSTdkMEpCUTNCRkxFOUJRVThzUlVGQlJTeEpRVUZKTEVWQlFVVXNUMEZCVHl4RlFVRkZMR2xDUVVGcFFqdHhRa0ZETVVNc1EwRkJReXhEUVVGRE8yOUNRVU5JTEdkQ1FVRm5RaXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSMEZCUnl4RFFVRkRMRVZCUVVNc1NVRkJTU3hGUVVGRkxFVkJRVU1zUzBGQlN5eEZRVUZGTEZGQlFWRXNSVUZCUXl4RlFVRkRMRVZCUVZFc1JVRkJSVHQzUWtGRGNFVXNaMEpCUVdkQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN2QwSkJRMnhETEVsQlFVa3NTMEZCU3pzMFFrRkJSU3haUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdPelJDUVVNM1FpeGhRVUZoTEVOQlFVTXNSVUZCUXl4UlFVRlJMRVZCUVVNc1EwRkJReXhEUVVGRE8yOUNRVU01UWl4RFFVRkRMRU5CUVVNN1owSkJRMG9zUTBGQlF5eERRVUZETEVOQlFVTTdZVUZEU2p0WlFVVkVMRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVTBzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVNM1F5eE5RVUZOTEZGQlFWRXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eFJRVUZSTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRelZGTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1dVRkJXU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFsQlF6VkRMRWxCUVVrc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU5tTEV0QlFVc3NUVUZCVFN4SFFVRkhMRWxCUVVrc1QwRkJUeXhGUVVGRk8yZENRVU42UWl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1owSkJRMjVETEUxQlFVMHNTVUZCU1N4SFFVRkhMRU5CUVVNc1VVRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF6dGhRVU12UWp0WlFVTkVMRkZCUVZFc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dFpRVVZvUWl4UFFVRlBMRkZCUVZFc1EwRkJRenRUUVVOcVFqdFJRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZPMWxCUTFZc1owSkJRV2RDTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVXNVMEZCVXl4RlFVRkZMRU5CUVVNc1EwRkJRenRaUVVOcVJDeFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMnBDTEU5QlFVOHNTVUZCU1N4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMU5CUTNSRE8wbEJRMGdzUTBGQlF6dEpRVVZQTEV0QlFVc3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eE5RVUZ2UWl4RlFVTndSQ3hQUVVGMVFpeEZRVUZGTEU5QlFUWkNMRVZCUVVVc1JVRkJSU3hQUVVGcFFpeEZRVU16UlN4dlFrRkJLME1zTUVKQlFUQkNMRU5CUVVNc1UwRkJVenRSUVVOdVJpeHRSRUZCYlVRN1VVRkRia1FzTmtWQlFUWkZPMUZCUXpkRkxHbEhRVUZwUnp0UlFVTnFSeXhOUVVGTkxHMUNRVUZ0UWl4SFFVRkhMRkZCUVZVc1EwRkJRenRSUVVOMlF5eEpRVUZKTzFsQlEwWXNUVUZCVFN4UFFVRlBMRWRCUVVjc1RVRkJUU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzaEVMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTlCUVU4c1JVRkJSU3hwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMWxCUTJ4SExFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc2JVSkJRVzFDTEVkQlFVY3NUMEZCVHl4SFFVRkhMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU5zUml4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGRExFZEJRVWNzVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRPMWxCUXpsRExIZERRVUYzUXp0WlFVTjRReXhQUVVGUExGTkJRVk1zUTBGQlF6dFRRVU5zUWp0UlFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRk8xbEJRMVlzVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOcVFpeFBRVUZQTEVkQlFVY3NRMEZCUXp0VFFVTmFPMGxCUTBnc1EwRkJRenRKUVVWTkxFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlEzQkNMRTFCUVN0Q0xFVkJRVVVzVFVGQmIwSXNSVUZCUlN4VlFVRnZRaXhGUVVGRkxGTkJRV2xDTzFGQlJUbEdMRTFCUVUwc1EwRkJReXhIUVVGaExFVkJRVVVzUTBGQlF6dFJRVU4yUWl4TlFVRk5MRU5CUVVNc1IwRkJZU3hGUVVGRkxFTkJRVU03VVVGRGRrSXNUVUZCVFN4VFFVRlRMRWRCUVdFc1JVRkJSU3hEUVVGRE8xRkJReTlDTEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOYUxFbEJRVWtzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTllMRWxCUVVrc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5ZTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU42UkN4UFFVRlBMRWRCUVVjc1IwRkJSeXhSUVVGUkxFVkJRVVU3V1VGRGNrSXNkVVpCUVhWR08xbEJRM1pHTEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM1JFTEZWQlFWVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU42UXl4TlFVRk5MRlZCUVZVc1IwRkJSeXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETzFsQlF6ZENMRWxCUVVrc1ZVRkJWU3hKUVVGSkxGTkJRVk1zUlVGQlJUdG5Ra0ZETTBJc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0blFrRkRXQ3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMmRDUVVOWUxGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1lVRkRka0k3V1VGRFJDeEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTk9MRVZCUVVVc1JVRkJSU3hEUVVGRE8xbEJRMHdzU1VGQlNTeEZRVUZGTEV0QlFVc3NUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSVHRuUWtGRGVFSXNSVUZCUlN4RlFVRkZMRU5CUVVNN1owSkJRMHdzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1lVRkRZanRUUVVOR08xRkJSVVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGFrTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYWtNc1RVRkJUU3hoUVVGaExFZEJRVWNzU1VGQlNTeFpRVUZaTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1VVRkZiRVFzVDBGQlR5eEZRVUZETEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFJRVUZSTEVWQlFVVXNZVUZCWVN4RlFVRkRMRU5CUVVNN1NVRkRla1FzUTBGQlF6dERRVU5LSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0TGJtOTNiazFsZEhKcFkzTjlJR1p5YjIwZ0p5NHVMM1I1Y0dWa0xXMWxkSEpwWTNNbk8xeHVhVzF3YjNKMElIdEVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a0xDQkVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a2MzMGdabkp2YlNBbkxpOTBlWEJsY3ljN1hHNXBiWEJ2Y25RZ2UybHVjMlZ5ZEZOdFlXeHNaWElzSUdselRtbHNmU0JtY205dElDY3VMM1YwYVd4ekp6dGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1UzQmhjbk5sVFdGMGNtbDRVbVZ6ZFd4MElEMGdlMXh1SUNCcE9pQkpiblF6TWtGeWNtRjVJSHdnVldsdWRETXlRWEp5WVhrc1hHNGdJR282SUVsdWRETXlRWEp5WVhrZ2ZDQlZhVzUwTXpKQmNuSmhlU3hjYmlBZ1pHbHpkR0Z1WTJVNklFWnNiMkYwTXpKQmNuSmhlU3hjYmlBZ2FXUjRQem9nYm5WdFltVnlYRzU5TzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JMYm01U1pYTjFiSFFnUFNCN1hHNGdJR3R1YmtScGMzUmhibU5sY3pvZ2JuVnRZbVZ5VzExYlhTeGNiaUFnYTI1dVNXNWtaWGhsY3pvZ2JuVnRZbVZ5VzExYlhWeHVmVnh1Wlhod2IzSjBJR05zWVhOeklGTndZWEp6WlUxaGRISnBlRk5sY25acFkyVWdlMXh1SUNBZ0lIQnlhWFpoZEdVZ1gzZHZjbXRsY2tOdmRXNTBPaUJ1ZFcxaVpYSTdYRzRnSUNBZ1kyOXVjM1J5ZFdOMGIzSW9LU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ0E5SUUxaGRHZ3ViV0Y0S0c1aGRtbG5ZWFJ2Y2k1b1lYSmtkMkZ5WlVOdmJtTjFjbkpsYm1ONUlDMGdNaXdnTVNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJR0Z6ZVc1aklHTmhiR05OZFd4MGFVTnZiSFZ0YmloMllXeDFaWE02SUVGeWNtRjVQR0Z1ZVZ0ZFBpd2dabTVPWVcxbGN6b2dTMjV2ZDI1TlpYUnlhV056VzEwc1hHNGdJQ0FnSUNCMGFISmxjMmh2YkdRNklHNTFiV0psY2l3Z2IzQjBjem9nZTF0Zk9pQnpkSEpwYm1kZE9pQmhibmw5VzEwZ1BTQmJlMzFkTENCM1pXbG5hSFJ6T2lCdWRXMWlaWEpiWFNBOUlGc3hYU3hjYmlBZ0lDQWdJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtPaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtJRDBnUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaSE11UlZWRFRFbEVSVUZPWEc0Z0lDQWdLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnRZWFJUYVhwbElEMGdkbUZzZFdWeld6QmRMbXhsYm1kMGFDQXFJQ2gyWVd4MVpYTmJNRjB1YkdWdVozUm9JQzBnTVNrZ0x5QXlPMXh1SUNBZ0lDQWdZMjl1YzNRZ1kyaDFibXRUYVhwbElEMGdUV0YwYUM1bWJHOXZjaWh0WVhSVGFYcGxJQzhnZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0J0YVc1VWFISmxjMmh2YkdRZ1BTQjJZV3gxWlhOYk1GMHViR1Z1WjNSb0lENGdNakJmTURBd0lEOWNiaUFnSUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTVuWlhSTmFXNXBiV0ZzVkdoeVpYTm9iMnhrS0haaGJIVmxjeXdnWm01T1lXMWxjeXdnYjNCMGN5d2dkMlZwWjJoMGN5d2dZV2RuY21WbllYUnBiMjVOWlhSb2IyUXBJRG9nTUR0Y2JpQWdJQ0FnSUdsbUlDaDBhSEpsYzJodmJHUWdQQ0J0YVc1VWFISmxjMmh2YkdRcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzI5c1pTNXNiMmNvWUhWemFXNW5JSFJvY21WemFHOXNaQ0FrZTIxcGJsUm9jbVZ6YUc5c1pIMWdLVHRjYmlBZ0lDQWdJQ0FnZEdoeVpYTm9iMnhrSUQwZ2JXbHVWR2h5WlhOb2IyeGtPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdiM0IwY3k1bWIzSkZZV05vS0NoZkxDQnBLU0E5UGlCdmNIUnpXMmxkV3lkMGFISmxjMmh2YkdRblhTQTlJSFJvY21WemFHOXNaQ2s3WEc0Z0lDQWdJQ0JqYjI1emRDQndjbTl0YVhObGN5QTlYRzRnSUNBZ0lDQWdJRzVsZHlCQmNuSmhlVHhRY205dGFYTmxQRk53WVhKelpVMWhkSEpwZUZKbGMzVnNkRDQrS0hSb2FYTXVYM2R2Y210bGNrTnZkVzUwS1R0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnZDI5eWEyVnljeUE5SUc1bGR5QkJjbkpoZVNoMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENsY2JpQWdJQ0FnSUNBZ0xtWnBiR3dvYm5Wc2JDa3ViV0Z3S0NncElEMCtJRzVsZHlCWGIzSnJaWElvYm1WM0lGVlNUQ2duTGk5emNHRnljMlV0YldGMGNtbDRMWGR2Y210bGNpY3NJR2x0Y0c5eWRDNXRaWFJoTG5WeWJDa3BLVHRjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR2xrZUNBOUlEQTdJR2xrZUNBOElIUm9hWE11WDNkdmNtdGxja052ZFc1ME95QnBaSGdyS3lrZ2UxeHVJQ0FnSUNBZ0lDQndjbTl0YVhObGMxdHBaSGhkSUQwZ2JtVjNJRkJ5YjIxcGMyVW9LSEpsYzI5c2RtVlhiM0pyWlhJc0lISmxhbVZqZEZkdmNtdGxjaWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElITjBZWEowU1dSNElEMGdhV1I0SUNvZ1kyaDFibXRUYVhwbE8xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHVnVaRWxrZUNBOUlHbGtlQ0E5UFQwZ2RHaHBjeTVmZDI5eWEyVnlRMjkxYm5RZ0xTQXhJRDhnYldGMFUybDZaU0E2SUNocFpIZ2dLeUF4S1NBcUlHTm9kVzVyVTJsNlpUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1pXNWtTV1I0SUR3OUlITjBZWEowU1dSNEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WemIyeDJaVmR2Y210bGNpaDdhVG9nYm1WM0lFbHVkRE15UVhKeVlYa29NQ2tzSUdvNklHNWxkeUJKYm5Rek1rRnljbUY1S0RBcExDQmthWE4wWVc1alpUb2dibVYzSUVac2IyRjBNekpCY25KaGVTZ3dLU3dnYVdSNGZTazdYRzRnSUNBZ0lDQWdJQ0FnZDI5eWEyVnljMXRwWkhoZExuQnZjM1JOWlhOellXZGxLSHQyWVd4MVpYTXNJSE4wWVhKMFNXUjRMQ0JsYm1SSlpIZ3NJSFJvY21WemFHOXNaQ3dnWm01T1lXMWxjeXdnYjNCMGN5d2dkMlZwWjJoMGN5d2dZV2RuY21WbllYUnBiMjVOWlhSb2IyUjlLVHRjYmlBZ0lDQWdJQ0FnSUNCM2IzSnJaWEp6VzJsa2VGMHViMjV0WlhOellXZGxJRDBnS0h0a1lYUmhPaUI3WlhKeWIzSXNJR2tzSUdvc0lHUnBjM1JoYm1ObGZYMHBPaUIyYjJsa0lEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjNiM0pyWlhKelcybGtlRjB1ZEdWeWJXbHVZWFJsS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGFtVmpkRmR2Y210bGNpaGxjbkp2Y2lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjNiM0pyWlhKelcybGtlRjB1ZEdWeWJXbHVZWFJsS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMyOXNkbVZYYjNKclpYSW9lMmtzSUdvc0lHUnBjM1JoYm1ObExDQnBaSGg5S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWTI5dWMzUWdjbVZ6ZFd4MGN5QTlJR0YzWVdsMElGQnliMjFwYzJVdVlXeHNLSEJ5YjIxcGMyVnpLVHRjYmlBZ0lDQWdJR052Ym5OMElHWjFiR3hUYVhwbElEMGdjbVZ6ZFd4MGN5NXlaV1IxWTJVb0tHRmpZeXdnZG1Gc0tTQTlQaUJoWTJNZ0t5QjJZV3d1YVM1c1pXNW5kR2dzSURBcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYVNBOUlHNWxkeUJKYm5Rek1rRnljbUY1S0daMWJHeFRhWHBsS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJR29nUFNCdVpYY2dTVzUwTXpKQmNuSmhlU2htZFd4c1UybDZaU2s3WEc0Z0lDQWdJQ0JqYjI1emRDQmthWE4wWVc1alpTQTlJRzVsZHlCR2JHOWhkRE15UVhKeVlYa29ablZzYkZOcGVtVXBPMXh1SUNBZ0lDQWdiR1YwSUc5bVpuTmxkQ0E5SURBN1hHNGdJQ0FnSUNBdkx5QnpaWFIwYVc1bklIUm9aU0J5WlhOMWJIUnpYRzRnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJSEpsY3lCdlppQnlaWE4xYkhSektTQjdYRzRnSUNBZ0lDQWdJR2t1YzJWMEtISmxjeTVwTENCdlptWnpaWFFwTzF4dUlDQWdJQ0FnSUNCcUxuTmxkQ2h5WlhNdWFpd2diMlptYzJWMEtUdGNiaUFnSUNBZ0lDQWdaR2x6ZEdGdVkyVXVjMlYwS0hKbGN5NWthWE4wWVc1alpTd2diMlptYzJWMEtUdGNiaUFnSUNBZ0lDQWdiMlptYzJWMElDczlJSEpsY3k1cExteGxibWQwYUR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUI3YVN3Z2Fpd2daR2x6ZEdGdVkyVjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIQjFZbXhwWXlCaGMzbHVZeUJqWVd4alBGUStLSFpoYkhWbGN6b2dRWEp5WVhrOFZENHNJR1p1VG1GdFpUb2dTMjV2ZDI1TlpYUnlhV056TENCMGFISmxjMmh2YkdRNklHNTFiV0psY2l3Z2IzQjBjem9nZTF0Zk9pQnpkSEpwYm1kZE9pQmhibmw5SUQwZ2UzMHBJSHRjYmlBZ0lDQWdJQzh2YzJsNlpTQnZaaUJtZFd4c0lHMWhkSEpwZUZ4dUlDQWdJQ0FnY21WMGRYSnVJR0YzWVdsMElIUm9hWE11WTJGc1kwMTFiSFJwUTI5c2RXMXVLRnQyWVd4MVpYTmRMQ0JiWm01T1lXMWxYU3dnZEdoeVpYTm9iMnhrTENCYmIzQjBjMTBzSUZzeFhTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NIVmliR2xqSUdGemVXNWpJR2RsZEV0T1RpaGNiaUFnSUNBZ0lIWmhiSFZsY3pvZ1FYSnlZWGs4WVc1NVBpd2dabTVPWVcxbE9pQkxibTkzYmsxbGRISnBZM01zSUc1T1pXbG5hR0p2ZFhKek9pQnVkVzFpWlhJZ1BTQXhOU3dnYjNCMGN6b2dlMXRmT2lCemRISnBibWRkT2lCaGJubDlJRDBnZTMxY2JpQWdJQ0FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoZDJGcGRDQjBhR2x6TG0xMWJIUnBRMjlzZFcxdVMwNU9LRnQyWVd4MVpYTmRMQ0JiWm01T1lXMWxYU3dnYms1bGFXZG9ZbTkxY25Nc0lGdHZjSFJ6WFN3Z1d6RmRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndkV0pzYVdNZ1lYTjVibU1nWjJWMFZHaHlaWE5vYjJ4a1MwNU9LRnh1SUNBZ0lDQWdkbUZzZFdWek9pQkJjbkpoZVR4aGJuaytMQ0JtYms1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3l3Z2RHaHlaWE5vYjJ4a09pQnVkVzFpWlhJZ1BTQXdMamdzSUc5d2RITTZJSHRiWHpvZ2MzUnlhVzVuWFRvZ1lXNTVmU0E5SUh0OVhHNGdJQ0FnS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVhkaGFYUWdkR2hwY3k1dGRXeDBhVU52YkhWdGJsUm9jbVZ6YUc5c1pFdHViaWhiZG1Gc2RXVnpYU3dnVzJadVRtRnRaVjBzSUhSb2NtVnphRzlzWkN3Z1cyOXdkSE5kTENCYk1WMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIQjFZbXhwWXlCaGMzbHVZeUJ0ZFd4MGFVTnZiSFZ0YmxSb2NtVnphRzlzWkV0dWJpaDJZV3gxWlhNNklFRnljbUY1UEVGeWNtRjVQR0Z1ZVQ0K0xDQm1iazVoYldWek9pQkxibTkzYmsxbGRISnBZM05iWFN3Z2RHaHlaWE5vYjJ4a09pQnVkVzFpWlhJZ1BTQXdMamdzWEc0Z0lDQWdJQ0J2Y0hSek9pQjdXMTg2SUhOMGNtbHVaMTA2SUdGdWVYMWJYU3dnZDJWcFoyaDBjem9nYm5WdFltVnlXMTBzWEc0Z0lDQWdJQ0JoWjJkeVpXZGhkR2x2YmsxbGRHaHZaRG9nUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaQ0E5SUVScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlJ6TGtWVlEweEpSRVZCVGx4dUlDQWdJQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tIWmhiSFZsY3k1c1pXNW5kR2dnSVQwOUlHWnVUbUZ0WlhNdWJHVnVaM1JvSUh4OElIWmhiSFZsY3k1c1pXNW5kR2dnSVQwOUlHOXdkSE11YkdWdVozUm9JSHg4SUhaaGJIVmxjeTVzWlc1bmRHZ2dJVDA5SUhkbGFXZG9kSE11YkdWdVozUm9LVnh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KM1poYkhWbGN5d2daR2x6ZEdGdVkyVWdablZ1WTNScGIyNXpMQ0J2Y0hScGIyNXpJR0Z1WkNCM1pXbG5hSFJ6SUdGeWNtRjVjeUJ6YUc5MWJHUWdhR0YyWlNCMGFHVWdjMkZ0WlNCc1pXNW5kR2duS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLSFpoYkhWbGN5NXpiMjFsS0NoMktTQTlQaUIyTG14bGJtZDBhQ0FoUFQwZ2RtRnNkV1Z6V3pCZExteGxibWQwYUNrcFhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnbllXeHNJSFpoYkhWbGN5QmhjbkpoZVhNZ2MyaHZkV3hrSUdoaGRtVWdkR2hsSUhOaGJXVWdiR1Z1WjNSb0p5azdYRzVjYmlBZ0lDQWdJR052Ym5OMElHMWhkRk5wZW1VZ1BTQjJZV3gxWlhOYk1GMHViR1Z1WjNSb0lDb2dLSFpoYkhWbGMxc3dYUzVzWlc1bmRHZ2dMU0F4S1NBdklESTdYRzRnSUNBZ0lDQmpiMjV6ZENCamFIVnVhMU5wZW1VZ1BTQk5ZWFJvTG1ac2IyOXlLRzFoZEZOcGVtVWdMeUIwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ2s3WEc0Z0lDQWdJQ0JqYjI1emRDQndjbTl0YVhObGN5QTlYRzRnSUNBZ0lDQWdJRzVsZHlCQmNuSmhlVHhRY205dGFYTmxQRXR1YmxKbGMzVnNkRDQrS0hSb2FYTXVYM2R2Y210bGNrTnZkVzUwS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJSGR2Y210bGNuTWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwWEc0Z0lDQWdJQ0FnSUM1bWFXeHNLRzUxYkd3cExtMWhjQ2dvS1NBOVBpQnVaWGNnVjI5eWEyVnlLRzVsZHlCVlVrd29KeTR2YTI1dUxYUm9jbVZ6YUc5c1pDMTNiM0pyWlhJbkxDQnBiWEJ2Y25RdWJXVjBZUzUxY213cEtTazdYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnBaSGdnUFNBd095QnBaSGdnUENCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZERzZ2FXUjRLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NISnZiV2x6WlhOYmFXUjRYU0E5SUc1bGR5QlFjbTl0YVhObEtDaHlaWE52YkhabFYyOXlhMlZ5TENCeVpXcGxZM1JYYjNKclpYSXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCemRHRnlkRWxrZUNBOUlHbGtlQ0FxSUdOb2RXNXJVMmw2WlR0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCbGJtUkpaSGdnUFNCcFpIZ2dQVDA5SUhSb2FYTXVYM2R2Y210bGNrTnZkVzUwSUMwZ01TQS9JRzFoZEZOcGVtVWdPaUFvYVdSNElDc2dNU2tnS2lCamFIVnVhMU5wZW1VN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dWdVpFbGtlQ0E4UFNCemRHRnlkRWxrZUNsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVlhiM0pyWlhJb2UydHVia1JwYzNSaGJtTmxjem9nYm1WM0lFRnljbUY1S0RBcExDQnJibTVKYm1SbGVHVnpPaUJ1WlhjZ1FYSnlZWGtvTUNsOUtUdGNiaUFnSUNBZ0lDQWdJQ0IzYjNKclpYSnpXMmxrZUYwdWNHOXpkRTFsYzNOaFoyVW9lM1poYkhWbGN5d2djM1JoY25SSlpIZ3NJR1Z1WkVsa2VDd2dabTVPWVcxbGN5d2diM0IwY3l3Z2RHaHlaWE5vYjJ4a0xDQjNaV2xuYUhSekxDQmhaMmR5WldkaGRHbHZiazFsZEdodlpIMHBPMXh1SUNBZ0lDQWdJQ0FnSUhkdmNtdGxjbk5iYVdSNFhTNXZibTFsYzNOaFoyVWdQU0FvZTJSaGRHRTZJSHRsY25KdmNpd2dhMjV1UkdsemRHRnVZMlZ6TENCcmJtNUpibVJsZUdWemZYMHBPaUIyYjJsa0lEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjNiM0pyWlhKelcybGtlRjB1ZEdWeWJXbHVZWFJsS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGFtVmpkRmR2Y210bGNpaGxjbkp2Y2lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjNiM0pyWlhKelcybGtlRjB1ZEdWeWJXbHVZWFJsS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMyOXNkbVZYYjNKclpYSW9lMnR1YmtScGMzUmhibU5sY3l3Z2EyNXVTVzVrWlhobGMzMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTjFiSFJ6SUQwZ1lYZGhhWFFnVUhKdmJXbHpaUzVoYkd3b2NISnZiV2x6WlhNcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYTI1dVUybDZaWE1nUFNCdVpYY2dTVzUwTXpKQmNuSmhlU2gyWVd4MVpYTmJNRjB1YkdWdVozUm9LVHRjYmlBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnY21WeklHOW1JSEpsYzNWc2RITXBJSHRjYmlBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMllXeDFaWE5iTUYwdWJHVnVaM1JvT3lBcksya3BYRzRnSUNBZ0lDQWdJQ0FnYTI1dVUybDZaWE5iYVYwZ0t6MGdjbVZ6TG10dWJrbHVaR1Y0WlhOYmFWMC9MbXhsYm1kMGFDQS9QeUF3TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnWTI5dWMzUWdhMjV1VW1Wek9pQkxibTVTWlhOMWJIUWdQU0I3WEc0Z0lDQWdJQ0FnSUd0dWJrUnBjM1JoYm1ObGN6b2dibVYzSUVGeWNtRjVLSFpoYkhWbGMxc3dYUzVzWlc1bmRHZ3BMbVpwYkd3b2JuVnNiQ2t1YldGd0tDaGZMQ0JwS1NBOVBpQnVaWGNnUVhKeVlYazhiblZ0WW1WeVBpaHJibTVUYVhwbGMxdHBYU2twTEZ4dUlDQWdJQ0FnSUNCcmJtNUpibVJsZUdWek9pQnVaWGNnUVhKeVlYa29kbUZzZFdWeld6QmRMbXhsYm1kMGFDa3VabWxzYkNodWRXeHNLUzV0WVhBb0tGOHNJR2twSUQwK0lHNWxkeUJCY25KaGVUeHVkVzFpWlhJK0tHdHVibE5wZW1WelcybGRLU2w5TzF4dUlDQWdJQ0FnWm05eUlDaGpiMjV6ZENCeVpYTWdiMllnY21WemRXeDBjeWtnZTF4dUlDQWdJQ0FnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElIWmhiSFZsYzFzd1hTNXNaVzVuZEdnN0lDc3JhU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2djbVZ6TG10dWJrUnBjM1JoYm1ObGMxdHBYVDh1YkdWdVozUm9JRDgvSURBN0lDc3JhaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhMjV1VW1WekxtdHVia1JwYzNSaGJtTmxjMXRwWFZ0cmJtNVRhWHBsYzF0cFhTQXRJREZkSUQwZ2NtVnpMbXR1YmtScGMzUmhibU5sYzF0cFhWdHFYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHdHVibEpsY3k1cmJtNUpibVJsZUdWelcybGRXMnR1YmxOcGVtVnpXMmxkSUMwZ01WMGdQU0J5WlhNdWEyNXVTVzVrWlhobGMxdHBYVnRxWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3R1YmxOcGVtVnpXMmxkSUMwOUlERTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnYTI1dVVtVnpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIQjFZbXhwWXlCaGMzbHVZeUJ0ZFd4MGFVTnZiSFZ0Ymt0T1RpaDJZV3gxWlhNNklFRnljbUY1UEVGeWNtRjVQR0Z1ZVQ0K0xDQm1iazVoYldWek9pQkxibTkzYmsxbGRISnBZM05iWFN3Z2JrNWxhV2RvWW05MWNuTTZJRzUxYldKbGNpQTlJREUxTEZ4dUlDQWdJQ0FnYjNCMGN6b2dlMXRmT2lCemRISnBibWRkT2lCaGJubDlXMTBzSUhkbGFXZG9kSE02SUc1MWJXSmxjbHRkTEZ4dUlDQWdJQ0FnWVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlE2SUVScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFnUFNCRWFYTjBZVzVqWlVGblozSmxaMkYwYVc5dVRXVjBhRzlrY3k1RlZVTk1TVVJGUVU1Y2JpQWdJQ0FwSUh0Y2JpQWdJQ0FnSUdsbUlDaDJZV3gxWlhNdWJHVnVaM1JvSUNFOVBTQm1iazVoYldWekxteGxibWQwYUNCOGZDQjJZV3gxWlhNdWJHVnVaM1JvSUNFOVBTQnZjSFJ6TG14bGJtZDBhQ0I4ZkNCMllXeDFaWE11YkdWdVozUm9JQ0U5UFNCM1pXbG5hSFJ6TG14bGJtZDBhQ2xjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2QyWVd4MVpYTXNJR1JwYzNSaGJtTmxJR1oxYm1OMGFXOXVjeXdnYjNCMGFXOXVjeUJoYm1RZ2QyVnBaMmgwY3lCaGNuSmhlWE1nYzJodmRXeGtJR2hoZG1VZ2RHaGxJSE5oYldVZ2JHVnVaM1JvSnlrN1hHNWNiaUFnSUNBZ0lHbG1JQ2gyWVd4MVpYTXVjMjl0WlNnb2Rpa2dQVDRnZGk1c1pXNW5kR2dnSVQwOUlIWmhiSFZsYzFzd1hTNXNaVzVuZEdncEtWeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oyRnNiQ0IyWVd4MVpYTWdZWEp5WVhseklITm9iM1ZzWkNCb1lYWmxJSFJvWlNCellXMWxJR3hsYm1kMGFDY3BPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQnRZWFJUYVhwbElEMGdkbUZzZFdWeld6QmRMbXhsYm1kMGFDQXFJQ2gyWVd4MVpYTmJNRjB1YkdWdVozUm9JQzBnTVNrZ0x5QXlPMXh1SUNBZ0lDQWdZMjl1YzNRZ1kyaDFibXRUYVhwbElEMGdUV0YwYUM1bWJHOXZjaWh0WVhSVGFYcGxJQzhnZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTzF4dUlDQWdJQ0FnWTI5dWMzUWdjSEp2YldselpYTWdQVnh1SUNBZ0lDQWdJQ0J1WlhjZ1FYSnlZWGs4VUhKdmJXbHpaVHhMYm01U1pYTjFiSFErUGloMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENrN1hHNGdJQ0FnSUNCamIyNXpkQ0IzYjNKclpYSnpJRDBnYm1WM0lFRnljbUY1S0hSb2FYTXVYM2R2Y210bGNrTnZkVzUwS1Z4dUlDQWdJQ0FnSUNBdVptbHNiQ2h1ZFd4c0tTNXRZWEFvS0NrZ1BUNGdibVYzSUZkdmNtdGxjaWh1WlhjZ1ZWSk1LQ2N1TDJ0dWJpMTNiM0pyWlhJbkxDQnBiWEJ2Y25RdWJXVjBZUzUxY213cEtTazdYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnBaSGdnUFNBd095QnBaSGdnUENCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZERzZ2FXUjRLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NISnZiV2x6WlhOYmFXUjRYU0E5SUc1bGR5QlFjbTl0YVhObEtDaHlaWE52YkhabFYyOXlhMlZ5TENCeVpXcGxZM1JYYjNKclpYSXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCemRHRnlkRWxrZUNBOUlHbGtlQ0FxSUdOb2RXNXJVMmw2WlR0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCbGJtUkpaSGdnUFNCcFpIZ2dQVDA5SUhSb2FYTXVYM2R2Y210bGNrTnZkVzUwSUMwZ01TQS9JRzFoZEZOcGVtVWdPaUFvYVdSNElDc2dNU2tnS2lCamFIVnVhMU5wZW1VN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dWdVpFbGtlQ0E4UFNCemRHRnlkRWxrZUNsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVlhiM0pyWlhJb2UydHVia1JwYzNSaGJtTmxjem9nYm1WM0lFRnljbUY1S0RBcExDQnJibTVKYm1SbGVHVnpPaUJ1WlhjZ1FYSnlZWGtvTUNsOUtUdGNiaUFnSUNBZ0lDQWdJQ0IzYjNKclpYSnpXMmxrZUYwdWNHOXpkRTFsYzNOaFoyVW9lM1poYkhWbGN5d2djM1JoY25SSlpIZ3NJR1Z1WkVsa2VDd2dabTVPWVcxbGN5d2diM0IwY3l3Z2JrNWxhV2RvWW05MWNuTXNJSGRsYVdkb2RITXNJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtmU2s3WEc0Z0lDQWdJQ0FnSUNBZ2QyOXlhMlZ5YzF0cFpIaGRMbTl1YldWemMyRm5aU0E5SUNoN1pHRjBZVG9nZTJWeWNtOXlMQ0JyYm01RWFYTjBZVzVqWlhNc0lHdHVia2x1WkdWNFpYTjlmU2s2SUhadmFXUWdQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1MFpYSnRhVzVoZEdVb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnFaV04wVjI5eWEyVnlLR1Z5Y205eUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1MFpYSnRhVzVoZEdVb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnpiMngyWlZkdmNtdGxjaWg3YTI1dVJHbHpkR0Z1WTJWekxDQnJibTVKYm1SbGVHVnpmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR052Ym5OMElISmxjM1ZzZEhNZ1BTQmhkMkZwZENCUWNtOXRhWE5sTG1Gc2JDaHdjbTl0YVhObGN5azdYRzRnSUNBZ0lDQmpiMjV6ZENCcmJtNVNaWE02SUV0dWJsSmxjM1ZzZENBOUlIdGNiaUFnSUNBZ0lDQWdhMjV1UkdsemRHRnVZMlZ6T2lCdVpYY2dRWEp5WVhrb2RtRnNkV1Z6V3pCZExteGxibWQwYUNrdVptbHNiQ2h1ZFd4c0tTNXRZWEFvS0NrZ1BUNGdibVYzSUVGeWNtRjVQRzUxYldKbGNqNG9iazVsYVdkb1ltOTFjbk1wTG1acGJHd29PVGs1T1RrcEtTeGNiaUFnSUNBZ0lDQWdhMjV1U1c1a1pYaGxjem9nYm1WM0lFRnljbUY1S0haaGJIVmxjMXN3WFM1c1pXNW5kR2dwTG1acGJHd29iblZzYkNrdWJXRndLQ2dwSUQwK0lHNWxkeUJCY25KaGVUeHVkVzFpWlhJK0tHNU9aV2xuYUdKdmRYSnpLUzVtYVd4c0tDMHhLU2w5TzF4dUlDQWdJQ0FnWm05eUlDaGpiMjV6ZENCeVpYTWdiMllnY21WemRXeDBjeWtnZTF4dUlDQWdJQ0FnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElIWmhiSFZsYzFzd1hTNXNaVzVuZEdnN0lDc3JhU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2djbVZ6TG10dWJrUnBjM1JoYm1ObGMxdHBYVDh1YkdWdVozUm9JRDgvSURBN0lDc3JhaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lHbHVjMlZ5ZEZOdFlXeHNaWElvYTI1dVVtVnpMbXR1YmtScGMzUmhibU5sYzF0cFhTd2dhMjV1VW1WekxtdHVia2x1WkdWNFpYTmJhVjBzSUhKbGN5NXJibTVFYVhOMFlXNWpaWE5iYVYxYmFsMHNJSEpsY3k1cmJtNUpibVJsZUdWelcybGRXMnBkS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUd0dWJsSmxjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndkV0pzYVdNZ1lYTjVibU1nWjJWMFUyRnRjR3hsUkdsemRHRnVZMlZ6S0haaGJIVmxjem9nUVhKeVlYazhZVzU1VzEwK0xGeHVJQ0FnSUNBZ1ptNU9ZVzFsY3pvZ1MyNXZkMjVOWlhSeWFXTnpXMTBzSUc5d2RITTZJSHRiWHpvZ2MzUnlhVzVuWFRvZ1lXNTVmVnRkSUQwZ1cxMHNJSGRsYVdkb2RITTZJRzUxYldKbGNsdGRMRnh1SUNBZ0lDQWdZV2RuY21WbllYUnBiMjVOWlhSb2IyUTZJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUWdQU0JFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtjeTVGVlVOTVNVUkZRVTRwT2lCUWNtOXRhWE5sUEVac2IyRjBNekpCY25KaGVUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2RHaHlaWE5vYjJ4a1YyOXlhMlZ5Y3lBOUlHNWxkeUJCY25KaGVTaDBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDa3VabWxzYkNodWRXeHNLVnh1SUNBZ0lDQWdJQ0F1YldGd0tDZ3BJRDArSUc1bGR5QlhiM0pyWlhJb2JtVjNJRlZTVENnbkxpOXpjR0Z5YzJVdGJXRjBjbWw0TFhSb2NtVnphRzlzWkMxM2IzSnJaWEluTENCcGJYQnZjblF1YldWMFlTNTFjbXdwS1NrN1hHNWNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFoZEZOcGVtVWdQU0IyWVd4MVpYTmJNRjB1YkdWdVozUm9JQ29nS0haaGJIVmxjMXN3WFM1c1pXNW5kR2dnTFNBeEtTQXZJREk3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR05vZFc1clUybDZaU0E5SUUxaGRHZ3VabXh2YjNJb2JXRjBVMmw2WlNBdklIUm9hWE11WDNkdmNtdGxja052ZFc1MEtUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JXRjRVMkZ0Y0d4bFUybDZaU0E5SURGZk1EQXdYekF3TUR0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYzJGdGNHeGxVMmx6WlNBOUlFMWhkR2d1YldGNEtFMWhkR2d1YldsdUtHMWhkRk5wZW1VZ0x5QXhNREF3TENCdFlYaFRZVzF3YkdWVGFYcGxLU3dnVFdGMGFDNXRhVzRvYldGMFUybDZaU3dnYldGNFUyRnRjR3hsVTJsNlpTa3BPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQjBaWE4wVTJWMFUybDZaVkJsY2xkdmNtdGxjaUE5SUUxaGRHZ3VabXh2YjNJb2MyRnRjR3hsVTJselpTQXZJSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkRkJ5YjIxcGMyVnpJRDBnYm1WM0lFRnljbUY1UEZCeWIyMXBjMlU4ZTJScGMzUmhibU5sT2lCR2JHOWhkRE15UVhKeVlYbDlQajRvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTzF4dVhHNGdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHbGtlQ0E5SURBN0lHbGtlQ0E4SUhSb2FYTXVYM2R2Y210bGNrTnZkVzUwT3lCcFpIZ3JLeWtnZTF4dUlDQWdJQ0FnSUNBZ0lIUlFjbTl0YVhObGMxdHBaSGhkSUQwZ2JtVjNJRkJ5YjIxcGMyVW9LSEpsYzI5c2RtVlhiM0pyWlhJc0lISmxhbVZqZEZkdmNtdGxjaWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjM1JoY25SSlpIZ2dQU0JwWkhnZ0tpQmphSFZ1YTFOcGVtVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JsYm1SSlpIZ2dQU0JwWkhnZ1BUMDlJSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBJQzBnTVNBL0lHMWhkRk5wZW1VZ09pQW9hV1I0SUNzZ01Ta2dLaUJqYUhWdWExTnBlbVU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEpsYzJodmJHUlhiM0pyWlhKelcybGtlRjB1Y0c5emRFMWxjM05oWjJVb2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllXeDFaWE02SUhaaGJIVmxjeXdnYzNSaGNuUkpaSGdzSUdWdVpFbGtlQ3dnYzJGdGNHeGxUR1Z1WjNSb09pQjBaWE4wVTJWMFUybDZaVkJsY2xkdmNtdGxjaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdabTVPWVcxbGN5d2diM0IwY3l3Z2QyVnBaMmgwY3l3Z1lXZG5jbVZuWVhScGIyNU5aWFJvYjJSY2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2h5WlhOb2IyeGtWMjl5YTJWeWMxdHBaSGhkTG05dWJXVnpjMkZuWlNBOUlDaDdaR0YwWVRvZ2UyVnljbTl5TENCa2FYTjBZVzVqWlgxOUtUb2dkbTlwWkNBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9jbVZ6YUc5c1pGZHZjbXRsY25OYmFXUjRYUzUwWlhKdGFXNWhkR1VvS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHVnljbTl5S1NCeVpXcGxZM1JYYjNKclpYSW9aWEp5YjNJcE95QmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WemIyeDJaVmR2Y210bGNpaDdaR2x6ZEdGdVkyVjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQnlaWE4xYkhSeklEMGdZWGRoYVhRZ1VISnZiV2x6WlM1aGJHd29kRkJ5YjIxcGMyVnpLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdablZzYkZOcGVtVWdQU0J5WlhOMWJIUnpMbkpsWkhWalpTZ29ZV05qTENCMllXd3BJRDArSUdGall5QXJJSFpoYkM1a2FYTjBZVzVqWlM1c1pXNW5kR2dzSURBcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCa2FYTjBZVzVqWlNBOUlHNWxkeUJHYkc5aGRETXlRWEp5WVhrb1puVnNiRk5wZW1VcE8xeHVJQ0FnSUNBZ0lDQnNaWFFnYjJabWMyVjBJRDBnTUR0Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQnlaWE1nYjJZZ2NtVnpkV3gwY3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1JwYzNSaGJtTmxMbk5sZENoeVpYTXVaR2x6ZEdGdVkyVXNJRzltWm5ObGRDazdYRzRnSUNBZ0lDQWdJQ0FnYjJabWMyVjBJQ3M5SUhKbGN5NWthWE4wWVc1alpTNXNaVzVuZEdnN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdaR2x6ZEdGdVkyVXVjMjl5ZENncE8xeHVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmthWE4wWVc1alpUdGNiaUFnSUNBZ0lIMGdZMkYwWTJnZ0tHVXBJSHRjYmlBZ0lDQWdJQ0FnZEdoeVpYTm9iMnhrVjI5eWEyVnljejh1Wm05eVJXRmphQ2dvZHlrZ1BUNGdkejh1ZEdWeWJXbHVZWFJsS0NrcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExtVnljbTl5S0dVcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRVpzYjJGME16SkJjbkpoZVNneEtTNW1hV3hzS0RBdU5TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NISnBkbUYwWlNCaGMzbHVZeUJuWlhSTmFXNXBiV0ZzVkdoeVpYTm9iMnhrS0haaGJIVmxjem9nUVhKeVlYazhZVzU1VzEwK0xGeHVJQ0FnSUNBZ1ptNU9ZVzFsY3pvZ1MyNXZkMjVOWlhSeWFXTnpXMTBzSUc5d2RITTZJSHRiWHpvZ2MzUnlhVzVuWFRvZ1lXNTVmVnRkSUQwZ1cxMHNJSGRsYVdkb2RITTZJRzUxYldKbGNsdGRMRnh1SUNBZ0lDQWdZV2RuY21WbllYUnBiMjVOWlhSb2IyUTZJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUWdQU0JFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtjeTVGVlVOTVNVUkZRVTRwSUh0Y2JpQWdJQ0FnSUM4dlYyVWdibVZsWkNCMGJ5QmpZV3hqZFd4aGRHVWdkR2hsSUcxcGJtbHRZV3dnZEdoeVpYTm9iMnhrSUdacGNuTjBMRnh1SUNBZ0lDQWdMeTlwYmlCdmNtUmxjaUIwYnlCblpYUWdiV0YwY21sNElITjFZMmdnZEdoaGRDQnBkQ0JrYjJWeklHNXZkQ0JsZUdObFpXUWdkR2hsSUcxaGVHbHRkVzBnYzJsNlpTQnZaaUF4UjBKY2JpQWdJQ0FnSUM4dmQyVWdhR0YyWlNBeklISmxkSFZ5YmlCaGNuSmhlWE1zSUdWaFkyZ2dOQ0JpYVhSbGN5QndaWElnWld4bGJXVnVkQ3dnYzI4Z2FXWWdkR2hsSUcxaGVHbHRkVzBnYzJsNlpTQnZaaUIwYUdVZ2JXRjBjbWw0SUdseklERkhRaXhjYmlBZ0lDQWdJR052Ym5OMElHMWhlRk53WVhKelpVMWhkSEpwZUZOcGVtVWdQU0EzTUY4d01EQmZNREF3TzF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JXRjBVMmw2WlNBOUlIWmhiSFZsY3k1c1pXNW5kR2dnS2lBb2RtRnNkV1Z6TG14bGJtZDBhQ0F0SURFcElDOGdNanRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaR2x6ZEdGdVkyVWdQU0JoZDJGcGRDQjBhR2x6TG1kbGRGTmhiWEJzWlVScGMzUmhibU5sY3loMllXeDFaWE1zSUdadVRtRnRaWE1zSUc5d2RITXNJSGRsYVdkb2RITXNJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdabkpoWTNScGIyNUpibVJsZUNBOUlFMWhkR2d1Wm14dmIzSW9iV0Y0VTNCaGNuTmxUV0YwY21sNFUybDZaU0F2SUcxaGRGTnBlbVVnS2lCa2FYTjBZVzVqWlM1c1pXNW5kR2dwTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0IwYUhKbGMyaHZiR1FnUFNBeElDMGdaR2x6ZEdGdVkyVmJabkpoWTNScGIyNUpibVJsZUYwN1hHNGdJQ0FnSUNBZ0lDOHZJSFJvY21WemFHOXNaQ0E5SUUxaGRHZ3ViV0Y0S0hSb2NtVnphRzlzWkN3Z01DNHpLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvY21WemFHOXNaRHRjYmlBZ0lDQWdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjMjlzWlM1bGNuSnZjaWhsS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SURBdU5UdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCd2RXSnNhV01nYzNSaGRHbGpJR05oYkdOVGVXNWpQRlErS0Z4dUlDQWdJQ0FnZG1Gc2RXVnpPaUJCY25KaGVUeFVQaUI4SUVGeWNtRjVUR2xyWlR4VVBpd2dabTVPWVcxbE9pQkxibTkzYmsxbGRISnBZM01zSUdScGMzUmhibU5sUm00NklFWjFibU4wYVc5dUxDQjBhSEpsYzJodmJHUTZJRzUxYldKbGNseHVJQ0FnSUNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYVRvZ2JuVnRZbVZ5VzEwZ1BTQmJYVHRjYmlBZ0lDQWdJR052Ym5OMElHbzZJRzUxYldKbGNsdGRJRDBnVzEwN1hHNGdJQ0FnSUNCamIyNXpkQ0JrYVhOMFlXNWpaWE02SUc1MWJXSmxjbHRkSUQwZ1cxMDdYRzRnSUNBZ0lDQnNaWFFnWTI1MElEMGdNRHRjYmlBZ0lDQWdJR3hsZENCdGFTQTlJREE3WEc0Z0lDQWdJQ0JzWlhRZ2JXb2dQU0F3TzF4dUlDQWdJQ0FnWTI5dWMzUWdablZzYkZOcGVtVWdQU0IyWVd4MVpYTXViR1Z1WjNSb0lDb2dLSFpoYkhWbGN5NXNaVzVuZEdnZ0xTQXhLU0F2SURJN1hHNGdJQ0FnSUNCM2FHbHNaU0FvWTI1MElEd2dablZzYkZOcGVtVXBJSHRjYmlBZ0lDQWdJQ0FnTHk5amIyNXpkQ0IyWVd4MVpTQTlJSE5sY1RGTWFYTjBXMjFwWFNBbUppQnpaWEV4VEdsemRGdHRhbDBnUHlCb1lXMXRhVzVuS0hObGNURk1hWE4wVzIxcFhTd2djMlZ4TVV4cGMzUmJiV3BkS1NBNklEQTdYRzRnSUNBZ0lDQWdJR052Ym5OMElIWmhiSFZsSUQwZ0lXbHpUbWxzS0haaGJIVmxjMXR0YVYwcElDWW1JQ0ZwYzA1cGJDaDJZV3gxWlhOYmJXcGRLU0EvWEc0Z0lDQWdJQ0FnSUNBZ1pHbHpkR0Z1WTJWR2JpaDJZV3gxWlhOYmJXbGRMQ0IyWVd4MVpYTmJiV3BkS1NBNklERTdYRzRnSUNBZ0lDQWdJR052Ym5OMElITnBiV2xzWVhKcGRIa2dQU0F4SUMwZ2RtRnNkV1U3WEc0Z0lDQWdJQ0FnSUdsbUlDaHphVzFwYkdGeWFYUjVJRDQ5SUhSb2NtVnphRzlzWkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2t1Y0hWemFDaHRhU2s3WEc0Z0lDQWdJQ0FnSUNBZ2FpNXdkWE5vS0cxcUtUdGNiaUFnSUNBZ0lDQWdJQ0JrYVhOMFlXNWpaWE11Y0hWemFDaDJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdZMjUwS3lzN1hHNGdJQ0FnSUNBZ0lHMXFLeXM3WEc0Z0lDQWdJQ0FnSUdsbUlDaHRhaUE5UFQwZ2RtRnNkV1Z6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHMXBLeXM3WEc0Z0lDQWdJQ0FnSUNBZ2JXb2dQU0J0YVNBcklERTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWTI5dWMzUWdhVUZ5Y21GNUlEMGdibVYzSUVsdWRETXlRWEp5WVhrb2FTazdYRzRnSUNBZ0lDQmpiMjV6ZENCcVFYSnlZWGtnUFNCdVpYY2dTVzUwTXpKQmNuSmhlU2hxS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJR1JwYzNSaGJtTmxRWEp5WVhrZ1BTQnVaWGNnUm14dllYUXpNa0Z5Y21GNUtHUnBjM1JoYm1ObGN5azdYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQjdhVG9nYVVGeWNtRjVMQ0JxT2lCcVFYSnlZWGtzSUdScGMzUmhibU5sT2lCa2FYTjBZVzVqWlVGeWNtRjVmVHRjYmlBZ0lDQjlYRzU5WEc0aVhYMD0iLCJleHBvcnQgdmFyIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzO1xuKGZ1bmN0aW9uIChEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcykge1xuICAgIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzW1wiRVVDTElERUFOXCJdID0gXCJFVUNMSURFQU5cIjtcbiAgICBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kc1tcIk1BTkhBVFRBTlwiXSA9IFwiTUFOSEFUVEFOXCI7XG59KShEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyB8fCAoRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMgPSB7fSkpO1xuO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pYTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMGVYQmxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeE5RVUZOTEVOQlFVNHNTVUZCV1N3d1FrRkhWRHRCUVVoSUxGZEJRVmtzTUVKQlFUQkNPMGxCUTJ4RExIRkVRVUYxUWl4RFFVRkJPMGxCUTNaQ0xIRkVRVUYxUWl4RFFVRkJPMEZCUTNwQ0xFTkJRVU1zUlVGSVV5d3dRa0ZCTUVJc1MwRkJNVUlzTUVKQlFUQkNMRkZCUjI1RE8wRkJRVUVzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbVY0Y0c5eWRDQmxiblZ0SUVScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlJ6SUh0Y2JpQWdJQ0JGVlVOTVNVUkZRVTRnUFNBblJWVkRURWxFUlVGT0p5eGNiaUFnSUNCTlFVNUlRVlJVUVU0Z1BTQW5UVUZPU0VGVVZFRk9KeXhjYmlBZ2ZUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1JHbHpkR0Z1WTJWQloyZHlaV2RoZEdsdmJrMWxkR2h2WkNBOUlHdGxlVzltSUhSNWNHVnZaaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtjenRjYmlKZGZRPT0iXSwibmFtZXMiOlsiU3BhcnNlTWF0cml4U2VydmljZSIsImNvbnN0cnVjdG9yIiwidGhpcyIsIl93b3JrZXJDb3VudCIsIk1hdGgiLCJtYXgiLCJuYXZpZ2F0b3IiLCJoYXJkd2FyZUNvbmN1cnJlbmN5IiwiYXN5bmMiLCJ2YWx1ZXMiLCJmbk5hbWVzIiwidGhyZXNob2xkIiwib3B0cyIsIndlaWdodHMiLCJhZ2dyZWdhdGlvbk1ldGhvZCIsIm1hdFNpemUiLCJsZW5ndGgiLCJjaHVua1NpemUiLCJmbG9vciIsIm1pblRocmVzaG9sZCIsImdldE1pbmltYWxUaHJlc2hvbGQiLCJjb25zb2xlIiwibG9nIiwiZm9yRWFjaCIsIl8iLCJpIiwicHJvbWlzZXMiLCJBcnJheSIsIndvcmtlcnMiLCJmaWxsIiwibWFwIiwiV29ya2VyIiwiVVJMIiwiaWR4IiwiUHJvbWlzZSIsInJlc29sdmVXb3JrZXIiLCJyZWplY3RXb3JrZXIiLCJzdGFydElkeCIsImVuZElkeCIsIkludDMyQXJyYXkiLCJqIiwiZGlzdGFuY2UiLCJGbG9hdDMyQXJyYXkiLCJwb3N0TWVzc2FnZSIsIm9ubWVzc2FnZSIsImRhdGEiLCJlcnJvciIsInRlcm1pbmF0ZSIsInJlc3VsdHMiLCJhbGwiLCJmdWxsU2l6ZSIsInJlZHVjZSIsImFjYyIsInZhbCIsIm9mZnNldCIsInJlcyIsInNldCIsImZuTmFtZSIsImNhbGNNdWx0aUNvbHVtbiIsIm5OZWlnaGJvdXJzIiwibXVsdGlDb2x1bW5LTk4iLCJtdWx0aUNvbHVtblRocmVzaG9sZEtubiIsIkVycm9yIiwic29tZSIsInYiLCJrbm5EaXN0YW5jZXMiLCJrbm5JbmRleGVzIiwia25uU2l6ZXMiLCJrbm5SZXMiLCJ0aHJlc2hvbGRXb3JrZXJzIiwibWF4U2FtcGxlU2l6ZSIsInNhbXBsZVNpc2UiLCJtaW4iLCJ0ZXN0U2V0U2l6ZVBlcldvcmtlciIsInRQcm9taXNlcyIsInNhbXBsZUxlbmd0aCIsInNvcnQiLCJlIiwidyIsImdldFNhbXBsZURpc3RhbmNlcyIsInN0YXRpYyIsImRpc3RhbmNlRm4iLCJkaXN0YW5jZXMiLCJjbnQiLCJtaSIsIm1qIiwidmFsdWUiLCJwdXNoIiwiRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMiXSwic291cmNlUm9vdCI6IiJ9
package/dist/694.js CHANGED
@@ -1,2 +1,2 @@
1
- var eda;(()=>{"use strict";var e,r,t={7694:(e,r,t)=>{var o=t(4221);onmessage=function(e){return r=this,t=void 0,a=function*(){const r=new o.u(e.data.options).fit(e.data.data);postMessage({embeddings:r})},new((n=void 0)||(n=Promise))((function(e,o){function i(e){try{s(a.next(e))}catch(e){o(e)}}function c(e){try{s(a.throw(e))}catch(e){o(e)}}function s(r){var t;r.done?e(r.value):(t=r.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,c)}s((a=a.apply(r,t||[])).next())}));var r,t,n,a}}},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var a=o[e]={exports:{}};return t[e].call(a.exports,a,a.exports,n),a.exports}n.m=t,n.x=()=>{var e=n.O(void 0,[352,221],(()=>n(7694)));return n.O(e)},e=[],n.O=(r,t,o,a)=>{if(!t){var i=1/0;for(p=0;p<e.length;p++){for(var[t,o,a]=e[p],c=!0,s=0;s<t.length;s++)(!1&a||i>=a)&&Object.keys(n.O).every((e=>n.O[e](t[s])))?t.splice(s--,1):(c=!1,a<i&&(i=a));if(c){e.splice(p--,1);var u=o();void 0!==u&&(r=u)}}return r}a=a||0;for(var p=e.length;p>0&&e[p-1][2]>a;p--)e[p]=e[p-1];e[p]=[t,o,a]},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+".js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={694:1};n.f.i=(r,t)=>{e[r]||importScripts(n.p+n.u(r))};var r=self.webpackChunkeda=self.webpackChunkeda||[],t=r.push.bind(r);r.push=r=>{var[o,a,i]=r;for(var c in a)n.o(a,c)&&(n.m[c]=a[c]);for(i&&i(n);o.length;)e[o.pop()]=1;t(r)}})(),r=n.x,n.x=()=>Promise.all([n.e(352),n.e(221)]).then(r);var a=n.x();eda=a})();
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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VixJQURBLElBQUlELEVBQUlxQyxFQUFRcEMsT0FBUyxFQUNsQkQsR0FBSyxJQUFNK0IsR0FBV0EsRUFBWU0sRUFBUXJDLEtBQUtvQyxHQUV4RCxDQUlELElBQUtMLEVBQVcsTUFBTSxJQUFJUSxNQUFNLHlEQUNoQ1IsRUFBWUEsRUFBVVMsUUFBUSxPQUFRLElBQUlBLFFBQVEsUUFBUyxJQUFJQSxRQUFRLFlBQWEsS0FDcEZ6RCxFQUFvQjBELEVBQUlWLEMsV0NkeEIsSUFBSVcsRUFBa0IsQ0FDckIsSUFBSyxHQWdCTjNELEVBQW9CZ0MsRUFBRWYsRUFBSSxDQUFDZ0IsRUFBU0csS0FFL0J1QixFQUFnQjFCLElBRWxCZ0IsY0FBY2pELEVBQW9CMEQsRUFBSTFELEVBQW9CcUMsRUFBRUosR0FFOUQsRUFHRCxJQUFJMkIsRUFBcUJDLEtBQXNCLGdCQUFJQSxLQUFzQixpQkFBSyxHQUMxRUMsRUFBNkJGLEVBQW1CRyxLQUFLQyxLQUFLSixHQUM5REEsRUFBbUJHLEtBdkJDakYsSUFDbkIsSUFBSzhCLEVBQVVxRCxFQUFhQyxHQUFXcEYsRUFDdkMsSUFBSSxJQUFJbUIsS0FBWWdFLEVBQ2hCakUsRUFBb0I0QixFQUFFcUMsRUFBYWhFLEtBQ3JDRCxFQUFvQlEsRUFBRVAsR0FBWWdFLEVBQVloRSxJQUloRCxJQURHaUUsR0FBU0EsRUFBUWxFLEdBQ2RZLEVBQVNNLFFBQ2R5QyxFQUFnQi9DLEVBQVN1RCxPQUFTLEVBQ25DTCxFQUEyQmhGLEVBQUssQyxLVm5CN0JSLEVBQU8wQixFQUFvQlMsRUFDL0JULEVBQW9CUyxFQUFJLElBQ2hCdEIsUUFBUStDLElBQUksQ0FDbEJsQyxFQUFvQlAsRUFBRSxLQUN0Qk8sRUFBb0JQLEVBQUUsT0FDcEJJLEtBQUt2QixHV0pULElBQUlvQyxFQUFzQlYsRUFBb0JTLEkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2NodW5rIGxvYWRlZCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL3N0YXJ0dXAgY2h1bmsgZGVwZW5kZW5jaWVzIiwid2VicGFjazovL2VkYS8uL3NyYy93b3JrZXJzL3VtYXAtd29ya2VyLnRzIiwid2VicGFjazovL2VkYS93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvZW5zdXJlIGNodW5rIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvZ2V0IGphdmFzY3JpcHQgY2h1bmsgZmlsZW5hbWUiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9nbG9iYWwiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9wdWJsaWNQYXRoIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvaW1wb3J0U2NyaXB0cyBjaHVuayBsb2FkaW5nIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3N0YXJ0dXAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGRlZmVycmVkID0gW107XG5fX3dlYnBhY2tfcmVxdWlyZV9fLk8gPSAocmVzdWx0LCBjaHVua0lkcywgZm4sIHByaW9yaXR5KSA9PiB7XG5cdGlmKGNodW5rSWRzKSB7XG5cdFx0cHJpb3JpdHkgPSBwcmlvcml0eSB8fCAwO1xuXHRcdGZvcih2YXIgaSA9IGRlZmVycmVkLmxlbmd0aDsgaSA+IDAgJiYgZGVmZXJyZWRbaSAtIDFdWzJdID4gcHJpb3JpdHk7IGktLSkgZGVmZXJyZWRbaV0gPSBkZWZlcnJlZFtpIC0gMV07XG5cdFx0ZGVmZXJyZWRbaV0gPSBbY2h1bmtJZHMsIGZuLCBwcmlvcml0eV07XG5cdFx0cmV0dXJuO1xuXHR9XG5cdHZhciBub3RGdWxmaWxsZWQgPSBJbmZpbml0eTtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBkZWZlcnJlZC5sZW5ndGg7IGkrKykge1xuXHRcdHZhciBbY2h1bmtJZHMsIGZuLCBwcmlvcml0eV0gPSBkZWZlcnJlZFtpXTtcblx0XHR2YXIgZnVsZmlsbGVkID0gdHJ1ZTtcblx0XHRmb3IgKHZhciBqID0gMDsgaiA8IGNodW5rSWRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRpZiAoKHByaW9yaXR5ICYgMSA9PT0gMCB8fCBub3RGdWxmaWxsZWQgPj0gcHJpb3JpdHkpICYmIE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uTykuZXZlcnkoKGtleSkgPT4gKF9fd2VicGFja19yZXF1aXJlX18uT1trZXldKGNodW5rSWRzW2pdKSkpKSB7XG5cdFx0XHRcdGNodW5rSWRzLnNwbGljZShqLS0sIDEpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0ZnVsZmlsbGVkID0gZmFsc2U7XG5cdFx0XHRcdGlmKHByaW9yaXR5IDwgbm90RnVsZmlsbGVkKSBub3RGdWxmaWxsZWQgPSBwcmlvcml0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYoZnVsZmlsbGVkKSB7XG5cdFx0XHRkZWZlcnJlZC5zcGxpY2UoaS0tLCAxKVxuXHRcdFx0dmFyIHIgPSBmbigpO1xuXHRcdFx0aWYgKHIgIT09IHVuZGVmaW5lZCkgcmVzdWx0ID0gcjtcblx0XHR9XG5cdH1cblx0cmV0dXJuIHJlc3VsdDtcbn07IiwidmFyIG5leHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLng7XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnggPSAoKSA9PiB7XG5cdHJldHVybiBQcm9taXNlLmFsbChbXG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5lKDM1MiksXG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5lKDIyMSlcblx0XSkudGhlbihuZXh0KTtcbn07IiwiLy8gV29ya2VyIGZvciB0aGUgbWV0aG9kIFVNQVBcbnZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IHsgVU1BUCB9IGZyb20gJ3VtYXAtanMnO1xub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IHVtYXAgPSBuZXcgVU1BUChldnQuZGF0YS5vcHRpb25zKTtcbiAgICAgICAgY29uc3QgZW1iZWRkaW5ncyA9IHVtYXAuZml0KGV2dC5kYXRhLmRhdGEpO1xuICAgICAgICBwb3N0TWVzc2FnZSh7ICdlbWJlZGRpbmdzJzogZW1iZWRkaW5ncyB9KTtcbiAgICB9KTtcbn07XG4iLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbl9fd2VicGFja19yZXF1aXJlX18ubSA9IF9fd2VicGFja19tb2R1bGVzX187XG5cbi8vIHRoZSBzdGFydHVwIGZ1bmN0aW9uXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnggPSAoKSA9PiB7XG5cdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuXHQvLyBUaGlzIGVudHJ5IG1vZHVsZSBkZXBlbmRzIG9uIG90aGVyIGxvYWRlZCBjaHVua3MgYW5kIGV4ZWN1dGlvbiBuZWVkIHRvIGJlIGRlbGF5ZWRcblx0dmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLk8odW5kZWZpbmVkLCBbMzUyLDIyMV0sICgpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fKDc2OTQpKSlcblx0X193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyhfX3dlYnBhY2tfZXhwb3J0c19fKTtcblx0cmV0dXJuIF9fd2VicGFja19leHBvcnRzX187XG59O1xuXG4iLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmYgPSB7fTtcbi8vIFRoaXMgZmlsZSBjb250YWlucyBvbmx5IHRoZSBlbnRyeSBjaHVuay5cbi8vIFRoZSBjaHVuayBsb2FkaW5nIGZ1bmN0aW9uIGZvciBhZGRpdGlvbmFsIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5lID0gKGNodW5rSWQpID0+IHtcblx0cmV0dXJuIFByb21pc2UuYWxsKE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uZikucmVkdWNlKChwcm9taXNlcywga2V5KSA9PiB7XG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5mW2tleV0oY2h1bmtJZCwgcHJvbWlzZXMpO1xuXHRcdHJldHVybiBwcm9taXNlcztcblx0fSwgW10pKTtcbn07IiwiLy8gVGhpcyBmdW5jdGlvbiBhbGxvdyB0byByZWZlcmVuY2UgYXN5bmMgY2h1bmtzIGFuZCBzaWJsaW5nIGNodW5rcyBmb3IgdGhlIGVudHJ5cG9pbnRcbl9fd2VicGFja19yZXF1aXJlX18udSA9IChjaHVua0lkKSA9PiB7XG5cdC8vIHJldHVybiB1cmwgZm9yIGZpbGVuYW1lcyBiYXNlZCBvbiB0ZW1wbGF0ZVxuXHRyZXR1cm4gXCJcIiArIGNodW5rSWQgKyBcIi5qc1wiO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmcgPSAoZnVuY3Rpb24oKSB7XG5cdGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybiBnbG9iYWxUaGlzO1xuXHR0cnkge1xuXHRcdHJldHVybiB0aGlzIHx8IG5ldyBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSByZXR1cm4gd2luZG93O1xuXHR9XG59KSgpOyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCJ2YXIgc2NyaXB0VXJsO1xuaWYgKF9fd2VicGFja19yZXF1aXJlX18uZy5pbXBvcnRTY3JpcHRzKSBzY3JpcHRVcmwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLmcubG9jYXRpb24gKyBcIlwiO1xudmFyIGRvY3VtZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmRvY3VtZW50O1xuaWYgKCFzY3JpcHRVcmwgJiYgZG9jdW1lbnQpIHtcblx0aWYgKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpXG5cdFx0c2NyaXB0VXJsID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM7XG5cdGlmICghc2NyaXB0VXJsKSB7XG5cdFx0dmFyIHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKTtcblx0XHRpZihzY3JpcHRzLmxlbmd0aCkge1xuXHRcdFx0dmFyIGkgPSBzY3JpcHRzLmxlbmd0aCAtIDE7XG5cdFx0XHR3aGlsZSAoaSA+IC0xICYmICFzY3JpcHRVcmwpIHNjcmlwdFVybCA9IHNjcmlwdHNbaS0tXS5zcmM7XG5cdFx0fVxuXHR9XG59XG4vLyBXaGVuIHN1cHBvcnRpbmcgYnJvd3NlcnMgd2hlcmUgYW4gYXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCB5b3UgbXVzdCBzcGVjaWZ5IGFuIG91dHB1dC5wdWJsaWNQYXRoIG1hbnVhbGx5IHZpYSBjb25maWd1cmF0aW9uXG4vLyBvciBwYXNzIGFuIGVtcHR5IHN0cmluZyAoXCJcIikgYW5kIHNldCB0aGUgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gdmFyaWFibGUgZnJvbSB5b3VyIGNvZGUgdG8gdXNlIHlvdXIgb3duIGxvZ2ljLlxuaWYgKCFzY3JpcHRVcmwpIHRocm93IG5ldyBFcnJvcihcIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyXCIpO1xuc2NyaXB0VXJsID0gc2NyaXB0VXJsLnJlcGxhY2UoLyMuKiQvLCBcIlwiKS5yZXBsYWNlKC9cXD8uKiQvLCBcIlwiKS5yZXBsYWNlKC9cXC9bXlxcL10rJC8sIFwiL1wiKTtcbl9fd2VicGFja19yZXF1aXJlX18ucCA9IHNjcmlwdFVybDsiLCIvLyBubyBiYXNlVVJJXG5cbi8vIG9iamVjdCB0byBzdG9yZSBsb2FkZWQgY2h1bmtzXG4vLyBcIjFcIiBtZWFucyBcImFscmVhZHkgbG9hZGVkXCJcbnZhciBpbnN0YWxsZWRDaHVua3MgPSB7XG5cdDY5NDogMVxufTtcblxuLy8gaW1wb3J0U2NyaXB0cyBjaHVuayBsb2FkaW5nXG52YXIgaW5zdGFsbENodW5rID0gKGRhdGEpID0+IHtcblx0dmFyIFtjaHVua0lkcywgbW9yZU1vZHVsZXMsIHJ1bnRpbWVdID0gZGF0YTtcblx0Zm9yKHZhciBtb2R1bGVJZCBpbiBtb3JlTW9kdWxlcykge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhtb3JlTW9kdWxlcywgbW9kdWxlSWQpKSB7XG5cdFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLm1bbW9kdWxlSWRdID0gbW9yZU1vZHVsZXNbbW9kdWxlSWRdO1xuXHRcdH1cblx0fVxuXHRpZihydW50aW1lKSBydW50aW1lKF9fd2VicGFja19yZXF1aXJlX18pO1xuXHR3aGlsZShjaHVua0lkcy5sZW5ndGgpXG5cdFx0aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRzLnBvcCgpXSA9IDE7XG5cdHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uKGRhdGEpO1xufTtcbl9fd2VicGFja19yZXF1aXJlX18uZi5pID0gKGNodW5rSWQsIHByb21pc2VzKSA9PiB7XG5cdC8vIFwiMVwiIGlzIHRoZSBzaWduYWwgZm9yIFwiYWxyZWFkeSBsb2FkZWRcIlxuXHRpZighaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdKSB7XG5cdFx0aWYodHJ1ZSkgeyAvLyBhbGwgY2h1bmtzIGhhdmUgSlNcblx0XHRcdGltcG9ydFNjcmlwdHMoX193ZWJwYWNrX3JlcXVpcmVfXy5wICsgX193ZWJwYWNrX3JlcXVpcmVfXy51KGNodW5rSWQpKTtcblx0XHR9XG5cdH1cbn07XG5cbnZhciBjaHVua0xvYWRpbmdHbG9iYWwgPSBzZWxmW1wid2VicGFja0NodW5rZWRhXCJdID0gc2VsZltcIndlYnBhY2tDaHVua2VkYVwiXSB8fCBbXTtcbnZhciBwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbiA9IGNodW5rTG9hZGluZ0dsb2JhbC5wdXNoLmJpbmQoY2h1bmtMb2FkaW5nR2xvYmFsKTtcbmNodW5rTG9hZGluZ0dsb2JhbC5wdXNoID0gaW5zdGFsbENodW5rO1xuXG4vLyBubyBITVJcblxuLy8gbm8gSE1SIG1hbmlmZXN0IiwiLy8gcnVuIHN0YXJ0dXBcbnZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy54KCk7XG4iXSwibmFtZXMiOlsiZGVmZXJyZWQiLCJuZXh0Iiwib25tZXNzYWdlIiwiZXZ0IiwidGhpc0FyZyIsInRoaXMiLCJfYXJndW1lbnRzIiwiZ2VuZXJhdG9yIiwiZW1iZWRkaW5ncyIsImRhdGEiLCJvcHRpb25zIiwiZml0IiwicG9zdE1lc3NhZ2UiLCJQIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJ2YWx1ZSIsInN0ZXAiLCJlIiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwiX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiY2FjaGVkTW9kdWxlIiwidW5kZWZpbmVkIiwiZXhwb3J0cyIsIm1vZHVsZSIsIl9fd2VicGFja19tb2R1bGVzX18iLCJjYWxsIiwibSIsIngiLCJfX3dlYnBhY2tfZXhwb3J0c19fIiwiTyIsImNodW5rSWRzIiwiZm4iLCJwcmlvcml0eSIsIm5vdEZ1bGZpbGxlZCIsIkluZmluaXR5IiwiaSIsImxlbmd0aCIsImoiLCJPYmplY3QiLCJrZXlzIiwiZXZlcnkiLCJrZXkiLCJzcGxpY2UiLCJyIiwiZCIsImRlZmluaXRpb24iLCJvIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZiIsImNodW5rSWQiLCJhbGwiLCJyZWR1Y2UiLCJwcm9taXNlcyIsInUiLCJnIiwiZ2xvYmFsVGhpcyIsIkZ1bmN0aW9uIiwid2luZG93Iiwib2JqIiwicHJvcCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiU3ltYm9sIiwidG9TdHJpbmdUYWciLCJzY3JpcHRVcmwiLCJpbXBvcnRTY3JpcHRzIiwibG9jYXRpb24iLCJkb2N1bWVudCIsImN1cnJlbnRTY3JpcHQiLCJzcmMiLCJzY3JpcHRzIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJFcnJvciIsInJlcGxhY2UiLCJwIiwiaW5zdGFsbGVkQ2h1bmtzIiwiY2h1bmtMb2FkaW5nR2xvYmFsIiwic2VsZiIsInBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uIiwicHVzaCIsImJpbmQiLCJtb3JlTW9kdWxlcyIsInJ1bnRpbWUiLCJwb3AiXSwic291cmNlUm9vdCI6IiJ9
1
+ var eda;(()=>{"use strict";var e,r,t={7694:(e,r,t)=>{var o=t(4221);onmessage=function(e){return r=this,t=void 0,a=function*(){const r=new o.u(e.data.options).fit(e.data.data);postMessage({embeddings:r})},new((n=void 0)||(n=Promise))((function(e,o){function i(e){try{s(a.next(e))}catch(e){o(e)}}function c(e){try{s(a.throw(e))}catch(e){o(e)}}function s(r){var t;r.done?e(r.value):(t=r.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,c)}s((a=a.apply(r,t||[])).next())}));var r,t,n,a}}},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var a=o[e]={exports:{}};return t[e].call(a.exports,a,a.exports,n),a.exports}n.m=t,n.x=()=>{var e=n.O(void 0,[972,221],(()=>n(7694)));return n.O(e)},e=[],n.O=(r,t,o,a)=>{if(!t){var i=1/0;for(p=0;p<e.length;p++){for(var[t,o,a]=e[p],c=!0,s=0;s<t.length;s++)(!1&a||i>=a)&&Object.keys(n.O).every((e=>n.O[e](t[s])))?t.splice(s--,1):(c=!1,a<i&&(i=a));if(c){e.splice(p--,1);var u=o();void 0!==u&&(r=u)}}return r}a=a||0;for(var p=e.length;p>0&&e[p-1][2]>a;p--)e[p]=e[p-1];e[p]=[t,o,a]},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+".js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={694:1};n.f.i=(r,t)=>{e[r]||importScripts(n.p+n.u(r))};var r=self.webpackChunkeda=self.webpackChunkeda||[],t=r.push.bind(r);r.push=r=>{var[o,a,i]=r;for(var c in a)n.o(a,c)&&(n.m[c]=a[c]);for(i&&i(n);o.length;)e[o.pop()]=1;t(r)}})(),r=n.x,n.x=()=>Promise.all([n.e(972),n.e(221)]).then(r);var a=n.x();eda=a})();
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,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VixJQURBLElBQUlELEVBQUlxQyxFQUFRcEMsT0FBUyxFQUNsQkQsR0FBSyxJQUFNK0IsR0FBV0EsRUFBWU0sRUFBUXJDLEtBQUtvQyxHQUV4RCxDQUlELElBQUtMLEVBQVcsTUFBTSxJQUFJUSxNQUFNLHlEQUNoQ1IsRUFBWUEsRUFBVVMsUUFBUSxPQUFRLElBQUlBLFFBQVEsUUFBUyxJQUFJQSxRQUFRLFlBQWEsS0FDcEZ6RCxFQUFvQjBELEVBQUlWLEMsV0NkeEIsSUFBSVcsRUFBa0IsQ0FDckIsSUFBSyxHQWdCTjNELEVBQW9CZ0MsRUFBRWYsRUFBSSxDQUFDZ0IsRUFBU0csS0FFL0J1QixFQUFnQjFCLElBRWxCZ0IsY0FBY2pELEVBQW9CMEQsRUFBSTFELEVBQW9CcUMsRUFBRUosR0FFOUQsRUFHRCxJQUFJMkIsRUFBcUJDLEtBQXNCLGdCQUFJQSxLQUFzQixpQkFBSyxHQUMxRUMsRUFBNkJGLEVBQW1CRyxLQUFLQyxLQUFLSixHQUM5REEsRUFBbUJHLEtBdkJDakYsSUFDbkIsSUFBSzhCLEVBQVVxRCxFQUFhQyxHQUFXcEYsRUFDdkMsSUFBSSxJQUFJbUIsS0FBWWdFLEVBQ2hCakUsRUFBb0I0QixFQUFFcUMsRUFBYWhFLEtBQ3JDRCxFQUFvQlEsRUFBRVAsR0FBWWdFLEVBQVloRSxJQUloRCxJQURHaUUsR0FBU0EsRUFBUWxFLEdBQ2RZLEVBQVNNLFFBQ2R5QyxFQUFnQi9DLEVBQVN1RCxPQUFTLEVBQ25DTCxFQUEyQmhGLEVBQUssQyxLVm5CN0JSLEVBQU8wQixFQUFvQlMsRUFDL0JULEVBQW9CUyxFQUFJLElBQ2hCdEIsUUFBUStDLElBQUksQ0FDbEJsQyxFQUFvQlAsRUFBRSxLQUN0Qk8sRUFBb0JQLEVBQUUsT0FDcEJJLEtBQUt2QixHV0pULElBQUlvQyxFQUFzQlYsRUFBb0JTLEkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2NodW5rIGxvYWRlZCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL3N0YXJ0dXAgY2h1bmsgZGVwZW5kZW5jaWVzIiwid2VicGFjazovL2VkYS8uL3NyYy93b3JrZXJzL3VtYXAtd29ya2VyLnRzIiwid2VicGFjazovL2VkYS93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvZW5zdXJlIGNodW5rIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvZ2V0IGphdmFzY3JpcHQgY2h1bmsgZmlsZW5hbWUiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9nbG9iYWwiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9wdWJsaWNQYXRoIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvaW1wb3J0U2NyaXB0cyBjaHVuayBsb2FkaW5nIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3N0YXJ0dXAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGRlZmVycmVkID0gW107XG5fX3dlYnBhY2tfcmVxdWlyZV9fLk8gPSAocmVzdWx0LCBjaHVua0lkcywgZm4sIHByaW9yaXR5KSA9PiB7XG5cdGlmKGNodW5rSWRzKSB7XG5cdFx0cHJpb3JpdHkgPSBwcmlvcml0eSB8fCAwO1xuXHRcdGZvcih2YXIgaSA9IGRlZmVycmVkLmxlbmd0aDsgaSA+IDAgJiYgZGVmZXJyZWRbaSAtIDFdWzJdID4gcHJpb3JpdHk7IGktLSkgZGVmZXJyZWRbaV0gPSBkZWZlcnJlZFtpIC0gMV07XG5cdFx0ZGVmZXJyZWRbaV0gPSBbY2h1bmtJZHMsIGZuLCBwcmlvcml0eV07XG5cdFx0cmV0dXJuO1xuXHR9XG5cdHZhciBub3RGdWxmaWxsZWQgPSBJbmZpbml0eTtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBkZWZlcnJlZC5sZW5ndGg7IGkrKykge1xuXHRcdHZhciBbY2h1bmtJZHMsIGZuLCBwcmlvcml0eV0gPSBkZWZlcnJlZFtpXTtcblx0XHR2YXIgZnVsZmlsbGVkID0gdHJ1ZTtcblx0XHRmb3IgKHZhciBqID0gMDsgaiA8IGNodW5rSWRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRpZiAoKHByaW9yaXR5ICYgMSA9PT0gMCB8fCBub3RGdWxmaWxsZWQgPj0gcHJpb3JpdHkpICYmIE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uTykuZXZlcnkoKGtleSkgPT4gKF9fd2VicGFja19yZXF1aXJlX18uT1trZXldKGNodW5rSWRzW2pdKSkpKSB7XG5cdFx0XHRcdGNodW5rSWRzLnNwbGljZShqLS0sIDEpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0ZnVsZmlsbGVkID0gZmFsc2U7XG5cdFx0XHRcdGlmKHByaW9yaXR5IDwgbm90RnVsZmlsbGVkKSBub3RGdWxmaWxsZWQgPSBwcmlvcml0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYoZnVsZmlsbGVkKSB7XG5cdFx0XHRkZWZlcnJlZC5zcGxpY2UoaS0tLCAxKVxuXHRcdFx0dmFyIHIgPSBmbigpO1xuXHRcdFx0aWYgKHIgIT09IHVuZGVmaW5lZCkgcmVzdWx0ID0gcjtcblx0XHR9XG5cdH1cblx0cmV0dXJuIHJlc3VsdDtcbn07IiwidmFyIG5leHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLng7XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnggPSAoKSA9PiB7XG5cdHJldHVybiBQcm9taXNlLmFsbChbXG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5lKDk3MiksXG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5lKDIyMSlcblx0XSkudGhlbihuZXh0KTtcbn07IiwiLy8gV29ya2VyIGZvciB0aGUgbWV0aG9kIFVNQVBcbnZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IHsgVU1BUCB9IGZyb20gJ3VtYXAtanMnO1xub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IHVtYXAgPSBuZXcgVU1BUChldnQuZGF0YS5vcHRpb25zKTtcbiAgICAgICAgY29uc3QgZW1iZWRkaW5ncyA9IHVtYXAuZml0KGV2dC5kYXRhLmRhdGEpO1xuICAgICAgICBwb3N0TWVzc2FnZSh7ICdlbWJlZGRpbmdzJzogZW1iZWRkaW5ncyB9KTtcbiAgICB9KTtcbn07XG4iLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbl9fd2VicGFja19yZXF1aXJlX18ubSA9IF9fd2VicGFja19tb2R1bGVzX187XG5cbi8vIHRoZSBzdGFydHVwIGZ1bmN0aW9uXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnggPSAoKSA9PiB7XG5cdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuXHQvLyBUaGlzIGVudHJ5IG1vZHVsZSBkZXBlbmRzIG9uIG90aGVyIGxvYWRlZCBjaHVua3MgYW5kIGV4ZWN1dGlvbiBuZWVkIHRvIGJlIGRlbGF5ZWRcblx0dmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLk8odW5kZWZpbmVkLCBbOTcyLDIyMV0sICgpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fKDc2OTQpKSlcblx0X193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyhfX3dlYnBhY2tfZXhwb3J0c19fKTtcblx0cmV0dXJuIF9fd2VicGFja19leHBvcnRzX187XG59O1xuXG4iLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmYgPSB7fTtcbi8vIFRoaXMgZmlsZSBjb250YWlucyBvbmx5IHRoZSBlbnRyeSBjaHVuay5cbi8vIFRoZSBjaHVuayBsb2FkaW5nIGZ1bmN0aW9uIGZvciBhZGRpdGlvbmFsIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5lID0gKGNodW5rSWQpID0+IHtcblx0cmV0dXJuIFByb21pc2UuYWxsKE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uZikucmVkdWNlKChwcm9taXNlcywga2V5KSA9PiB7XG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5mW2tleV0oY2h1bmtJZCwgcHJvbWlzZXMpO1xuXHRcdHJldHVybiBwcm9taXNlcztcblx0fSwgW10pKTtcbn07IiwiLy8gVGhpcyBmdW5jdGlvbiBhbGxvdyB0byByZWZlcmVuY2UgYXN5bmMgY2h1bmtzIGFuZCBzaWJsaW5nIGNodW5rcyBmb3IgdGhlIGVudHJ5cG9pbnRcbl9fd2VicGFja19yZXF1aXJlX18udSA9IChjaHVua0lkKSA9PiB7XG5cdC8vIHJldHVybiB1cmwgZm9yIGZpbGVuYW1lcyBiYXNlZCBvbiB0ZW1wbGF0ZVxuXHRyZXR1cm4gXCJcIiArIGNodW5rSWQgKyBcIi5qc1wiO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmcgPSAoZnVuY3Rpb24oKSB7XG5cdGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybiBnbG9iYWxUaGlzO1xuXHR0cnkge1xuXHRcdHJldHVybiB0aGlzIHx8IG5ldyBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSByZXR1cm4gd2luZG93O1xuXHR9XG59KSgpOyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCJ2YXIgc2NyaXB0VXJsO1xuaWYgKF9fd2VicGFja19yZXF1aXJlX18uZy5pbXBvcnRTY3JpcHRzKSBzY3JpcHRVcmwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLmcubG9jYXRpb24gKyBcIlwiO1xudmFyIGRvY3VtZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmRvY3VtZW50O1xuaWYgKCFzY3JpcHRVcmwgJiYgZG9jdW1lbnQpIHtcblx0aWYgKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpXG5cdFx0c2NyaXB0VXJsID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM7XG5cdGlmICghc2NyaXB0VXJsKSB7XG5cdFx0dmFyIHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKTtcblx0XHRpZihzY3JpcHRzLmxlbmd0aCkge1xuXHRcdFx0dmFyIGkgPSBzY3JpcHRzLmxlbmd0aCAtIDE7XG5cdFx0XHR3aGlsZSAoaSA+IC0xICYmICFzY3JpcHRVcmwpIHNjcmlwdFVybCA9IHNjcmlwdHNbaS0tXS5zcmM7XG5cdFx0fVxuXHR9XG59XG4vLyBXaGVuIHN1cHBvcnRpbmcgYnJvd3NlcnMgd2hlcmUgYW4gYXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCB5b3UgbXVzdCBzcGVjaWZ5IGFuIG91dHB1dC5wdWJsaWNQYXRoIG1hbnVhbGx5IHZpYSBjb25maWd1cmF0aW9uXG4vLyBvciBwYXNzIGFuIGVtcHR5IHN0cmluZyAoXCJcIikgYW5kIHNldCB0aGUgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gdmFyaWFibGUgZnJvbSB5b3VyIGNvZGUgdG8gdXNlIHlvdXIgb3duIGxvZ2ljLlxuaWYgKCFzY3JpcHRVcmwpIHRocm93IG5ldyBFcnJvcihcIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyXCIpO1xuc2NyaXB0VXJsID0gc2NyaXB0VXJsLnJlcGxhY2UoLyMuKiQvLCBcIlwiKS5yZXBsYWNlKC9cXD8uKiQvLCBcIlwiKS5yZXBsYWNlKC9cXC9bXlxcL10rJC8sIFwiL1wiKTtcbl9fd2VicGFja19yZXF1aXJlX18ucCA9IHNjcmlwdFVybDsiLCIvLyBubyBiYXNlVVJJXG5cbi8vIG9iamVjdCB0byBzdG9yZSBsb2FkZWQgY2h1bmtzXG4vLyBcIjFcIiBtZWFucyBcImFscmVhZHkgbG9hZGVkXCJcbnZhciBpbnN0YWxsZWRDaHVua3MgPSB7XG5cdDY5NDogMVxufTtcblxuLy8gaW1wb3J0U2NyaXB0cyBjaHVuayBsb2FkaW5nXG52YXIgaW5zdGFsbENodW5rID0gKGRhdGEpID0+IHtcblx0dmFyIFtjaHVua0lkcywgbW9yZU1vZHVsZXMsIHJ1bnRpbWVdID0gZGF0YTtcblx0Zm9yKHZhciBtb2R1bGVJZCBpbiBtb3JlTW9kdWxlcykge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhtb3JlTW9kdWxlcywgbW9kdWxlSWQpKSB7XG5cdFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLm1bbW9kdWxlSWRdID0gbW9yZU1vZHVsZXNbbW9kdWxlSWRdO1xuXHRcdH1cblx0fVxuXHRpZihydW50aW1lKSBydW50aW1lKF9fd2VicGFja19yZXF1aXJlX18pO1xuXHR3aGlsZShjaHVua0lkcy5sZW5ndGgpXG5cdFx0aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRzLnBvcCgpXSA9IDE7XG5cdHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uKGRhdGEpO1xufTtcbl9fd2VicGFja19yZXF1aXJlX18uZi5pID0gKGNodW5rSWQsIHByb21pc2VzKSA9PiB7XG5cdC8vIFwiMVwiIGlzIHRoZSBzaWduYWwgZm9yIFwiYWxyZWFkeSBsb2FkZWRcIlxuXHRpZighaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdKSB7XG5cdFx0aWYodHJ1ZSkgeyAvLyBhbGwgY2h1bmtzIGhhdmUgSlNcblx0XHRcdGltcG9ydFNjcmlwdHMoX193ZWJwYWNrX3JlcXVpcmVfXy5wICsgX193ZWJwYWNrX3JlcXVpcmVfXy51KGNodW5rSWQpKTtcblx0XHR9XG5cdH1cbn07XG5cbnZhciBjaHVua0xvYWRpbmdHbG9iYWwgPSBzZWxmW1wid2VicGFja0NodW5rZWRhXCJdID0gc2VsZltcIndlYnBhY2tDaHVua2VkYVwiXSB8fCBbXTtcbnZhciBwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbiA9IGNodW5rTG9hZGluZ0dsb2JhbC5wdXNoLmJpbmQoY2h1bmtMb2FkaW5nR2xvYmFsKTtcbmNodW5rTG9hZGluZ0dsb2JhbC5wdXNoID0gaW5zdGFsbENodW5rO1xuXG4vLyBubyBITVJcblxuLy8gbm8gSE1SIG1hbmlmZXN0IiwiLy8gcnVuIHN0YXJ0dXBcbnZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy54KCk7XG4iXSwibmFtZXMiOlsiZGVmZXJyZWQiLCJuZXh0Iiwib25tZXNzYWdlIiwiZXZ0IiwidGhpc0FyZyIsInRoaXMiLCJfYXJndW1lbnRzIiwiZ2VuZXJhdG9yIiwiZW1iZWRkaW5ncyIsImRhdGEiLCJvcHRpb25zIiwiZml0IiwicG9zdE1lc3NhZ2UiLCJQIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJ2YWx1ZSIsInN0ZXAiLCJlIiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwiX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiY2FjaGVkTW9kdWxlIiwidW5kZWZpbmVkIiwiZXhwb3J0cyIsIm1vZHVsZSIsIl9fd2VicGFja19tb2R1bGVzX18iLCJjYWxsIiwibSIsIngiLCJfX3dlYnBhY2tfZXhwb3J0c19fIiwiTyIsImNodW5rSWRzIiwiZm4iLCJwcmlvcml0eSIsIm5vdEZ1bGZpbGxlZCIsIkluZmluaXR5IiwiaSIsImxlbmd0aCIsImoiLCJPYmplY3QiLCJrZXlzIiwiZXZlcnkiLCJrZXkiLCJzcGxpY2UiLCJyIiwiZCIsImRlZmluaXRpb24iLCJvIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZiIsImNodW5rSWQiLCJhbGwiLCJyZWR1Y2UiLCJwcm9taXNlcyIsInUiLCJnIiwiZ2xvYmFsVGhpcyIsIkZ1bmN0aW9uIiwid2luZG93Iiwib2JqIiwicHJvcCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiU3ltYm9sIiwidG9TdHJpbmdUYWciLCJzY3JpcHRVcmwiLCJpbXBvcnRTY3JpcHRzIiwibG9jYXRpb24iLCJkb2N1bWVudCIsImN1cnJlbnRTY3JpcHQiLCJzcmMiLCJzY3JpcHRzIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJFcnJvciIsInJlcGxhY2UiLCJwIiwiaW5zdGFsbGVkQ2h1bmtzIiwiY2h1bmtMb2FkaW5nR2xvYmFsIiwic2VsZiIsInBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uIiwicHVzaCIsImJpbmQiLCJtb3JlTW9kdWxlcyIsInJ1bnRpbWUiLCJwb3AiXSwic291cmNlUm9vdCI6IiJ9